summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--config/Makefile.am44
-rw-r--r--config/gdm.conf.in2
-rw-r--r--daemon/gdm.h2
-rw-r--r--docs/C/gdm.xml10
-rw-r--r--gdm.spec.in1
6 files changed, 50 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index 99d9aefd..953f9019 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+Mon Sep 22 15:01:41 2003 George Lebl <jirka@5z.com>
+
+ * daemon/gdm.h, config/gdm.conf.in: use $datadir/xsessions instead of
+ hardcoding /usr/share/xsessions
+
+ * config/Makefile.am: install gnome.desktop and CDE.desktop into the
+ datadir location as they're not config and this way we share them
+ with KDM, yay. They should be installed by respective owner
+ packages at some point though ...
+
+ * docs/C/gdm.xml: update a bit.
+
Mon Sep 22 13:55:50 2003 George Lebl <jirka@5z.com>
* gui/modules/dwellmouselistener.c: fix error handling / leaks
diff --git a/config/Makefile.am b/config/Makefile.am
index de611d7e..97ea835c 100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
@@ -1,8 +1,9 @@
-pixmapdir = $(datadIR)/pixmaps
+pixmapdir = $(datadir)/pixmaps
confdir = $(sysconfdir)/gdm
crossconfdir = $(sysconfdir)/dm
localedir = $(sysconfdir)/gdm
-sessdir = $(sysconfdir)/dm/Sessions
+bisessdir = $(sysconfdir)/dm/Sessions
+instsessdir = $(datadir)/xsessions
initdir = $(sysconfdir)/gdm/Init
authdir = $(localstatedir)/gdm
logdir = $(localstatedir)/log/gdm
@@ -62,29 +63,40 @@ install-data-hook: gdm.conf Xsession gnome.desktop default.desktop CDE.desktop D
fi
$(INSTALL_DATA) $(srcdir)/locale.alias $(DESTDIR)$(localedir)/locale.alias
- if test '!' -d $(DESTDIR)$(sessdir); then \
- $(mkinstalldirs) $(DESTDIR)$(sessdir); \
- chmod 755 $(DESTDIR)$(sessdir); \
+ if test '!' -d $(DESTDIR)$(bisessdir); then \
+ $(mkinstalldirs) $(DESTDIR)$(bisessdir); \
+ chmod 755 $(DESTDIR)$(bisessdir); \
fi
- -if test -f $(DESTDIR)$(sessdir)/Default.desktop; then \
- cp -f $(DESTDIR)$(sessdir)/Default.desktop $(DESTDIR)$(sessdir)/Default.orig; \
+ if test '!' -d $(DESTDIR)$(instsessdir); then \
+ $(mkinstalldirs) $(DESTDIR)$(instsessdir); \
+ chmod 755 $(DESTDIR)$(instsessdir); \
fi
- -if test -f $(DESTDIR)$(sessdir)/default.desktop; then \
- cp -f $(DESTDIR)$(sessdir)/default.desktop $(DESTDIR)$(sessdir)/default.orig; \
+
+ -if test -f $(DESTDIR)$(bisessdir)/Default.desktop; then \
+ cp -f $(DESTDIR)$(bisessdir)/Default.desktop $(DESTDIR)$(bisessdir)/Default.orig; \
+ fi
+ -if test -f $(DESTDIR)$(bisessdir)/default.desktop; then \
+ cp -f $(DESTDIR)$(bisessdir)/default.desktop $(DESTDIR)$(bisessdir)/default.orig; \
fi
- $(INSTALL_SCRIPT) default.desktop $(DESTDIR)$(sessdir)/default.desktop
+ $(INSTALL_SCRIPT) default.desktop $(DESTDIR)$(bisessdir)/default.desktop
- -if test -f $(DESTDIR)$(sessdir)/gnome.desktop; then \
- cp -f $(DESTDIR)$(sessdir)/gnome.desktop $(DESTDIR)$(sessdir)/gnome.orig; \
+ -if test -f $(DESTDIR)$(bisessdir)/gnome.desktop; then \
+ cp -f $(DESTDIR)$(bisessdir)/gnome.desktop $(DESTDIR)$(bisessdir)/gnome.orig; \
fi
- $(INSTALL_SCRIPT) gnome.desktop $(DESTDIR)$(sessdir)/gnome.desktop
+ -if test -f $(DESTDIR)$(instsessdir)/gnome.desktop; then \
+ cp -f $(DESTDIR)$(instsessdir)/gnome.desktop $(DESTDIR)$(instsessdir)/gnome.orig; \
+ fi
+ $(INSTALL_SCRIPT) gnome.desktop $(DESTDIR)$(instsessdir)/gnome.desktop
-if test -f /usr/dt/bin/Xsession; then \
- if test -f $(DESTDIR)$(sessdir)/CDE.desktop; then \
- cp -f $(DESTDIR)$(sessdir)/CDE.desktop $(DESTDIR)$(sessdir)/CDE.orig; \
+ if test -f $(DESTDIR)$(bisessdir)/CDE.desktop; then \
+ cp -f $(DESTDIR)$(bisessdir)/CDE.desktop $(DESTDIR)$(bisessdir)/CDE.orig; \
+ fi; \
+ if test -f $(DESTDIR)$(instsessdir)/CDE.desktop; then \
+ cp -f $(DESTDIR)$(instsessdir)/CDE.desktop $(DESTDIR)$(instsessdir)/CDE.orig; \
fi; \
- $(INSTALL_SCRIPT) CDE.desktop $(DESTDIR)$(sessdir)/CDE.desktop; \
+ $(INSTALL_SCRIPT) CDE.desktop $(DESTDIR)$(instsessdir)/CDE.desktop; \
fi
if test '!' -d $(DESTDIR)$(initdir); then \
diff --git a/config/gdm.conf.in b/config/gdm.conf.in
index 594641f0..d8a98d0a 100644
--- a/config/gdm.conf.in
+++ b/config/gdm.conf.in
@@ -104,7 +104,7 @@ BaseXsession=@EXPANDED_SYSCONFDIR@/gdm/Xsession
# This is a directory where .desktop files describing the sessions live
# It is really a PATH style variable since 2.4.4.2 to allow actual
# interoperability with KDM
-#SessionDesktopDir=/etc/X11/sessions/:@EXPANDED_SYSCONFDIR@/dm/Sessions/:/usr/share/xsessions/
+#SessionDesktopDir=/etc/X11/sessions/:@EXPANDED_SYSCONFDIR@/dm/Sessions/:@EXPANDED_DATADIR@/xsessions/
# This is the default .desktop session. One of the ones in SessionDesktopDir
#DefaultSession=gnome.desktop
# Better leave this blank and HOME will be used. You can use syntax ~/ below
diff --git a/daemon/gdm.h b/daemon/gdm.h
index 786fb148..7fe2a56a 100644
--- a/daemon/gdm.h
+++ b/daemon/gdm.h
@@ -145,7 +145,7 @@ enum {
#define GDM_KEY_REBOOT "daemon/RebootCommand=/usr/bin/reboot;/sbin/reboot;/sbin/shutdown -r now;/usr/sbin/shutdown -r now"
#define GDM_KEY_ROOTPATH "daemon/RootPath=/sbin:/usr/sbin:/bin:/usr/bin:" X_CONF_PATH ":" EXPANDED_BINDIR
#define GDM_KEY_SERVAUTH "daemon/ServAuthDir=" EXPANDED_AUTHDIR
-#define GDM_KEY_SESSDIR "daemon/SessionDesktopDir=/etc/X11/sessions/:" EXPANDED_SYSCONFDIR "/dm/Sessions/:/usr/share/xsessions/:/usr/share/X11/sessions/"
+#define GDM_KEY_SESSDIR "daemon/SessionDesktopDir=/etc/X11/sessions/:" EXPANDED_SYSCONFDIR "/dm/Sessions/:" EXPANDED_DATADIR "/xsessions/"
#define GDM_KEY_BASEXSESSION "daemon/BaseXsession=" EXPANDED_SYSCONFDIR "/gdm/Xsession"
#define GDM_KEY_DEFAULTSESSION "daemon/DefaultSession=gnome.desktop"
#define GDM_KEY_SUSPEND "daemon/SuspendCommand="
diff --git a/docs/C/gdm.xml b/docs/C/gdm.xml
index 18fe8f29..a07c002d 100644
--- a/docs/C/gdm.xml
+++ b/docs/C/gdm.xml
@@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY legal SYSTEM "legal.xml">
<!ENTITY version "2.4.4.2">
- <!ENTITY date "9/19/2003">
+ <!ENTITY date "9/22/2003">
]>
<article id="index" lang="en">
@@ -98,7 +98,9 @@
GDM is installed with <filename>--sysconfigdir=/etc/X11</filename>,
meaning any path to which we refer to as
<filename>&lt;etc&gt;/gdm/PreSession</filename> usually means
- <filename>/etc/X11/gdm/PreSession</filename>.
+ <filename>/etc/X11/gdm/PreSession</filename>. Note that for interoperability
+ it is recommended that you use a prefix of <filename>/usr</filename>
+ and a sysconfdir of <filename>/etc/X11</filename>.
</para>
</sect1>
@@ -788,7 +790,9 @@
read by KDM for common configuration. The <filename>&lt;etc&gt;/dm/Sessions/</filename>
directory will likely move in the future to reflect that it is
GDM specific and used only for the default configuration.
- Also the default setup will also read <filename>/usr/share/xsessions/</filename>
+ Also the default setup will also read <filename>&lt;share&gt;/xsessions/</filename>
+ (which should be <filename>/usr/share/xsessions/</filename> if you really
+ wish to cooperate with KDM)
where desktop packages can install their session files. The directories
under the <filename>/etc</filename> should be reserved for configuration.
This approach makes it easy for package management systems to install
diff --git a/gdm.spec.in b/gdm.spec.in
index c77f1a79..5478d56c 100644
--- a/gdm.spec.in
+++ b/gdm.spec.in
@@ -112,6 +112,7 @@ exit 0
%config %{sysconfdir}/X11/gdm
%config %{sysconfdir}/security/console.apps/*
%{_datadir}/pixmaps/*
+%{_datadir}/xsessions/*
%{_datadir}/gdm
%{_datadir}/applications/*
%{_datadir}/gnome/capplets/*