rpms/gdm/devel gdm-2.13.0.4-add-gnome-cflags.patch, NONE, 1.1 gdm-2.13.0.4-add-locale-header.patch, NONE, 1.1 gdm-2.13.0.4-add-ve-cflags.patch, NONE, 1.1 gdm-2.13.0.4-audit-login.patch, NONE, 1.1 gdm-2.13.0.4-change-defaults.patch, NONE, 1.1 gdm-2.13.0.4-fix-gdm-safe-restart-conf-path.patch, NONE, 1.1 gdm-2.13.0.4-fix-selinux-check.patch, NONE, 1.1 gdm-2.13.0.4-modularx.patch, NONE, 1.1 gdm-2.13.0.4-update-switchdesk-location.patch, NONE, 1.1 gdm.spec, 1.107, 1.108 gdm-2.8.0.2-change-defaults.patch, 1.2, NONE gdm-2.8.0.2-fix-selinux-check.patch, 1.4, NONE gdm-2.8.0.2-update-switchdesk-location.patch, 1.1, NONE gdm-2.8.0.4-audit-login.patch, 1.1, NONE gdm-2.8.0.4-clean-up-leaks.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Jan 9 10:07:00 UTC 2006


Author: rstrode

Update of /cvs/dist/rpms/gdm/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv23199

Modified Files:
	gdm.spec 
Added Files:
	gdm-2.13.0.4-add-gnome-cflags.patch 
	gdm-2.13.0.4-add-locale-header.patch 
	gdm-2.13.0.4-add-ve-cflags.patch 
	gdm-2.13.0.4-audit-login.patch 
	gdm-2.13.0.4-change-defaults.patch 
	gdm-2.13.0.4-fix-gdm-safe-restart-conf-path.patch 
	gdm-2.13.0.4-fix-selinux-check.patch 
	gdm-2.13.0.4-modularx.patch 
	gdm-2.13.0.4-update-switchdesk-location.patch 
Removed Files:
	gdm-2.8.0.2-change-defaults.patch 
	gdm-2.8.0.2-fix-selinux-check.patch 
	gdm-2.8.0.2-update-switchdesk-location.patch 
	gdm-2.8.0.4-audit-login.patch gdm-2.8.0.4-clean-up-leaks.patch 
Log Message:
- update to 2.13.0.4


gdm-2.13.0.4-add-gnome-cflags.patch:
 Makefile.am |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)

--- NEW FILE gdm-2.13.0.4-add-gnome-cflags.patch ---
--- gdm-2.13.0.4/gui/Makefile.am.add-ve-cflags	2005-12-20 21:22:37.000000000 -0500
+++ gdm-2.13.0.4/gui/Makefile.am	2006-01-09 00:45:29.000000000 -0500
@@ -16,7 +16,10 @@ INCLUDES = \
 	-I$(top_srcdir)/daemon				\
 	-I$(top_srcdir)/vicious-extensions		\
 	-DGNOMELOCALEDIR=\""$(datadir)/locale"\" 	\
-	$(GUI_CFLAGS)
+	$(GUI_CFLAGS)                                   \
+	$(VICIOUS_CFLAGS)                               \
+	$(LIBGNOME_CFLAGS)                              \
+	$(LIBGNOMEUI_CFLAGS)
 
 #
 #	-DG_DISABLE_DEPRECATED				\

gdm-2.13.0.4-add-locale-header.patch:
 gdm-dmx-reconnect-proxy.c |    2 ++
 1 files changed, 2 insertions(+)

--- NEW FILE gdm-2.13.0.4-add-locale-header.patch ---
--- gdm-2.13.0.4/utils/gdm-dmx-reconnect-proxy.c.add-locale-header	2006-01-09 00:49:41.000000000 -0500
+++ gdm-2.13.0.4/utils/gdm-dmx-reconnect-proxy.c	2006-01-09 00:50:33.000000000 -0500
@@ -20,6 +20,8 @@
 #include <config.h>
 
 #include <stdlib.h>
+
+#include <locale.h>
 #include <glib.h>
 #include <glib/gi18n.h>
 

gdm-2.13.0.4-add-ve-cflags.patch:
 Makefile.am |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

