summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Cameron <brian.cameron@sun.com>2008-04-23 00:28:24 +0000
committerBrian Cameron <bcameron@src.gnome.org>2008-04-23 00:28:24 +0000
commit92935cfe5786b986b20b2a8e9c19857514df58b7 (patch)
tree79e47f2b644d1265ea68f14a85a161b385694dfd
parent8c2a63d68ff4e6dcd8ba3a0c48cd8a4c85e36e5d (diff)
downloadgdm-92935cfe5786b986b20b2a8e9c19857514df58b7.tar.gz
Fix the way Xsession is built so that distros can more easily add their
2008-04-22 Brian Cameron <brian.cameron@sun.com> * configure.ac, config/Xsession.in, config/Xsession.solaris, config/Xsession.common, config/Makefile.am: Fix the way Xsession is built so that distros can more easily add their own logic to the Xsession script. Move Solaris specific Xsession logic to the Xsession.solaris file. Get rid of logic to normalize LC_ variables since this was causing problems for some users, fixes bug #509141. svn path=/branches/gnome-2-20/; revision=6167
-rw-r--r--ChangeLog10
-rw-r--r--config/Makefile.am10
-rw-r--r--config/Xsession.common1
-rwxr-xr-xconfig/Xsession.in29
-rw-r--r--config/Xsession.solaris28
-rw-r--r--configure.ac3
6 files changed, 54 insertions, 27 deletions
diff --git a/ChangeLog b/ChangeLog
index 2aead30f..4da26e76 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-04-22 Brian Cameron <brian.cameron@sun.com>
+
+ * configure.ac, config/Xsession.in, config/Xsession.solaris,
+ config/Xsession.common, config/Makefile.am: Fix the way
+ Xsession is built so that distros can more easily add their
+ own logic to the Xsession script. Move Solaris specific
+ Xsession logic to the Xsession.solaris file. Get rid of
+ logic to normalize LC_ variables since this was causing
+ problems for some users, fixes bug #509141.
+
2008-04-11 Ray Strode <rstrode@redhat.com>
* gui/slave.c:
diff --git a/config/Makefile.am b/config/Makefile.am
index b156caef..2b597ad9 100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
@@ -24,6 +24,8 @@ EXTRA_DIST = \
CDE.desktop.in \
ssh.desktop.in.in \
Xsession.in \
+ Xsession.common \
+ Xsession.solaris \
gdm \
gdm-autologin \
locale.alias \
@@ -38,9 +40,17 @@ EXTRA_DIST = \
CLEANFILES = Xsession gdm.conf gdm.conf-custom default.desktop gnome.desktop CDE.desktop ssh.desktop Init PreSession PostSession gdmprefetchlist
+if OS_SOLARIS
+ DISTRO_XSESSION=$(srcdir)/Xsession.solaris
+else
+ DISTRO_XSESSION=$(srcdir)/Xsession.common
+endif
+
Xsession: $(srcdir)/Xsession.in
sed -e 's,[@]XSESSION_SHELL[@],$(XSESSION_SHELL),g' \
-e 's,[@]libexecdir[@],$(libexecdir),g' \
+ -e '/^# @DISTRO_XSESSION@/r $(DISTRO_XSESSION)' \
+ -e 's,[@]DISTRO_XSESSION[@],Distro configuration section,g' \
<$(srcdir)/Xsession.in >Xsession
gdm.conf: $(srcdir)/gdm.conf.in
diff --git a/config/Xsession.common b/config/Xsession.common
new file mode 100644
index 00000000..f78f0fd9
--- /dev/null
+++ b/config/Xsession.common
@@ -0,0 +1 @@
+# There are no common values between vendors.
diff --git a/config/Xsession.in b/config/Xsession.in
index b14eb046..7d693841 100755
--- a/config/Xsession.in
+++ b/config/Xsession.in
@@ -177,14 +177,6 @@ if [ -n "$GDM_LANG" ]; then
fi
fi
-# Normalize all LC_* settings to $LANG
-for var in "LC_ALL" "LC_CTYPE" "LC_NUMERIC" "LC_TIME" "LC_COLLATE" "LC_MONETARY" "LC_MESSAGES" \
- "LC_PAPER" "LC_NAME" "LC_ADDRESS" "LC_TELEPHONE" "LC_MEASUREMENT" "LC_IDENTIFICATION" ; do
- if eval "[ -n \"\$$var\" -a \"\$$var\" != \"\$LANG\" ]" ; then
- unset $var
- fi
-done
-
# run all system xinitrc shell scripts.
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for i in /etc/X11/xinit/xinitrc.d/* ; do
@@ -194,27 +186,10 @@ if [ -d /etc/X11/xinit/xinitrc.d ]; then
done
fi
+# @DISTRO_XSESSION@
#
-# To determine the character set used for filenames with
-# glib's g_filename_to/from_utf8() functions, we set the
-# environment variables G_FILENAME_ENCODING and G_BROKEN_FILENAMES.
-#
-# G_BROKEN_FILENAMES, when set, lets the functions take the
-# character set for the current locale for filename's encoding.
+# End of Distribution configuration section.
#
-# G_FILENAME_ENCODING, which is introduced to glib 2.3.x and later, may be
-# set to a comma-separated list of character set names.
-# The special token "@locale" is taken to mean the character set
-# for the current locale. The first character set from the list is taken
-# as the filename encoding.
-#
-# If G_FILENAME_ENCODING is not set, but G_BROKEN_FILENAMES is, the
-# character set of the current locale is taken as the filename encoding.
-
-G_BROKEN_FILENAMES=yes
-export G_BROKEN_FILENAMES
-# G_FILENAME_ENCODING=@locale
-# export G_FILENAME_ENCODING
#Startup Input methods (IIIM->XIM)
if [ -f /etc/iiim/xsession ]; then
diff --git a/config/Xsession.solaris b/config/Xsession.solaris
new file mode 100644
index 00000000..766e2a85
--- /dev/null
+++ b/config/Xsession.solaris
@@ -0,0 +1,28 @@
+#
+# To determine the character set used for filenames with
+# glib's g_filename_to/from_utf8() functions, we set the
+# environment variables G_FILENAME_ENCODING and G_BROKEN_FILENAMES.
+#
+# G_BROKEN_FILENAMES, when set, lets the functions take the
+# character set for the current locale for filename's encoding.
+#
+# G_FILENAME_ENCODING, which is introduced to glib 2.3.x and later, may be
+# set to a comma-separated list of character set names.
+# The special token "@locale" is taken to mean the character set
+# for the current locale. The first character set from the list is taken
+# as the filename encoding.
+#
+# If G_FILENAME_ENCODING is not set, but G_BROKEN_FILENAMES is, the
+# character set of the current locale is taken as the filename encoding.
+
+G_BROKEN_FILENAMES=yes
+export G_BROKEN_FILENAMES
+# G_FILENAME_ENCODING=@locale
+# export G_FILENAME_ENCODING
+
+export VTE_CJK_WIDTH=1
+
+if [ "x$LANG" = "xzh" ] ; then
+ export LANGUAGE=zh:zh_CN.EUC
+fi
+
diff --git a/configure.ac b/configure.ac
index 14026d23..60eb5263 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1079,6 +1079,7 @@ case "$host" in
HOST_UTMP_LINE_ATTACHED="/dev/dtlocal"
HOST_UTMP_LINE_REMOTE="/dev/dtremote"
HOST_UTMP_PSEUDO_DEVICE="true"
+ os_solaris=yes
;;
*freebsd*)
HOST_GDM_USER_PATH="/bin:/usr/bin"
@@ -1319,6 +1320,8 @@ fi
# Set configuration choices.
#
+AM_CONDITIONAL(OS_SOLARIS, test x$os_solaris = xyes)
+
AC_SUBST(HALT_COMMAND)
AC_DEFINE_UNQUOTED(HALT_COMMAND,"$HALT_COMMAND")
AC_SUBST(REBOOT_COMMAND)