From dae84a5a16c8e416c6dfec5d25f3a98dd623beb1 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Oct 05 2014 20:34:55 +0000 Subject: Merge branch 'f20' into f19 --- diff --git a/.gitignore b/.gitignore index 27d66d0..a8d7caf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/lightdm-1.4.1.tar.gz -/lightdm-1.6.0.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.2.2-nodaemon_option.patch b/lightdm-1.2.2-nodaemon_option.patch deleted file mode 100644 index f921896..0000000 --- a/lightdm-1.2.2-nodaemon_option.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up lightdm-1.2.2/src/lightdm.c.nodaemon_option lightdm-1.2.2/src/lightdm.c ---- lightdm-1.2.2/src/lightdm.c.nodaemon_option 2012-04-18 18:29:23.000000000 -0500 -+++ lightdm-1.2.2/src/lightdm.c 2012-04-25 14:58:20.947571800 -0500 -@@ -883,7 +883,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-1.6.0-fedora_config.patch b/lightdm-1.6.0-fedora_config.patch deleted file mode 100644 index 90bd282..0000000 --- a/lightdm-1.6.0-fedora_config.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff -up lightdm-1.6.0/data/lightdm.conf.fedora_config lightdm-1.6.0/data/lightdm.conf ---- lightdm-1.6.0/data/lightdm.conf.fedora_config 2013-04-14 16:45:25.000000000 -0500 -+++ lightdm-1.6.0/data/lightdm.conf 2013-04-14 21:59:41.541537222 -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 -@@ -62,14 +62,14 @@ - # - [SeatDefaults] - #type=xlocal --#xserver-command=X -+xserver-command=X -background none - #xserver-layout= - #xserver-config= - #xserver-allow-tcp=false - #xdmcp-manager= - #xdmcp-port=177 - #xdmcp-key= --#greeter-session=example-gtk-gnome -+greeter-session=lightdm-greeter - #greeter-hide-users=false - #greeter-allow-guest=true - #greeter-show-manual-login=false -@@ -77,7 +77,7 @@ - #user-session=default - #allow-guest=true - #guest-session=UNIMPLEMENTED --#session-wrapper=lightdm-session -+session-wrapper=/etc/X11/xinit/Xsession - #display-setup-script= - #greeter-setup-script= - #session-setup-script= -diff -up lightdm-1.6.0/data/users.conf.fedora_config lightdm-1.6.0/data/users.conf ---- lightdm-1.6.0/data/users.conf.fedora_config 2013-03-05 20:40:10.000000000 -0600 -+++ lightdm-1.6.0/data/users.conf 2013-04-14 22:00:16.665888226 -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.6.0-gtkdoc_dup_flags.patch b/lightdm-1.6.0-gtkdoc_dup_flags.patch deleted file mode 100644 index 5db6212..0000000 --- a/lightdm-1.6.0-gtkdoc_dup_flags.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -up lightdm-1.6.0/doc/Makefile.am.gtkdoc_dup_flags lightdm-1.6.0/doc/Makefile.am -diff -up lightdm-1.6.0/doc/Makefile.in.gtkdoc_dup_flags lightdm-1.6.0/doc/Makefile.in ---- lightdm-1.6.0/doc/Makefile.in.gtkdoc_dup_flags 2013-04-14 17:35:01.000000000 -0500 -+++ lightdm-1.6.0/doc/Makefile.in 2013-04-25 06:59:00.731913912 -0500 -@@ -571,7 +571,7 @@ scan-build.stamp: $(HFILE_GLOB) $(CFILE_ - scanobj_options="--verbose"; \ - fi; \ - fi; \ -- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \ -+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" \ - gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \ - else \ - for i in $(SCANOBJ_FILES) ; do \ -diff -up lightdm-1.6.0/gtk-doc.make.gtkdoc_dup_flags lightdm-1.6.0/gtk-doc.make ---- lightdm-1.6.0/gtk-doc.make.gtkdoc_dup_flags 2013-04-14 17:34:57.000000000 -0500 -+++ lightdm-1.6.0/gtk-doc.make 2013-04-25 06:58:23.395380683 -0500 -@@ -108,7 +108,7 @@ scan-build.stamp: $(HFILE_GLOB) $(CFILE_ - scanobj_options="--verbose"; \ - fi; \ - fi; \ -- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \ -+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" \ - gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \ - else \ - for i in $(SCANOBJ_FILES) ; do \ 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 a1d7594..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 -@@ -134,7 +134,7 @@ save_string_to_dmrc (const gchar *userna - - 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.6.0-systemd_login1_power.patch b/lightdm-1.6.0-systemd_login1_power.patch deleted file mode 100644 index 4a26481..0000000 --- a/lightdm-1.6.0-systemd_login1_power.patch +++ /dev/null @@ -1,210 +0,0 @@ -diff -up lightdm-1.6.0/liblightdm-gobject/power.c.systemd_login1_power lightdm-1.6.0/liblightdm-gobject/power.c ---- lightdm-1.6.0/liblightdm-gobject/power.c.systemd_login1_power 2013-03-05 20:40:10.000000000 -0600 -+++ lightdm-1.6.0/liblightdm-gobject/power.c 2013-06-20 15:13:52.085421706 -0500 -@@ -17,6 +17,7 @@ - - static GDBusProxy *upower_proxy = NULL; - static GDBusProxy *ck_proxy = NULL; -+static GDBusProxy *login1_proxy = NULL; - - static gboolean - upower_call_function (const gchar *function, gboolean default_result, GError **error) -@@ -147,6 +148,58 @@ ck_call_function (const gchar *function, - return function_result; - } - -+static gboolean -+login1_call_function (const gchar *function, GVariant *parameters, gboolean default_result, GError **error) -+{ -+ GVariant *result; -+ gboolean function_result = FALSE; -+ gchar *str_result; -+ -+ if (!login1_proxy) -+ { -+ login1_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, -+ G_DBUS_PROXY_FLAGS_NONE, -+ NULL, -+ "org.freedesktop.login1", -+ "/org/freedesktop/login1", -+ "org.freedesktop.login1.Manager", -+ NULL, -+ error); -+ if (!login1_proxy) -+ return FALSE; -+ } -+ -+ result = g_dbus_proxy_call_sync (login1_proxy, -+ function, -+ parameters, -+ G_DBUS_CALL_FLAGS_NONE, -+ -1, -+ NULL, -+ error); -+ -+ if (!result) -+ return default_result; -+ -+ if (g_variant_is_of_type (result, G_VARIANT_TYPE ("(b)"))) -+ g_variant_get (result, "(s)", &function_result); -+ -+ /** -+ * CanReboot, CanPowerOff returns a string "yes", "no", or "challenge", not a boolean as ConsoleKit -+ **/ -+ if (g_variant_is_of_type (result, G_VARIANT_TYPE ("(s)"))) { -+ g_variant_get (result, "(&s)", &str_result); -+ if(g_strcmp0(str_result, "yes") == 0) { -+ function_result = TRUE; -+ } -+ else { -+ function_result = default_result; -+ } -+ } -+ -+ g_variant_unref (result); -+ return function_result; -+} -+ - /** - * lightdm_get_can_restart: - * -@@ -157,7 +210,11 @@ ck_call_function (const gchar *function, - gboolean - lightdm_get_can_restart (void) - { -- return ck_call_function ("CanRestart", FALSE, NULL); -+ gboolean function_result = FALSE; -+ function_result = login1_call_function ("CanReboot", NULL, FALSE, NULL); -+ if (!function_result) -+ function_result = ck_call_function ("CanRestart", FALSE, NULL); -+ return function_result; - } - - /** -@@ -171,7 +228,11 @@ lightdm_get_can_restart (void) - gboolean - lightdm_restart (GError **error) - { -- return ck_call_function ("Restart", TRUE, error); -+ gboolean function_result = FALSE; -+ function_result = login1_call_function ("Reboot", g_variant_new("(b)",0), TRUE, error); -+ if (!function_result) -+ function_result = ck_call_function ("Restart", TRUE, error); -+ return function_result; - } - - /** -@@ -184,7 +245,11 @@ lightdm_restart (GError **error) - gboolean - lightdm_get_can_shutdown (void) - { -- return ck_call_function ("CanStop", FALSE, NULL); -+ gboolean function_result = FALSE; -+ function_result = login1_call_function ("CanPowerOff", NULL, FALSE, NULL); -+ if (!function_result) -+ function_result = ck_call_function ("CanStop", FALSE, NULL); -+ return function_result; - } - - /** -@@ -198,5 +263,9 @@ lightdm_get_can_shutdown (void) - gboolean - lightdm_shutdown (GError **error) - { -- return ck_call_function ("Stop", TRUE, error); -+ gboolean function_result = FALSE; -+ function_result = login1_call_function ("PowerOff", g_variant_new("(b)",0), TRUE, error); -+ if (!function_result) -+ function_result = ck_call_function ("Stop", TRUE, error); -+ return function_result; - } -diff -up lightdm-1.6.0/liblightdm-qt/power.cpp.systemd_login1_power lightdm-1.6.0/liblightdm-qt/power.cpp ---- lightdm-1.6.0/liblightdm-qt/power.cpp.systemd_login1_power 2013-03-05 20:40:10.000000000 -0600 -+++ lightdm-1.6.0/liblightdm-qt/power.cpp 2013-06-20 15:08:05.585054280 -0500 -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - - #include "config.h" - -@@ -26,11 +27,13 @@ public: - PowerInterfacePrivate(); - QScopedPointer powerManagementInterface; - QScopedPointer consoleKitInterface; -+ QScopedPointer login1Interface; - }; - - PowerInterface::PowerInterfacePrivate::PowerInterfacePrivate() : - powerManagementInterface(new QDBusInterface("org.freedesktop.UPower","/org/freedesktop/UPower", "org.freedesktop.UPower", QDBusConnection::systemBus())), -- consoleKitInterface(new QDBusInterface("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", QDBusConnection::systemBus())) -+ consoleKitInterface(new QDBusInterface("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", QDBusConnection::systemBus())), -+ login1Interface(new QDBusInterface("org.freedesktop.login1", "/org/freedesktop/login1", "org.freedesktop.login1.Manager", QDBusConnection::systemBus())) - { - } - -@@ -80,34 +83,55 @@ void PowerInterface::hibernate() - - bool PowerInterface::canShutdown() - { -+ -+ if ( d->login1Interface->isValid() ) { -+ QDBusReply reply1 = d->login1Interface->call("CanPowerOff"); -+ if (reply1.isValid()) { -+ return (reply1.value()=="yes"); -+ } -+ } -+ qWarning() << d->login1Interface->lastError(); -+ - QDBusReply reply = d->consoleKitInterface->call("CanStop"); - if (reply.isValid()) { - return reply.value(); - } -- else { -- return false; -- } -+ -+ return false; - } - - void PowerInterface::shutdown() - { -- d->consoleKitInterface->call("Stop"); -+ if ( d->login1Interface->isValid() ) -+ d->login1Interface->call("PowerOff",false); -+ else -+ d->consoleKitInterface->call("Stop"); - } - - bool PowerInterface::canRestart() - { -+ if ( d->login1Interface->isValid() ) { -+ QDBusReply reply1 = d->login1Interface->call("CanReboot"); -+ if (reply1.isValid()) { -+ return (reply1.value()=="yes"); -+ } -+ } -+ qWarning() << d->login1Interface->lastError(); -+ - QDBusReply reply = d->consoleKitInterface->call("CanRestart"); - if (reply.isValid()) { - return reply.value(); - } -- else { -- return false; -- } -+ -+ return false; - } - - void PowerInterface::restart() - { -- d->consoleKitInterface->call("Restart"); -+ if ( d->login1Interface->isValid() ) -+ d->login1Interface->call("Reboot",false); -+ else -+ d->consoleKitInterface->call("Restart"); - } - - #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) 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.pam b/lightdm.pam index 92d051e..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,6 +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.preset b/lightdm.preset deleted file mode 100644 index e460345..0000000 --- a/lightdm.preset +++ /dev/null @@ -1,2 +0,0 @@ -enable lightdm.service -disable gdm.service diff --git a/lightdm.spec b/lightdm.spec index e7c6692..c8742f0 100644 --- a/lightdm.spec +++ b/lightdm.spec @@ -1,42 +1,34 @@ -%if 0%{?fedora} > 17 -%define systemd 1 -%endif - # Revert, crashes https://bugzilla.redhat.com/956868 #global _hardened_build 1 Name: lightdm Summary: Lightweight Display Manager -Version: 1.6.0 -Release: 10%{?dist} +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.6/%{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 Source3: lightdm-tmpfiles.conf Source4: lightdm.service -Source5: lightdm.preset Source6: lightdm.rules -Patch0: lightdm-lock-screen-before-switch.patch ## Downstream patches: -Patch10: lightdm-1.6.0-fedora_config.patch +Patch10: lightdm-1.10.2-fedora_config.patch # hack in support for --nodaemon option -Patch11: lightdm-1.2.2-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 -# initial support for org.freedesktop.login1 powerOff/Reboot actions -Patch50: lightdm-1.6.0-systemd_login1_power.patch -# gtkdoc introdpsection dup's CFLAGS/LDFLAGS, breaks in a hardened build -Patch51: lightdm-1.6.0-gtkdoc_dup_flags.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=973584 +# https://bugs.launchpad.net/lightdm/+bug/1190344 +Patch50: lightdm-1.10.2-FD_leak.patch BuildRequires: gettext BuildRequires: gnome-common @@ -59,21 +51,17 @@ BuildRequires: pkgconfig(QtNetwork) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xdmcp) +BuildRequires: systemd BuildRequires: vala Requires: %{name}-gobject%{?_isa} = %{version}-%{release} Requires: accountsservice -%if ! 0%{?systemd:1} -## seems CK may be needed for session tracking, user switching, though -## the latter seems not to work well or at all in practice -- rex -Requires: ConsoleKit -%endif Requires: dbus-x11 %if 0%{?fedora} && 0%{?fedora} > 18 Requires: polkit-js-engine %endif -# aka /sbin/shutdown, and friends Requires: systemd +%{?systemd_requires} Requires: xorg-x11-xinit Requires(pre): shadow-utils @@ -86,11 +74,6 @@ Requires: lightdm-greeter = 1.2 # needed for anaconda to boot into runlevel 5 after install Provides: service(graphical-login) = lightdm -%if 0%{?systemd} -BuildRequires: systemd -%{?systemd_requires} -%endif - %description LightDM is an X display manager that: * Has a lightweight codebase @@ -133,12 +116,10 @@ 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 -%patch50 -p1 -b .systemd_login1_power -%patch51 -p1 -b .gtkdoc_dup_flags +%patch50 -p1 -b .FD_leak # rpath hack sed -i -e 's|"/lib /usr/lib|"/%{_lib} %{_libdir}|' configure @@ -150,6 +131,7 @@ sed -i -e 's|"/lib /usr/lib|"/%{_lib} %{_libdir}|' configure --enable-gtk-doc \ --enable-liblightdm-qt --disable-liblightdm-qt5 \ --enable-introspection \ + --enable-tests \ --with-greeter-user=lightdm \ --with-greeter-session=lightdm-greeter @@ -174,37 +156,33 @@ 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/authority -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 -%if 0%{?systemd} install -m644 -p -D %{SOURCE4} %{buildroot}%{_unitdir}/lightdm.service -install -m644 -p -D %{SOURCE5} %{buildroot}%{_unitdir}-preset/82-fedora-lightdm.preset install -m644 -p -D %{SOURCE6} %{buildroot}%{_datadir}/polkit-1/rules.d/lightdm.rules -%endif + +%check +# FIXME: most of these currently fail :( -- rex +make check ||: %pre getent group lightdm >/dev/null || groupadd -r lightdm getent passwd lightdm >/dev/null || \ - /usr/sbin/useradd -g lightdm -M -d /var/log/lightdm -s /sbin/nologin -r lightdm > /dev/null 2>&1 -## ignore errors, as we can't disambiguate between lightdm already existed -## and couldn't create account with the current adduser. + /usr/sbin/useradd -g lightdm -M -d /var/lib/lightdm -s /sbin/nologin -r lightdm exit 0 %post %{?systemd_post:%systemd_post lightdm.service} -%if 0 -# tweak selinux to work out-of-the-box, see also: http://bugzilla.redhat.com/963238 -if [ "`getsebool xdm_write_home 2>/dev/null`" == 'xdm_write_home --> off' ] ; then - setsebool -P xdm_write_home on &> /dev/null ||: -fi -%endif %preun %{?systemd_preun:%systemd_preun lightdm.service} @@ -218,27 +196,27 @@ fi %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.DisplayManager.conf %config(noreplace) %{_sysconfdir}/pam.d/lightdm* %dir %{_sysconfdir}/lightdm/ +%dir %{_sysconfdir}/lightdm/lightdm.conf.d %config(noreplace) %{_sysconfdir}/lightdm/keys.conf %config(noreplace) %{_sysconfdir}/lightdm/lightdm.conf %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/ -%if 0%{?systemd} %{_unitdir}/lightdm.service -%{_unitdir}-preset/82-fedora-lightdm.preset %{_datadir}/polkit-1/rules.d/lightdm.rules -%endif # because of systemd %{_prefix}/lib/tmpfiles.d/lightdm.conf %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 @@ -261,15 +239,129 @@ fi %files qt %doc COPYING.LGPL2 COPYING.LGPL3 -%{_libdir}/liblightdm-qt-2.so.0* +%{_libdir}/liblightdm-qt-3.so.0* %files qt-devel -%{_includedir}/lightdm-qt-2/ -%{_libdir}/liblightdm-qt-2.so -%{_libdir}/pkgconfig/liblightdm-qt-2.pc +%{_includedir}/lightdm-qt-3/ +%{_libdir}/liblightdm-qt-3.so +%{_libdir}/pkgconfig/liblightdm-qt-3.pc %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 + +* Wed Jan 22 2014 Rex Dieter 1.8.6-1 +- lightdm-1.8.6 + +* Fri Nov 15 2013 Rex Dieter 1.8.5-2 +- create/own lightdm.conf.d dirs + +* Fri Nov 08 2013 Rex Dieter 1.8.5-1 +- lightdm-1.8.5 + +* Fri Nov 01 2013 Rex Dieter 1.8.4-1 +- lightdm-1.8.4 + +* Wed Oct 30 2013 Rex Dieter 1.8.3-1 +- lightdm-1.8.3 + +* Wed Oct 16 2013 Rex Dieter 1.8.2-1 +- lightdm-1.8.2 + +* Thu Oct 10 2013 Rex Dieter 1.8.1-1 +- lightdm-1.8.1 + +* Wed Oct 09 2013 Rex Dieter 1.8.0-2 +- lightdm has no service file (#1017390) + +* Wed Oct 09 2013 Rex Dieter 1.8.0-1 +- lightdm-1.8.0 (#1017081) + +* Tue Oct 08 2013 Rex Dieter 1.7.18-2 +- systemd support no longer conditional/optional +- lightdm user home /var/lib/lightdm (instead of /var/log/lightdm) + +* Mon Oct 07 2013 Rex Dieter 1.7.18-1 +- lightdm-1.7.18 (#1016230) + +* Sat Oct 05 2013 Rex Dieter 1.7.17-2 +- lightdm does not maintain login history using /var/log/wtmp (#1014285) +- Lightdm leaks 6 FDs (#973584) + +* Tue Sep 24 2013 Rex Dieter 1.7.17-1 +- lightdm-1.7.17 + +* Sat Sep 21 2013 Rex Dieter - 1.7.16-1 +- lightdm-1.7.16 (#1010183) +- add %%check (mostly useless now, but wip) +- cleanup scriptlets + +* Thu Sep 12 2013 Rex Dieter - 1.7.15-1 +- 1.7.15 (#1006773) +- Word-readable .Xauthority (#1007187, CVE-2013-4331) + +* Mon Sep 09 2013 Rex Dieter 1.7.13-1 +- 1.7.13 + +* Fri Sep 06 2013 Rex Dieter 1.7.12-1 +- 1.7.12 (#1001101) + +* Tue Aug 27 2013 Rex Dieter 1.7.11-2 +- rebase nodaemon_option.patch + +* Mon Aug 26 2013 Dan Mashal - 1.7.11-1 +- Update to 1.7.11 + +* Tue Aug 20 2013 Rex Dieter 1.7.9-3 +- remove systemd preset (#963899) + +* Thu Aug 08 2013 Rex Dieter 1.7.9-2 +- rebase patches (thanks poma) + +* Sat Aug 03 2013 Rex Dieter 1.7.9-1 +- lightdm-1.7.9 (#975998) + +* Sat Aug 03 2013 Fedora Release Engineering - 1.6.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Thu Jun 20 2013 Rex Dieter 1.6.0-10 - fix systemd-logind support in -gobject bindings (#973618) diff --git a/sources b/sources index dfb1140..1e6c449 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a729d991657c619109a89a5cf5421978 lightdm-1.6.0.tar.xz +0c3bc2027b792c8714dce6076dbf15c2 lightdm-1.10.2.tar.xz