--- NEW FILE gdm-2.13.0.4-add-ve-cflags.patch ---
--- gdm-2.13.0.4/gui/Makefile.am.add-ve-cflags	2006-01-09 00:37:41.000000000 -0500
+++ gdm-2.13.0.4/gui/Makefile.am	2006-01-09 00:36:21.000000000 -0500
@@ -16,7 +16,8 @@ INCLUDES = \
 	-I$(top_srcdir)/daemon				\
 	-I$(top_srcdir)/vicious-extensions		\
 	-DGNOMELOCALEDIR=\""$(datadir)/locale"\" 	\
-	$(GUI_CFLAGS)
+	$(GUI_CFLAGS)                                   \
+	$(VICIOUS_CFLAGS)
 
 #
 #	-DG_DISABLE_DEPRECATED				\

gdm-2.13.0.4-audit-login.patch:
 configure.ac        |   22 ++++++++++++++++
 daemon/verify-pam.c |   70 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+)

--- NEW FILE gdm-2.13.0.4-audit-login.patch ---
--- gdm-2.13.0.4/daemon/verify-pam.c.audit-login	2005-12-21 23:50:43.000000000 -0500
+++ gdm-2.13.0.4/daemon/verify-pam.c	2006-01-08 23:41:38.000000000 -0500
@@ -47,6 +47,14 @@
 #include <bsm/adt_event.h>
 #endif	/* HAVE_ADT */
 
+#define  AU_FAILED 0
+#define  AU_SUCCESS 1
+#ifdef HAVE_LIBAUDIT
+#include <libaudit.h>
+#else
+#define log_to_audit_system(l,h,d,s)	do { ; } while (0)
+#endif
+
 /* Evil, but this way these things are passed to the child session */
 static pam_handle_t *pamh = NULL;
 
@@ -783,6 +791,53 @@ create_pamh (GdmDisplay *d,
 	return TRUE;
 }
 
