From 6cb610db99ddaf986bf12ff6dc455a61660ee99a Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Oct 04 2014 23:06:11 +0000 Subject: Merge branch 'master' into f20 --- diff --git a/.gitignore b/.gitignore index 33515ff..a8d7caf 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/lightdm-1.8.7.tar.xz +/lightdm-1.10.2.tar.xz diff --git a/lightdm-1.10.2-FD_leak.patch b/lightdm-1.10.2-FD_leak.patch new file mode 100644 index 0000000..19ebc05 --- /dev/null +++ b/lightdm-1.10.2-FD_leak.patch @@ -0,0 +1,31 @@ +diff -up lightdm-1.10.2/src/greeter.c.FD_leak lightdm-1.10.2/src/greeter.c +--- lightdm-1.10.2/src/greeter.c.FD_leak 2014-09-07 18:29:36.000000000 -0500 ++++ lightdm-1.10.2/src/greeter.c 2014-09-17 06:44:52.190389652 -0500 +@@ -987,9 +987,15 @@ greeter_finalize (GObject *object) + g_object_unref (self->priv->authentication_session); + } + if (self->priv->to_greeter_channel) ++ { ++ close(g_io_channel_unix_get_fd(self->priv->to_greeter_channel)); + g_io_channel_unref (self->priv->to_greeter_channel); ++ } + if (self->priv->from_greeter_channel) ++ { ++ close(g_io_channel_unix_get_fd(self->priv->from_greeter_channel)); + g_io_channel_unref (self->priv->from_greeter_channel); ++ } + if (self->priv->from_greeter_watch) + g_source_remove (self->priv->from_greeter_watch); + +diff -up lightdm-1.10.2/src/session.c.FD_leak lightdm-1.10.2/src/session.c +--- lightdm-1.10.2/src/session.c.FD_leak 2014-09-11 19:04:40.000000000 -0500 ++++ lightdm-1.10.2/src/session.c 2014-09-17 06:44:52.191389641 -0500 +@@ -459,6 +459,8 @@ session_watch_cb (GPid pid, gint status, + if (session->priv->is_guest) + guest_account_cleanup (session->priv->username); + ++ close(session->priv->to_child_input); ++ close(session->priv->from_child_output); + /* Drop our reference on the child process, it has terminated */ + g_object_unref (session); + } diff --git a/lightdm-1.10.2-fedora_config.patch b/lightdm-1.10.2-fedora_config.patch new file mode 100644 index 0000000..a0ebc6d --- /dev/null +++ b/lightdm-1.10.2-fedora_config.patch @@ -0,0 +1,51 @@ +diff -up lightdm-1.10.2/data/lightdm.conf.fedora_config lightdm-1.10.2/data/lightdm.conf +--- lightdm-1.10.2/data/lightdm.conf.fedora_config 2014-09-10 20:07:11.000000000 -0500 ++++ lightdm-1.10.2/data/lightdm.conf 2014-09-17 06:42:05.603122757 -0500 +@@ -21,9 +21,9 @@ + #start-default-seat=true + #greeter-user=lightdm + #minimum-display-number=0 +-#minimum-vt=7 ++minimum-vt=1 + #lock-memory=true +-#user-authority-in-system-dir=false ++user-authority-in-system-dir=true + #guest-account-script=guest-account + #logind-load-seats=false + #logind-check-graphical=false +@@ -43,6 +43,7 @@ + # pam-autologin-service = PAM service to use for autologin + # pam-greeter-service = PAM service to use for greeters + # xserver-command = X server command to run (can also contain arguments e.g. X -special-option) ++xserver-command=X -background none + # xserver-layout = Layout to pass to X server + # xserver-config = Config file to pass to X server + # xserver-allow-tcp = True if TCP/IP connections are allowed to this X server +@@ -64,6 +65,7 @@ + # allow-guest = True if guest login is allowed + # guest-session = Session to load for guests (overrides user-session) + # session-wrapper = Wrapper script to run session with ++session-wrapper=/etc/X11/xinit/Xsession + # greeter-wrapper = Wrapper script to run greeter with + # guest-wrapper = Wrapper script to run guest sessions with + # display-setup-script = Script to run when starting a greeter session (runs as root) +@@ -96,7 +98,7 @@ + #xdmcp-key= + #unity-compositor-command=unity-system-compositor + #unity-compositor-timeout=60 +-#greeter-session=example-gtk-gnome ++greeter-session=lightdm-greeter + #greeter-hide-users=false + #greeter-allow-guest=true + #greeter-show-manual-login=false +diff -up lightdm-1.10.2/data/users.conf.fedora_config lightdm-1.10.2/data/users.conf +--- lightdm-1.10.2/data/users.conf.fedora_config 2014-09-17 06:40:05.032377125 -0500 ++++ lightdm-1.10.2/data/users.conf 2014-09-17 06:42:21.414958257 -0500 +@@ -9,6 +9,6 @@ + # hidden-shells = Shells that indicate a user cannot login + # + [UserList] +-minimum-uid=500 ++minimum-uid=1000 + hidden-users=nobody nobody4 noaccess + hidden-shells=/bin/false /usr/sbin/nologin diff --git a/lightdm-1.10.2-nodaemon_option.patch b/lightdm-1.10.2-nodaemon_option.patch new file mode 100644 index 0000000..e0c0fa2 --- /dev/null +++ b/lightdm-1.10.2-nodaemon_option.patch @@ -0,0 +1,12 @@ +diff -up lightdm-1.10.2/src/lightdm.c.nodaemon_option lightdm-1.10.2/src/lightdm.c +--- lightdm-1.10.2/src/lightdm.c.nodaemon_option 2014-09-17 06:42:48.681674585 -0500 ++++ lightdm-1.10.2/src/lightdm.c 2014-09-17 06:44:03.021901180 -0500 +@@ -1135,7 +1135,7 @@ main (int argc, char **argv) + g_printerr (/* Text printed out when an unknown command-line argument provided */ + _("Run '%s --help' to see a full list of available command line options."), argv[0]); + g_printerr ("\n"); +- return EXIT_FAILURE; ++ /* return EXIT_FAILURE; */ + } + + /* Show combined configuration if user requested it */ diff --git a/lightdm-1.6.0-no_dmrc_save.patch b/lightdm-1.6.0-no_dmrc_save.patch deleted file mode 100644 index eee85d4..0000000 --- a/lightdm-1.6.0-no_dmrc_save.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up lightdm-1.6.0/src/accounts.c.no_dmrc_save lightdm-1.6.0/src/accounts.c ---- lightdm-1.6.0/src/accounts.c.no_dmrc_save 2013-03-05 20:40:10.000000000 -0600 -+++ lightdm-1.6.0/src/accounts.c 2013-05-20 17:50:19.421437397 -0500 -@@ -131,7 +131,7 @@ - - dmrc = dmrc_load (username); - g_key_file_set_string (dmrc, group, key, value); -- dmrc_save (dmrc, username); -+ /* dmrc_save (dmrc, username); */ - - g_key_file_free (dmrc); - } diff --git a/lightdm-1.7.17-FD_leak.patch b/lightdm-1.7.17-FD_leak.patch deleted file mode 100644 index e52767f..0000000 --- a/lightdm-1.7.17-FD_leak.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -up lightdm-1.7.17/src/greeter.c.FD_leak_fix2 lightdm-1.7.17/src/greeter.c ---- lightdm-1.7.17/src/greeter.c.FD_leak_fix2 2013-10-05 21:01:04.771556856 -0500 -+++ lightdm-1.7.17/src/greeter.c 2013-10-05 21:03:31.929960061 -0500 -@@ -938,9 +938,15 @@ greeter_finalize (GObject *object) - g_object_unref (self->priv->authentication_session); - } - if (self->priv->to_greeter_channel) -+ { -+ close(g_io_channel_unix_get_fd(self->priv->to_greeter_channel)); - g_io_channel_unref (self->priv->to_greeter_channel); -+ } - if (self->priv->from_greeter_channel) -+ { -+ close(g_io_channel_unix_get_fd(self->priv->from_greeter_channel)); - g_io_channel_unref (self->priv->from_greeter_channel); -+ } - if (self->priv->from_greeter_watch) - g_source_remove (self->priv->from_greeter_watch); - -diff -up lightdm-1.7.17/src/session.c.FD_leak_fix2 lightdm-1.7.17/src/session.c ---- lightdm-1.7.17/src/session.c.FD_leak_fix2 2013-09-19 12:06:44.000000000 -0500 -+++ lightdm-1.7.17/src/session.c 2013-10-05 21:01:04.772556846 -0500 -@@ -443,6 +443,8 @@ session_watch_cb (GPid pid, gint status, - if (session->priv->is_guest) - guest_account_cleanup (session->priv->username); - -+ close(session->priv->to_child_input); -+ close(session->priv->from_child_output); - /* Drop our reference on the child process, it has terminated */ - g_object_unref (session); - } diff --git a/lightdm-1.8.4-fedora_config.patch b/lightdm-1.8.4-fedora_config.patch deleted file mode 100644 index dbd5791..0000000 --- a/lightdm-1.8.4-fedora_config.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff -up lightdm-1.8.4/data/lightdm.conf.fedora_config lightdm-1.8.4/data/lightdm.conf ---- lightdm-1.8.4/data/lightdm.conf.fedora_config 2013-10-31 13:25:41.000000000 -0500 -+++ lightdm-1.8.4/data/lightdm.conf 2013-11-01 11:04:33.782628906 -0500 -@@ -19,9 +19,9 @@ - #start-default-seat=true - #greeter-user=lightdm - #minimum-display-number=0 --#minimum-vt=7 -+minimum-vt=1 - #lock-memory=true --#user-authority-in-system-dir=false -+user-authority-in-system-dir=true - #guest-account-script=guest-account - #log-directory=/var/log/lightdm - #run-directory=/var/run/lightdm -@@ -72,7 +72,7 @@ - [SeatDefaults] - #type=xlocal - #xdg-seat=seat0 --#xserver-command=X -+xserver-command=X -background none - #xserver-layout= - #xserver-config= - #xserver-allow-tcp=false -@@ -84,7 +84,7 @@ - #xdmcp-key= - #unity-compositor-command=unity-system-compositor - #unity-compositor-timeout=60 --#greeter-session=example-gtk-gnome -+greeter-session=lightdm-greeter - #greeter-hide-users=false - #greeter-allow-guest=true - #greeter-show-manual-login=false -@@ -92,7 +92,7 @@ - #user-session=default - #allow-guest=true - #guest-session=UNIMPLEMENTED --#session-wrapper=lightdm-session -+session-wrapper=/etc/X11/xinit/Xsession - #greeter-wrapper= - #guest-wrapper= - #display-setup-script= -diff -up lightdm-1.8.4/data/users.conf.fedora_config lightdm-1.8.4/data/users.conf ---- lightdm-1.8.4/data/users.conf.fedora_config 2013-10-08 22:16:00.000000000 -0500 -+++ lightdm-1.8.4/data/users.conf 2013-11-01 11:03:36.380701581 -0500 -@@ -9,6 +9,6 @@ - # hidden-shells = Shells that indicate a user cannot login - # - [UserAccounts] --minimum-uid=500 -+minimum-uid=1000 - hidden-users=nobody nobody4 noaccess - hidden-shells=/bin/false /usr/sbin/nologin diff --git a/lightdm-1.9.8-no_dmrc_save.patch b/lightdm-1.9.8-no_dmrc_save.patch new file mode 100644 index 0000000..3b49eb0 --- /dev/null +++ b/lightdm-1.9.8-no_dmrc_save.patch @@ -0,0 +1,21 @@ +diff -up lightdm-1.9.8/common/dmrc.c.no_dmrc_save lightdm-1.9.8/common/dmrc.c +--- lightdm-1.9.8/common/dmrc.c.no_dmrc_save 2014-02-19 18:22:51.000000000 -0600 ++++ lightdm-1.9.8/common/dmrc.c 2014-02-20 06:30:41.503707318 -0600 +@@ -68,6 +68,7 @@ dmrc_save (GKeyFile *dmrc_file, CommonUs + + data = g_key_file_to_data (dmrc_file, &length, NULL); + ++#if 0 + /* Update the users .dmrc */ + path = g_build_filename (common_user_get_home_directory (user), ".dmrc", NULL); + +@@ -81,6 +82,7 @@ dmrc_save (GKeyFile *dmrc_file, CommonUs + privileges_reclaim (); + + g_free (path); ++#endif + + /* Update the .dmrc cache */ + cache_dir = config_get_string (config_get_instance (), "LightDM", "cache-directory"); +diff -up lightdm-1.9.8/common/user-list.c.no_dmrc_save lightdm-1.9.8/common/user-list.c +diff -up lightdm-1.9.8/src/accounts.c.no_dmrc_save lightdm-1.9.8/src/accounts.c diff --git a/lightdm-lock-screen-before-switch.patch b/lightdm-lock-screen-before-switch.patch deleted file mode 100644 index b8b1d55..0000000 --- a/lightdm-lock-screen-before-switch.patch +++ /dev/null @@ -1,55 +0,0 @@ -# HG changeset patch -# Parent b329fa1badaa454239690c3feb93d53324134915 -try to lock the screen before switching users - -diff --git a/utils/gdmflexiserver b/utils/gdmflexiserver ---- a/utils/gdmflexiserver -+++ b/utils/gdmflexiserver -@@ -9,9 +9,47 @@ - # - # See http://www.gnu.org/copyleft/gpl.html for the full text of the license. - -+PATH=/usr/local/bin:/bin:/usr/bin -+export PATH -+ - if [ -z "$XDG_SEAT_PATH" ]; then - # something went wrong - exit 1 - fi - -+find_command () { -+ cmd="$1" -+ oIFS="${IFS}"; IFS=: -+ set -- ${PATH} -+ IFS="${oIFS}" -+ -+ for part; do -+ [ -x "${part}/${cmd}" ] && return 0 -+ done -+ return 1 -+} -+ -+lock_screen () { -+ for lock_cmd in \ -+ "xscreensaver-command -lock" \ -+ "gnome-screensaver-command --lock" \ -+ "dbus-send --session --dest=org.freedesktop.ScreenSaver --type=method_call /ScreenSaver org.freedesktop.ScreenSaver.Lock" -+ do -+ ${lock_cmd} >/dev/null 2>&1 && return -+ done -+ -+ for lock_cmd in \ -+ "slock" \ -+ "xlock -mode blank" -+ do -+ set -- ${lock_cmd} -+ if find_command "$1"; then -+ ${lock_cmd} >/dev/null 2>&1 & -+ return -+ fi -+ done -+} -+ -+lock_screen -+ - dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.DisplayManager $XDG_SEAT_PATH org.freedesktop.DisplayManager.Seat.SwitchToGreeter diff --git a/lightdm-nodaemon_option.patch b/lightdm-nodaemon_option.patch deleted file mode 100644 index b634d1c..0000000 --- a/lightdm-nodaemon_option.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up lightdm-1.7.11/src/lightdm.c.nodaemon_option lightdm-1.7.11/src/lightdm.c ---- lightdm-1.7.11/src/lightdm.c.nodaemon_option 2013-08-25 21:32:17.000000000 -0500 -+++ lightdm-1.7.11/src/lightdm.c 2013-08-27 19:46:41.100258556 -0500 -@@ -994,7 +994,7 @@ main (int argc, char **argv) - g_printerr (/* Text printed out when an unknown command-line argument provided */ - _("Run '%s --help' to see a full list of available command line options."), argv[0]); - g_printerr ("\n"); -- return EXIT_FAILURE; -+ /* return EXIT_FAILURE; */ - } - - if (show_version) diff --git a/lightdm.pam b/lightdm.pam index d43abd4..a0cfa5b 100644 --- a/lightdm.pam +++ b/lightdm.pam @@ -3,7 +3,7 @@ auth [success=done ignore=ignore default=bad] pam_selinux_permit.so auth required pam_env.so auth substack system-auth -auth optional pam_gnome_keyring.so --auth optional pam_mate_keyring.so +-auth optional pam_kwallet.so auth include postlogin account required pam_nologin.so account include system-auth @@ -16,7 +16,7 @@ session required pam_selinux.so open session optional pam_keyinit.so force revoke session required pam_namespace.so -session optional pam_gnome_keyring.so auto_start --session optional pam_mate_keyring.so auto_start +-session optional pam_kwallet.so session include system-auth session optional pam_lastlog.so silent session include postlogin diff --git a/lightdm.spec b/lightdm.spec index 7eca035..c8742f0 100644 --- a/lightdm.spec +++ b/lightdm.spec @@ -4,14 +4,13 @@ Name: lightdm Summary: Lightweight Display Manager -Version: 1.8.7 +Version: 1.10.2 Release: 1%{?dist} # library/bindings are LGPLv2 or LGPLv3, the rest GPLv3+ License: (LGPLv2 or LGPLv3) and GPLv3+ -#URL: http://www.freedesktop.org/wiki/Software/LightDM URL: https://launchpad.net/lightdm/ -Source0: https://launchpad.net/lightdm/1.8/%{version}/+download/lightdm-%{version}.tar.xz +Source0: https://launchpad.net/lightdm/1.10/%{version}/+download/lightdm-%{version}.tar.xz Source1: lightdm.pam Source2: lightdm-autologin.pam @@ -19,18 +18,17 @@ Source3: lightdm-tmpfiles.conf Source4: lightdm.service Source6: lightdm.rules -Patch0: lightdm-lock-screen-before-switch.patch ## Downstream patches: -Patch10: lightdm-1.8.4-fedora_config.patch +Patch10: lightdm-1.10.2-fedora_config.patch # hack in support for --nodaemon option -Patch11: lightdm-nodaemon_option.patch -# disable saving to ~/.dmrc -Patch12: lightdm-1.6.0-no_dmrc_save.patch +Patch11: lightdm-1.10.2-nodaemon_option.patch +# disable saving to ~/.dmrc (runs afoul of selinux, http://bugzilla.redhat.com/963238 ) +Patch12: lightdm-1.9.8-no_dmrc_save.patch ## upstreamable patches # https://bugzilla.redhat.com/show_bug.cgi?id=973584 # https://bugs.launchpad.net/lightdm/+bug/1190344 -Patch50: lightdm-1.7.17-FD_leak.patch +Patch50: lightdm-1.10.2-FD_leak.patch BuildRequires: gettext BuildRequires: gnome-common @@ -118,7 +116,6 @@ Requires: %{name}-qt%{?_isa} = %{version}-%{release} %prep %setup -q -%patch0 -p1 -b .lock-screen %patch10 -p1 -b .fedora_config %patch11 -p1 -b .nodaemon_option %patch12 -p1 -b .no_dmrc_save @@ -144,10 +141,6 @@ make %{?_smp_mflags} V=1 %install make install DESTDIR=%{buildroot} INSTALL='install -p' -## create/own these -mkdir -p %{buildroot}%{_sysconfdir}/lightdm/lightdm.conf.d -mkdir -p %{buildroot}%{_datadir}/lightdm/lightdm.conf.d - ## unpackaged files # libtool cruft rm -fv %{buildroot}%{_libdir}/lib*.la @@ -163,11 +156,14 @@ install -Dpm 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/pam.d/lightdm-autologin install -Dpm 644 %{SOURCE3} %{buildroot}%{_prefix}/lib/tmpfiles.d/lightdm.conf # We need to own these -mkdir -p %{buildroot}%{_datadir}/lightdm/remote-sessions +mkdir -p %{buildroot}%{_sysconfdir}/lightdm/lightdm.conf.d/ +mkdir -p %{buildroot}%{_datadir}/lightdm/lightdm.conf.d/ +mkdir -p %{buildroot}%{_datadir}/lightdm/remote-sessions/ mkdir -p %{buildroot}%{_localstatedir}/cache/lightdm/ -mkdir -p %{buildroot}%{_localstatedir}/run/lightdm -mkdir -p %{buildroot}%{_localstatedir}/log/lightdm -mkdir -p %{buildroot}%{_localstatedir}/lib/lightdm +mkdir -p %{buildroot}%{_localstatedir}/run/lightdm/ +mkdir -p %{buildroot}%{_localstatedir}/log/lightdm/ +mkdir -p %{buildroot}%{_localstatedir}/lib/lightdm/ +mkdir -p %{buildroot}%{_localstatedir}/lib/lightdm-data/ %find_lang %{name} --with-gnome @@ -206,9 +202,10 @@ exit 0 %config(noreplace) %{_sysconfdir}/lightdm/users.conf %{_bindir}/dm-tool %{_sbindir}/lightdm -%{_libexecdir}/lightdm/ +%{_libexecdir}/lightdm-guest-session %{_datadir}/lightdm/ %{_libdir}/girepository-1.0/LightDM-1.typelib +%{_mandir}/man1/dm-tool.1* %{_mandir}/man1/lightdm* %dir %attr(-,lightdm,lightdm) %{_localstatedir}/cache/lightdm/ %{_unitdir}/lightdm.service @@ -219,6 +216,7 @@ exit 0 %ghost %dir %{_localstatedir}/run/lightdm %dir %attr(-,lightdm,lightdm) %{_localstatedir}/lib/lightdm/ +%dir %attr(-,lightdm,lightdm) %{_localstatedir}/lib/lightdm-data/ %dir %attr(-,lightdm,lightdm) %{_localstatedir}/log/lightdm/ %post gobject -p /sbin/ldconfig @@ -250,6 +248,43 @@ exit 0 %changelog +* Wed Sep 17 2014 Rex Dieter 1.10.2-1 +- lightdm-1.10.2 + +* Sun Aug 17 2014 Fedora Release Engineering - 1.10.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jul 22 2014 Kalev Lember - 1.10.1-4 +- Rebuilt for gobject-introspection 1.41.4 + +* Sat Jun 07 2014 Fedora Release Engineering - 1.10.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 01 2014 Rex Dieter 1.10.1-2 +- update pam config (+pam-kwallet,-mate-keying-pam) + +* Sun Apr 27 2014 Rex Dieter 1.10.1-1 +- lightdm-1.10.1 + +* Thu Apr 17 2014 Rex Dieter 1.10.0-1 +- lightdm-1.10.0 (#1077562) + +* Thu Mar 27 2014 Rex Dieter 1.9.13-2 +- Could not create user data directory /var/lib/lightdm-data/lightdm (#1081426) + +* Tue Mar 25 2014 Rex Dieter 1.9.13-1 +- lightdm-1.9.13 + +* Thu Mar 13 2014 Rex Dieter 1.9.11-1 +- lightdm-1.9.11 + +* Tue Mar 11 2014 Rex Dieter 1.9.9-1 +- lightdm-1.9.9 + +* Thu Feb 20 2014 Rex Dieter 1.9.8-1 +- lightdm-1.9.8 (#1021834) +- lightdm adds /usr/libexec/lightdm: to user $PATH (#888337) + * Thu Feb 06 2014 Rex Dieter 1.8.7-1 - lightdm-1.8.7 diff --git a/sources b/sources index 3c99565..1e6c449 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b97b1eec5d7074334f6c1d5cda2868d5 lightdm-1.8.7.tar.xz +0c3bc2027b792c8714dce6076dbf15c2 lightdm-1.10.2.tar.xz