+/**
+ * log_to_audit_system:
+ * @login: Name of user
+ * @hostname: Name of host machine
+ * @tty: Name of display 
+ * @success: 1 for success, 0 for failure
+ *
+ * Logs the success or failure of the login attempt with the linux kernel
+ * audit system. The intent is to capture failed events where the user
+ * fails authentication or otherwise is not permitted to login. There are
+ * many other places where pam could potentially fail and cause login to 
+ * fail, but these are system failures rather than the signs of an account
+ * being hacked.
+ *
+ * Returns nothing.
+ */
+
+#ifdef HAVE_LIBAUDIT
+static void 
+log_to_audit_system(const char *login,
+		const char *hostname,
+		const char *tty,
+		gboolean success)
+{
+	struct passwd *pw;
+	char buf[64];
+	int audit_fd;
+
+	audit_fd = audit_open();
+	if (login)
+		pw = getpwnam(login);
+	else {
+		login = "unknown";
+		pw = NULL;
+	}
+	if (pw) {
+		snprintf(buf, sizeof(buf), "uid=%d", pw->pw_uid);
+		audit_log_user_message(audit_fd, AUDIT_USER_LOGIN,
+			buf, hostname, NULL, tty, (int)success);
+	} else {
+		snprintf(buf, sizeof(buf), "acct=%s", login);
+		audit_log_user_message(audit_fd, AUDIT_USER_LOGIN,
+			buf, hostname, NULL, tty, (int)success);
+	}
+	close(audit_fd);
+}
+#endif
 
 /**
  * gdm_verify_user:
@@ -875,6 +930,9 @@ authenticate_again:
     /* Start authentication session */
     did_we_ask_for_password = FALSE;
     if ((pamerr = pam_authenticate (pamh, null_tok)) != PAM_SUCCESS) {
+	    /* Log the failed login attempt */
+	    log_to_audit_system(tmp_PAM_USER, d->hostname, display, AU_FAILED);
+
 	    if ( ! ve_string_empty (selected_user)) {
 		    pam_handle_t *tmp_pamh;
 
@@ -962,6 +1020,8 @@ authenticate_again:
 	  ( ! gdm_get_value_bool (GDM_KEY_ALLOW_REMOTE_ROOT) && ! local) ) &&
 	pwent != NULL &&
 	pwent->pw_uid == 0) {
+	    /* Log the failed login attempt */
+	    log_to_audit_system(login, d->hostname, display, AU_FAILED);
 	    gdm_error (_("Root login disallowed on display '%s'"),
 		       display);
 	    gdm_slave_greeter_ctl_no_ret (GDM_ERRBOX,
@@ -989,6 +1049,8 @@ authenticate_again:
 	break;
     case PAM_NEW_AUTHTOK_REQD :
 	if ((pamerr = pam_chauthtok (pamh, PAM_CHANGE_EXPIRED_AUTHTOK)) != PAM_SUCCESS) {
+	    /* Log the failed login attempt */
+	    log_to_audit_system(login, d->hostname, display, AU_FAILED);
 	    gdm_error (_("Authentication token change failed for user %s"), login);
 	    gdm_slave_greeter_ctl_no_ret (GDM_ERRBOX, 
 		    _("\nThe change of the authentication token failed. "
@@ -1006,18 +1068,24 @@ authenticate_again:
 #endif	/* HAVE_ADT */
         break;
     case PAM_ACCT_EXPIRED :
+	/* Log the failed login attempt */
+	log_to_audit_system(login, d->hostname, display, AU_FAILED);
 	gdm_error (_("User %s no longer permitted to access the system"), login);
 	gdm_slave_greeter_ctl_no_ret (GDM_ERRBOX, 
 		_("\nThe system administrator has disabled your account."));
 	error_msg_given = TRUE;
 	goto pamerr;
     case PAM_PERM_DENIED :
+	/* Log the failed login attempt */
+	log_to_audit_system(login, d->hostname, display, AU_FAILED);
 	gdm_error (_("User %s not permitted to gain access at this time"), login);
 	gdm_slave_greeter_ctl_no_ret (GDM_ERRBOX, 
 		_("\nThe system administrator has disabled access to the system temporarily."));
 	error_msg_given = TRUE;
 	goto pamerr;
     default :
+	/* Log the failed login attempt */
+	log_to_audit_system(login, d->hostname, display, AU_FAILED);
 	if (gdm_slave_action_pending ())
 	    gdm_error (_("Couldn't set acct. mgmt for %s"), login);
 	goto pamerr;
@@ -1069,6 +1137,8 @@ authenticate_again:
 		    gdm_error (_("Couldn't open session for %s"), login);
 	    goto pamerr;
     }
+    /* Login succeeded */
+    log_to_audit_system(login, d->hostname, display, AU_SUCCESS);
 
     /* Workaround to avoid gdm messages being logged as PAM_pwdb */
     closelog ();
--- gdm-2.13.0.4/configure.ac.audit-login	2006-01-02 07:52:23.000000000 -0500
+++ gdm-2.13.0.4/configure.ac	2006-01-08 23:37:16.000000000 -0500
@@ -72,6 +72,10 @@ AC_ARG_WITH(dmx,
 
 AC_ARG_WITH(selinux, [  --with-selinux  Add SELinux support])
 
+AC_ARG_WITH(libaudit,
+  [  --with-libaudit=[auto/yes/no]  Add Linux audit support [default=auto]],,
+  with_libaudit=auto)
+
 withval=""
 AC_ARG_WITH(post-path,
 [  --with-post-path=<PATH>   add PATH to end of user's PATH when logging in],[
@@ -888,6 +892,24 @@ else
    AC_MSG_RESULT(no)
 fi
 
+# Check for Linux auditing API
+#
+# libaudit detection
+if test x$with_libaudit = xno ; then
+    have_libaudit=no;
+else
+    # See if we have audit daemon library
+    AC_CHECK_LIB(audit, audit_log_user_message,
+                 have_libaudit=yes, have_libaudit=no)
+fi
+
+AM_CONDITIONAL(HAVE_LIBAUDIT, test x$have_libaudit = xyes)
+
+if test x$have_libaudit = xyes ; then
+    EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -laudit"
+    AC_DEFINE(HAVE_LIBAUDIT,1,[linux audit support])
+fi
+
 # Check for Solaris auditing API
 # Note, Solaris auditing not supported for Solaris 9 or earlier and
 # should not be used on these versions of Solaris if auditing is

gdm-2.13.0.4-change-defaults.patch:
 gdm.conf.in |   30 +++++++++++++++---------------
 1 files changed, 15 insertions(+), 15 deletions(-)

--- NEW FILE gdm-2.13.0.4-change-defaults.patch ---
--- gdm-2.13.0.4/config/gdm.conf.in.change-defaults	2005-12-20 21:22:36.000000000 -0500
+++ gdm-2.13.0.4/config/gdm.conf.in	2006-01-08 23:12:51.000000000 -0500
@@ -59,9 +59,9 @@ TimedLoginDelay=30
 # should leave this alone.
 #Chooser=@EXPANDED_LIBEXECDIR@/gdmchooser
 
-# The greeter for local (non-xdmcp) logins.  Change gdmlogin to gdmgreeter to
-# get the new graphical greeter.
-#Greeter=@EXPANDED_LIBEXECDIR@/gdmlogin
+# The greeter for local (non-xdmcp) logins.  Change gdmgreeter to gdmlogin to
+# get the boring greeter.
+Greeter=@EXPANDED_LIBEXECDIR@/gdmgreeter
 
 # The greeter for xdmcp logins, usually you want a less graphically intensive
 # greeter here so it's better to leave this with gdmlogin
@@ -78,11 +78,11 @@ TimedLoginDelay=30
 # Default path to set.  The profile scripts will likely override this value.
 # This value will be overridden with the value from /etc/default/login if it
 # contains "ROOT=<pathvalue>".
-#DefaultPath=@GDM_USER_PATH@
+DefaultPath=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin
 # Default path for root.  The profile scripts will likely override this value.
 # This value will be overridden with the value from /etc/default/login if it
 # contains "SUROOT=<pathvalue>".
-#RootPath=/sbin:/usr/sbin:@GDM_USER_PATH@
+RootPath=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
 
 # If you are having trouble with using a single server for a long time and want
 # GDM to kill/restart the server, turn this on.  On Solaris, this value is
@@ -116,8 +116,8 @@ DisplayInitDir=@EXPANDED_SYSCONFDIR@/gdm
 XKeepsCrashing=@EXPANDED_SYSCONFDIR@/gdm/XKeepsCrashing
 # Reboot, Halt and suspend commands, you can add different commands separated
 # by a semicolon.  GDM will use the first one it can find.
-#RebootCommand=@REBOOT_COMMAND@
-#HaltCommand=@HALT_COMMAND@
+RebootCommand=/sbin/reboot;/sbin/shutdown -r now;/usr/sbin/shutdown -r now;/usr/bin/reboot
+HaltCommand=/sbin/poweroff;/sbin/shutdown -h now;/usr/sbin/shutdown -h now;/usr/bin/poweroff
 #SuspendCommand=@SUSPEND_COMMAND@
 # Probably should not touch the below this is the standard setup.
 ServAuthDir=@EXPANDED_AUTHDIR@
@@ -131,7 +131,7 @@ BaseXsession=@EXPANDED_SYSCONFDIR@/gdm/X
 # compatibility reasons with 2.4.4.x.
 #SessionDesktopDir=/etc/X11/sessions/:@EXPANDED_SYSCONFDIR@/dm/Sessions/:@EXPANDED_DATADIR@/gdm/BuiltInSessions/:@EXPANDED_DATADIR@/xsessions/
 # This is the default .desktop session.  One of the ones in SessionDesktopDir
-#DefaultSession=gnome.desktop
+DefaultSession=default.desktop
 # Better leave this blank and HOME will be used.  You can use syntax ~/ below
 # to indicate home directory of the user.  You can also set this to something
 # like /tmp if you don't want the authorizations to be in home directories.
@@ -280,7 +280,7 @@ Enable=false
 #GtkRC=@EXPANDED_DATADIR@/themes/Default/gtk-2.0/gtkrc
 
 # The GTK+ theme to use for the GUI.
-#GtkTheme=Default
+GtkTheme=Clearlooks
 # If to allow changing the GTK+ (widget) theme from the greeter.  Currently
 # this only affects the standard greeter as the graphical greeter does not yet
 # have this ability.
@@ -297,7 +297,7 @@ Enable=false
 
 [greeter]
 # Greeter has a nice title bar that the user can move.
-#TitleBar=true
+TitleBar=false
 # Configuration is available from the system menu of the greeter.
 #ConfigAvailable=false
 # Face browser is enabled.  This only works currently for the standard greeter
@@ -308,7 +308,7 @@ Browser=false
 # User ID's less than the MinimalUID value will not be included in the face
 # browser or in the gdmselection list for Automatic/Timed login.  They will not
 # be displayed regardless of the settings for Include and Exclude.
-#MinimalUID=100
+MinimalUID=500
 # Users listed in Include will be included in the face browser and in the
 # gdmsetup selection list for Automatic/Timed login.  Users should be separated
 # by commas.
@@ -333,7 +333,7 @@ Browser=false
 # file, although GDM will be able to read a standard locale.alias file as well.
 #LocaleFile=@EXPANDED_LOCALEDIR@/locale.alias
 # Logo shown in the standard greeter.
-#Logo=@EXPANDED_PIXMAPDIR@/gdm-foot-logo.png
+Logo=
 # Logo shown on file chooser button in gdmsetup (do not modify this value).
 #ChooserButtonLogo=@EXPANDED_PIXMAPDIR@/gdm-foot-logo.png
 # The standard greeter should shake if a user entered the wrong username or
@@ -381,7 +381,7 @@ DefaultRemoteWelcome=true
 #BackgroundType=2
 #BackgroundImage=
 #BackgroundScaleToFit=true
-#BackgroundColor=#76848F
+BackgroundColor=#20305a
 # XDMCP session should only get a color, this is the sanest setting since you
 # don't want to take up too much bandwidth
 #BackgroundRemoteOnlyColor=true
@@ -394,7 +394,7 @@ DefaultRemoteWelcome=true
 # Show the Failsafe sessions.  These are much MUCH nicer (focus for xterm for
 # example) and more failsafe then those supplied by scripts so distros should
 # use this rather then just running an xterm from a script.
-#ShowGnomeFailsafeSession=true
+ShowGnomeFailsafeSession=false
 #ShowXtermFailsafeSession=true
 # Normally there is a session type called 'Last' that is shown which refers to
 # the last session the user used.  If off, we will be in 'switchdesk' mode
@@ -413,7 +413,7 @@ DefaultRemoteWelcome=true
 # list that is delimited by /: to the GraphicalThemes key and set
 # GraphicalThemeRand to true.  Otherwise use GraphicalTheme and specify just
 # one theme.
-#GraphicalTheme=circles
+GraphicalTheme=Bluecurve
 #GraphicalThemes=circles/:happygnome
 GraphicalThemeDir=@EXPANDED_DATADIR@/gdm/themes/
 GraphicalThemeRand=false

gdm-2.13.0.4-fix-gdm-safe-restart-conf-path.patch:
 gdm-safe-restart.in |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE gdm-2.13.0.4-fix-gdm-safe-restart-conf-path.patch ---
--- gdm-2.13.0.4/gdm-safe-restart.in.handle-new-custom-stuff	2006-01-09 04:34:28.000000000 -0500
+++ gdm-2.13.0.4/gdm-safe-restart.in	2006-01-09 04:35:16.000000000 -0500
@@ -1,5 +1,5 @@
 #!/bin/sh
-PIDFILE=`grep '^PidFile=' @EXPANDED_SYSCONFDIR@/gdm/gdm.conf | sed -e 's/^PidFile=//'`
+PIDFILE=`grep '^PidFile=' @GDM_CONFIGDIR@/gdm.conf | sed -e 's/^PidFile=//'`
 if test x$PIDFILE = x ; then
 	echo "Can't find the PID file in the configuration file, going to try:"
 	echo "/var/run/gdm.pid"

gdm-2.13.0.4-fix-selinux-check.patch:
 slave.c |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

--- NEW FILE gdm-2.13.0.4-fix-selinux-check.patch ---
--- gdm-2.13.0.4/daemon/slave.c.fix-selinux-check	2005-12-24 21:30:14.000000000 -0500
+++ gdm-2.13.0.4/daemon/slave.c	2006-01-08 23:17:01.000000000 -0500
@@ -3266,17 +3266,23 @@ static gboolean
 gdm_selinux_setup (const char *login)
 {
 	security_context_t scontext;
-
+	int ret=-1;
+	char *seuser=NULL;
+	char *level=NULL;
+ 
 	/* If selinux is not enabled, then we don't do anything */
-	if ( ! is_selinux_enabled ())
+	if (is_selinux_enabled () <= 0)
 		return TRUE;
 
-	if (get_default_context ((char*) login,0, &scontext) < 0) {
+	if (getseuserbyname(login, &seuser, &level) == 0)
+		ret=get_default_context_with_level(seuser, level, 0, &scontext);
+
+	if (ret < 0) {
 		gdm_error ("SELinux gdm login: unable to obtain default security context for %s.", login);
 		/* note that this will be run when the .xsession-errors
 		   is already being logged, so we can use stderr */
 		gdm_fdprintf (2, "SELinux gdm login: unable to obtain default security context for %s.", login);
-		return FALSE;
+ 		return (security_getenforce()==0);
 	}
 
 	gdm_assert (scontext != NULL);
@@ -3286,7 +3292,8 @@ gdm_selinux_setup (const char *login)
 			  (char *)scontext);
 		gdm_fdprintf (2, "SELinux gdm login: unable to set executable context %s.",
 			      (char *)scontext);
-		return FALSE;
+		freecon (scontext);
+		return (security_getenforce()==0);
 	}
 
 	freecon (scontext);

gdm-2.13.0.4-modularx.patch:
 configure.ac |    5 +++++
 1 files changed, 5 insertions(+)

--- NEW FILE gdm-2.13.0.4-modularx.patch ---
--- gdm-2.13.0.4/configure.ac.modularx	2006-01-08 23:49:21.000000000 -0500
+++ gdm-2.13.0.4/configure.ac	2006-01-09 00:11:33.000000000 -0500
@@ -984,6 +984,11 @@ elif test -x /usr/X11R6/bin/X; then
    X_SERVER="/usr/X11R6/bin/X"
    GDM_USER_PATH="$GDM_USER_PATH:/usr/X11R6/bin"
    X_CONFIG_OPTIONS="-audit 0"
+elif test -x /usr/bin/Xorg; then
+   X_PATH="/usr/bin"
+   X_SERVER_PATH="/usr/bin"
+   X_SERVER="/usr/bin/Xorg"
+   X_CONFIG_OPTIONS="-audit 0"
 elif test -x /usr/X11/bin/X; then
    X_PATH="/usr/X11/bin"
    X_SERVER_PATH="/usr/X11/bin"

gdm-2.13.0.4-update-switchdesk-location.patch:
 greeter_session.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE gdm-2.13.0.4-update-switchdesk-location.patch ---
--- gdm-2.13.0.4/gui/greeter/greeter_session.c.update-switchdesk-location	2005-12-24 21:30:15.000000000 -0500
+++ gdm-2.13.0.4/gui/greeter/greeter_session.c	2006-01-08 23:25:22.000000000 -0500
@@ -165,7 +165,7 @@ greeter_session_lookup (const char *save
 	       * irrelevant, we are in "switchdesk mode" and the relevant
 	       * thing is the saved session in .Xclients
 	       */
-	      if (g_access ("/usr/bin/switchdesk", F_OK) == 0)
+	      if (g_access ("/usr/share/switchdesk/switchdesk-gui.py", F_OK) == 0)
 	        {
 	          firstmsg = g_strdup_printf (_("You have chosen %s for this "
 	                                        "session"),


Index: gdm.spec
===================================================================
RCS file: /cvs/dist/rpms/gdm/devel/gdm.spec,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -r1.107 -r1.108
--- gdm.spec	9 Dec 2005 22:40:32 -0000	1.107
+++ gdm.spec	9 Jan 2006 10:06:50 -0000	1.108
@@ -14,22 +14,22 @@
 
 Summary: The GNOME Display Manager.
 Name: gdm
-Version: 2.8.0.4
-Release: 13.1
+Version: 2.13.0.4
+Release: 1
 Epoch: 1
 License: LGPL/GPL
 Group: User Interface/X
-Source: ftp://ftp.gnome.org/pub/GNOME/sources/gdm-%{PACKAGE_VERSION}.tar.bz2
+URL: ftp://ftp.gnome.org/pub/GNOME/sources/gdm
+Source: gdm-%{PACKAGE_VERSION}.tar.bz2
 Source1: gdm-allow-login.init
 Source2: gdm-early-login.init
 Source3: zzz-bootup-complete.init
-URL: ftp://ftp.gnome.org/pub/GNOME/sources/gdm
 
-Patch1: gdm-2.8.0.2-change-defaults.patch
+Patch1: gdm-2.13.0.4-change-defaults.patch
 Patch2: gdm-2.8.0.2-add-pam-timestamp-module.patch
-Patch3: gdm-2.8.0.2-fix-selinux-check.patch
+Patch3: gdm-2.13.0.4-fix-selinux-check.patch
 Patch4: gdm-2.8.0.2-session-errors-in-tmp.patch
-Patch5: gdm-2.8.0.2-update-switchdesk-location.patch
+Patch5: gdm-2.13.0.4-update-switchdesk-location.patch
 Patch6: gdm-2.6.0.7-wait-for-bootup.patch
 Patch7: gdm-2.8.0.2-clean-up-xsession-errors.patch
 Patch8: gdm-2.8.0.2-merge-resources.patch
@@ -38,11 +38,13 @@
 Patch11: gdm-2.6.0.8-xdmcp.patch
 Patch12: gdm-2.8.0.2-process-all-messages.patch
 Patch13: gdm-2.8.0.2-hide-throbber.patch
-Patch14: gdm-2.8.0.4-clean-up-leaks.patch
-Patch15: gdm-2.8.0.4-audit-login.patch
-Patch16: gdm-2.8.0.4-modularx.patch
+Patch15: gdm-2.13.0.4-audit-login.patch
+Patch16: gdm-2.13.0.4-modularx.patch
 Patch17: gdm-2.8.0.4-call-dbus-launch.patch
 Patch18: gdm-2.8.0.4-dont-call-xsm.patch
+Patch19: gdm-2.13.0.4-add-gnome-cflags.patch
+Patch20: gdm-2.13.0.4-add-locale-header.patch
+Patch21: gdm-2.13.0.4-fix-gdm-safe-restart-conf-path.patch
 
 BuildRoot: %{_tmppath}/gdm-%{PACKAGE_VERSION}-root
 
@@ -106,38 +108,42 @@
 #%patch9 -p1 -b .boot-throbber
 %patch10 -p1 -b .dont-malloc-in-signal-handlers
 #%patch11 -p1 -b .xdmcp
-%patch12 -p1 -b .process-all-messages
+#%patch12 -p1 -b .process-all-messages
 %patch13 -p1 -b .hide-throbber
-%patch14 -p1 -b .clean-up-leaks
 %patch15 -p1 -b .audit-login
 %patch16 -p1 -b .modularx
 %patch17 -p1 -b .call-dbus-launch
 %patch18 -p1 -b .dont-call-xsm
+%patch19 -p1 -b .add-gnome-cflags
+%patch20 -p1 -b .add-locale-header
+%patch21 -p1 -b .fix-gdm-safe-restart-conf-path
 
 # fix the time format for ja
 perl -pi -e "s|^msgstr \"%a %b %d, %H:%M\"|msgstr \"%m/%d \(%a\) %H:%M\"|; s|^msgstr \"%a %b %d, %I:%M %p\"|msgstr \"%m/%d \(%a\) %p %I:%M\"|" po/ja.po
 
 %build
 intltoolize --force --copy
-aclocal-1.4
+aclocal-1.9
 libtoolize --force --copy
-automake-1.4 --add-missing
+automake-1.9 --add-missing
 autoconf
 autoheader
-%configure --sysconfdir=/etc/X11   \
+%configure --sysconfdir=%{_sysconfdir}/X11   \
            --with-pam-prefix=/etc  \
 	   --localstatedir=/var    \
 	   --enable-console-helper \
 	   --disable-scrollkeeper  \
-	   --with-selinux
+	   --with-selinux \
+	   --with-configdir=%{_datadir}/gdm/config
 make
 
 %install
 [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
 
-mkdir -p $RPM_BUILD_ROOT/etc/X11/gdm/Init
-mkdir -p $RPM_BUILD_ROOT/etc/X11/gdm/PreSession
-mkdir -p $RPM_BUILD_ROOT/etc/X11/gdm/PostSession
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/gdm/Init
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/gdm/PreSession
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/gdm/PostSession
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdm/config
 
 make install DESTDIR=$RPM_BUILD_ROOT
 
@@ -183,6 +189,13 @@
 #install -m755 ${RPM_SOURCE_DIR}/zzz-bootup-complete.init                      \
 #              ${RPM_BUILD_ROOT}/etc/rc.d/init.d/zzz-bootup-complete
 
+# gdm has two config files: gdm.conf and gdm.conf-custom.  gdm.conf-custom is
+# the editable file and gdm.conf is a distro fallbacks/defaults file. We want
+# the sysadmin editable file in /etc and the distro-defaults file in
+# /usr/share/gdm/config
+(cd $RPM_BUILD_ROOT%{_sysconfdir}/X11/gdm && \
+ ln -sf ../../..%{_datadir}/gdm/config/gdm.conf-custom custom.conf)
+
 %find_lang gdm
 
 %clean
@@ -198,29 +211,19 @@
 %post
 /sbin/ldconfig
 scrollkeeper-update
+
 touch --no-create %{_datadir}/icons/hicolor
 if [ -x /usr/bin/gtk-update-icon-cache ]; then
   gtk-update-icon-cache -q %{_datadir}/icons/hicolor
 fi
 
-# Attempt to restart GDM softly by use of the fifo.  Wont work on older
-# then 2.2.3.1 versions but should work nicely on later upgrades.
-# FIXME: this is just way too complex
-FIFOFILE=`grep '^ServAuthDir=' %{_sysconfdir}/X11/gdm/gdm.conf | sed -e 's/^ServAuthDir=//'`
-if test x$FIFOFILE = x ; then
-	FIFOFILE=%{_localstatedir}/gdm/.gdmfifo
-else
-	FIFOFILE="$FIFOFILE"/.gdmfifo
-fi
-PIDFILE=`grep '^PidFile=' %{_sysconfdir}/X11/gdm/gdm.conf | sed -e 's/^PidFile=//'`
-if test x$PIDFILE = x ; then
-	PIDFILE=/var/run/gdm.pid
+# if the user already has a config file, then 
+# migrate it to the new location 
+if [ $1 -ge 2 ] && [ -f %{_sysconfdir}/X11/gdm/gdm.conf ]; then
+    mv -f %{_sysconfdir}/X11/gdm/gdm.conf %{_datadir}/gdm/config/gdm.conf-custom
 fi
-if test -w $FIFOFILE && test -f $PIDFILE && kill -0 `cat $PIDFILE` 2>/dev/null ; then
-	(echo;echo SOFT_RESTART) >> $FIFOFILE
-fi
-# ignore error in the above
-exit 0
+
+%{_sbindir}/gdm-safe-restart || :
 
 %postun
 /sbin/ldconfig
@@ -235,27 +238,27 @@
 
 %doc AUTHORS COPYING ChangeLog NEWS README TODO
 
-%dir /etc/X11/gdm
-%config(noreplace) /etc/X11/gdm/gdm.conf
-/etc/X11/gdm/factory-gdm.conf
-/etc/X11/gdm/Xsession
-%config /etc/X11/gdm/XKeepsCrashing
-%config /etc/X11/gdm/locale.alias
-%config /etc/X11/gdm/Init/*
-%config /etc/X11/gdm/PostLogin/*
-%config /etc/X11/gdm/PreSession/*
-%config /etc/X11/gdm/PostSession/*
-%config /etc/X11/gdm/modules/*
-%config /etc/pam.d/gdm
-%config /etc/pam.d/gdmsetup
-%config /etc/pam.d/gdm-autologin
-%config /etc/security/console.apps/gdmsetup
-#%config /etc/rc.d/init.d/*
-%dir /etc/X11/gdm/Init
-%dir /etc/X11/gdm/PreSession
-%dir /etc/X11/gdm/PostSession
-%dir /etc/X11/gdm/PostLogin
-%dir /etc/X11/gdm/modules
+%dir %{_sysconfdir}/X11/gdm
+%{_sysconfdir}/X11/gdm/Xsession
+%config(noreplace) %{_sysconfdir}/X11/gdm/custom.conf
+%config(noreplace) %{_datadir}/gdm/config/gdm.conf-custom
+%config %{_sysconfdir}/X11/gdm/XKeepsCrashing
+%config %{_sysconfdir}/X11/gdm/locale.alias
+%config %{_sysconfdir}/X11/gdm/Init/*
+%config %{_sysconfdir}/X11/gdm/PostLogin/*
+%config %{_sysconfdir}/X11/gdm/PreSession/*
+%config %{_sysconfdir}/X11/gdm/PostSession/*
+%config %{_sysconfdir}/X11/gdm/modules/*
+%config %{_sysconfdir}/pam.d/gdm
+%config %{_sysconfdir}/pam.d/gdmsetup
+%config %{_sysconfdir}/pam.d/gdm-autologin
+%config %{_sysconfdir}/security/console.apps/gdmsetup
+#%config %{_sysconfdir}/rc.d/init.d/*
+%dir %{_sysconfdir}/X11/gdm/Init
+%dir %{_sysconfdir}/X11/gdm/PreSession
+%dir %{_sysconfdir}/X11/gdm/PostSession
+%dir %{_sysconfdir}/X11/gdm/PostLogin
+%dir %{_sysconfdir}/X11/gdm/modules
 %{_datadir}/pixmaps
 %{_datadir}/icons
 %{_datadir}/gdm
@@ -269,10 +272,12 @@
 %{_sbindir}/*
 %dir %{_localstatedir}/log/gdm
 
-
 %attr(1770, root, gdm) %dir %{_localstatedir}/gdm
 
 %changelog
+* Mon Jan 9 2005 Ray Strode <rstrode at redhat.com> - 1:2.13.0.4-1
+- update to 2.13.0.4
+
 * Fri Dec 09 2005 Jesse Keating <jkeating at redhat.com>
 - rebuilt
 


--- gdm-2.8.0.2-change-defaults.patch DELETED ---


--- gdm-2.8.0.2-fix-selinux-check.patch DELETED ---


--- gdm-2.8.0.2-update-switchdesk-location.patch DELETED ---


--- gdm-2.8.0.4-audit-login.patch DELETED ---


--- gdm-2.8.0.4-clean-up-leaks.patch DELETED ---




More information about the fedora-cvs-commits mailing list