r44045 - in /desktop/unstable/gnome-screensaver/debian: changelog control control.in patches/00git_logind_check.patch patches/14_no_fade_on_user_switch.patch patches/31_lock_screen_on_suspend.patch patches/series rules

mitya57-guest at users.alioth.debian.org mitya57-guest at users.alioth.debian.org
Sat Dec 13 12:02:30 UTC 2014


Author: mitya57-guest
Date: Sat Dec 13 12:02:29 2014
New Revision: 44045

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=44045
Log:
Reenable support for locking the screen on suspend (closes: #773026).

Added:
    desktop/unstable/gnome-screensaver/debian/patches/00git_logind_check.patch
    desktop/unstable/gnome-screensaver/debian/patches/14_no_fade_on_user_switch.patch
    desktop/unstable/gnome-screensaver/debian/patches/31_lock_screen_on_suspend.patch
Modified:
    desktop/unstable/gnome-screensaver/debian/changelog
    desktop/unstable/gnome-screensaver/debian/control
    desktop/unstable/gnome-screensaver/debian/control.in
    desktop/unstable/gnome-screensaver/debian/patches/series
    desktop/unstable/gnome-screensaver/debian/rules

Modified: desktop/unstable/gnome-screensaver/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/changelog?rev=44045&op=diff
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/changelog	[utf-8] (original)
+++ desktop/unstable/gnome-screensaver/debian/changelog	[utf-8] Sat Dec 13 12:02:29 2014
@@ -1,3 +1,22 @@
+gnome-screensaver (3.6.1-3) UNRELEASED; urgency=medium
+
+  * Team upload.
+
+  [ Faidon Liambotis ]
+  * Reenable support for locking the screen on suspend (closes: #773026).
+    - Build with systemd support by passing --with-systemd=auto to configure
+      and build-depending on libsystemd-login-dev. Use "auto" and a
+      [linux-any] dependency to keep compatibility with non-Linux systems.
+    - 00git_logind_check.patch from Ubuntu/upstream, to make this dependent on
+      just logind, not systemd-as-pid1, as recommended by systemd upstream &
+      Debian systemd maintainers. Drops libsystemd-daemon-dev build-dep.
+    - 31_lock_screen_on_suspend.patch from Ubuntu, to listen for logind's
+      PrepareForSleep signal, similarly to gnome-shell's behavior.
+    - 14_no_fade_on_user_switch.patch from Ubuntu, as to not fade on screen
+      lock. Prevents leaking of the screen contents on resume from suspend.
+
+ -- Dmitry Shachnev <mitya57 at debian.org>  Sat, 13 Dec 2014 15:00:54 +0300
+
 gnome-screensaver (3.6.1-2) unstable; urgency=medium
 
   * Team upload

Modified: desktop/unstable/gnome-screensaver/debian/control
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/control?rev=44045&op=diff
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/control	[utf-8] (original)
+++ desktop/unstable/gnome-screensaver/debian/control	[utf-8] Sat Dec 13 12:02:29 2014
@@ -19,8 +19,7 @@
                libgtk-3-dev (>= 3.0.0),
                libgnome-desktop-3-dev (>= 3.1.91),
                libgnomekbd-dev (>= 2.91.91),
-#               libsystemd-login-dev [linux-any],
-#               libsystemd-daemon-dev [linux-any],
+               libsystemd-login-dev [linux-any],
                libxklavier-dev,
                libx11-dev,
                libxt-dev,

Modified: desktop/unstable/gnome-screensaver/debian/control.in
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/control.in?rev=44045&op=diff
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/control.in	[utf-8] (original)
+++ desktop/unstable/gnome-screensaver/debian/control.in	[utf-8] Sat Dec 13 12:02:29 2014
@@ -15,8 +15,7 @@
                libgtk-3-dev (>= 3.0.0),
                libgnome-desktop-3-dev (>= 3.1.91),
                libgnomekbd-dev (>= 2.91.91),
-#               libsystemd-login-dev [linux-any],
-#               libsystemd-daemon-dev [linux-any],
+               libsystemd-login-dev [linux-any],
                libxklavier-dev,
                libx11-dev,
                libxt-dev,

Added: desktop/unstable/gnome-screensaver/debian/patches/00git_logind_check.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/patches/00git_logind_check.patch?rev=44045&op=file
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/patches/00git_logind_check.patch	(added)
+++ desktop/unstable/gnome-screensaver/debian/patches/00git_logind_check.patch	[utf-8] Sat Dec 13 12:02:29 2014
@@ -0,0 +1,55 @@
+From fd353244020cf53ce58f4abf69a5ec7893ca1fd1 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martinpitt at gnome.org>
+Date: Thu, 21 Mar 2013 10:24:20 +0000
+Subject: Check for logind, not for systemd
+
+It is possible to build systemd without logind, in which case
+/sys/fs/cgroup/systemd would still exist. Check for /run/systemd/seats instead,
+as recommended by systemd upstream.
+
+For details, see:
+<https://mail.gnome.org/archives/desktop-devel-list/2013-March/msg00092.html>
+
+Drop the now unnecessary linking against libsystemd-daemon.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=696264
+---
+--- a/configure.ac
++++ b/configure.ac
+@@ -601,7 +601,7 @@ AC_ARG_WITH(systemd,
+             [with_systemd=$withval], [with_systemd=auto])
+ 
+ PKG_CHECK_MODULES(SYSTEMD,
+-                  [libsystemd-login libsystemd-daemon],
++                  [libsystemd-login],
+                   [have_systemd=yes], [have_systemd=no])
+ 
+ if test "x$with_systemd" = "xauto" ; then
+--- a/src/gs-listener-dbus.c
++++ b/src/gs-listener-dbus.c
+@@ -25,6 +25,7 @@
+ #include <stdio.h>
+ #include <time.h>
+ #include <string.h>
++#include <unistd.h>
+ 
+ #include <glib/gi18n.h>
+ 
+@@ -33,7 +34,6 @@
+ #include <dbus/dbus-glib-lowlevel.h>
+ 
+ #ifdef WITH_SYSTEMD
+-#include <systemd/sd-daemon.h>
+ #include <systemd/sd-login.h>
+ #endif
+ 
+@@ -1479,7 +1479,8 @@ gs_listener_init (GSListener *listener)
+         listener->priv = GS_LISTENER_GET_PRIVATE (listener);
+ 
+ #ifdef WITH_SYSTEMD
+-        listener->priv->have_systemd = sd_booted () > 0;
++        /* check if logind is running */
++        listener->priv->have_systemd = (access("/run/systemd/seats/", F_OK) >= 0);
+ #endif
+ 
+         gs_listener_dbus_init (listener);

Added: desktop/unstable/gnome-screensaver/debian/patches/14_no_fade_on_user_switch.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/patches/14_no_fade_on_user_switch.patch?rev=44045&op=file
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/patches/14_no_fade_on_user_switch.patch	(added)
+++ desktop/unstable/gnome-screensaver/debian/patches/14_no_fade_on_user_switch.patch	[utf-8] Sat Dec 13 12:02:29 2014
@@ -0,0 +1,16 @@
+Description: Work around LP: #546578 by disabling the fade effect on screen locking
+Bug-Ubuntu: https://launchpad.net/bugs/546578
+Forwarded: not-needed
+Author: Chris Coulson <chris.coulson at canonical.com>
+
+--- a/src/gs-manager.c
++++ b/src/gs-manager.c
+@@ -1268,7 +1268,7 @@ gs_manager_activate (GSManager *manager)
+         manager->priv->active = TRUE;
+ 
+         /* fade to black and show windows */
+-        do_fade = TRUE;
++        do_fade = FALSE;
+         if (do_fade) {
+                 manager->priv->fading = TRUE;
+                 gs_debug ("fading out");

Added: desktop/unstable/gnome-screensaver/debian/patches/31_lock_screen_on_suspend.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/patches/31_lock_screen_on_suspend.patch?rev=44045&op=file
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/patches/31_lock_screen_on_suspend.patch	(added)
+++ desktop/unstable/gnome-screensaver/debian/patches/31_lock_screen_on_suspend.patch	[utf-8] Sat Dec 13 12:02:29 2014
@@ -0,0 +1,120 @@
+From f8f9beb6a3bf81240d36bfec43e5db9b102ea91e Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martinpitt at gnome.org>
+Date: Wed, 1 May 2013 10:55:49 -0700
+Subject: [PATCH] Lock screen on suspend
+
+Listen for logind's PrepareForSleep signal, and lock the screen (if configured
+to do so). This mirrors what gnome-shell's screensaver does.
+---
+ src/gs-listener-dbus.c | 28 ++++++++++++++++++++++++++++
+ src/gs-listener-dbus.h |  1 +
+ src/gs-monitor.c       | 20 ++++++++++++++++++++
+ 3 files changed, 49 insertions(+)
+
+--- a/src/gs-listener-dbus.c
++++ b/src/gs-listener-dbus.c
+@@ -83,6 +83,7 @@ struct GSListenerPrivate
+ 
+ enum {
+         LOCK,
++        CONFIG_LOCK,
+         QUIT,
+         SIMULATE_USER_ACTIVITY,
+         ACTIVE_CHANGED,
+@@ -872,6 +873,17 @@ listener_dbus_handle_system_message (DBu
+                         }
+ 
+                         return DBUS_HANDLER_RESULT_HANDLED;
++                } else if (dbus_message_is_signal (message, SYSTEMD_LOGIND_INTERFACE, "PrepareForSleep")) {
++                        gboolean active;
++                        if (dbus_message_get_args (message, NULL,
++                                    DBUS_TYPE_BOOLEAN, &active,
++                                    DBUS_TYPE_INVALID) && active) {
++                                gs_debug ("systemd notified that system is about to sleep");
++                                g_signal_emit (listener, signals [CONFIG_LOCK], 0);
++                        } else {
++                                gs_debug ("cannot parse PrepareForSleep");
++                        }
++                        return DBUS_HANDLER_RESULT_HANDLED;
+                 } else if (dbus_message_is_signal (message, DBUS_INTERFACE_PROPERTIES, "PropertiesChanged")) {
+ 
+                         if (_listener_message_path_is_our_session (listener, message)) {
+@@ -1186,6 +1198,16 @@ gs_listener_class_init (GSListenerClass
+                               g_cclosure_marshal_VOID__VOID,
+                               G_TYPE_NONE,
+                               0);
++        signals [CONFIG_LOCK] =
++                g_signal_new ("config-lock",
++                              G_TYPE_FROM_CLASS (object_class),
++                              G_SIGNAL_RUN_LAST,
++                              G_STRUCT_OFFSET (GSListenerClass, config_lock),
++                              NULL,
++                              NULL,
++                              g_cclosure_marshal_VOID__VOID,
++                              G_TYPE_NONE,
++                              0);
+         signals [QUIT] =
+                 g_signal_new ("quit",
+                               G_TYPE_FROM_CLASS (object_class),
+@@ -1371,6 +1393,12 @@ gs_listener_acquire (GSListener *listene
+                                             ",interface='"DBUS_INTERFACE_PROPERTIES"'"
+                                             ",member='PropertiesChanged'",
+                                             NULL);
++                        dbus_bus_add_match (listener->priv->system_connection,
++                                            "type='signal'"
++                                            ",sender='"SYSTEMD_LOGIND_SERVICE"'"
++                                            ",interface='"SYSTEMD_LOGIND_INTERFACE"'"
++                                            ",member='PrepareForSleep'",
++                                            NULL);
+ 
+                         return (res != -1);
+                 }
+--- a/src/gs-listener-dbus.h
++++ b/src/gs-listener-dbus.h
+@@ -45,6 +45,7 @@ typedef struct
+         GObjectClass       parent_class;
+ 
+         void            (* lock)                     (GSListener *listener);
++        void            (* config_lock)              (GSListener *listener);
+         void            (* quit)                     (GSListener *listener);
+         void            (* simulate_user_activity)   (GSListener *listener);
+         gboolean        (* active_changed)           (GSListener *listener,
+--- a/src/gs-monitor.c
++++ b/src/gs-monitor.c
+@@ -210,6 +210,19 @@ listener_lock_cb (GSListener *listener,
+ }
+ 
+ static void
++listener_config_lock_cb (GSListener *listener,
++                         GSMonitor  *monitor)
++{
++        if (! monitor->priv->prefs->lock_disabled) {
++		gs_debug ("Locking the screen suspend");
++		gs_monitor_lock_screen (monitor);
++        } else {
++                gs_debug ("Locking disabled by the administrator");
++        }
++
++}
++
++static void
+ listener_quit_cb (GSListener *listener,
+                   GSMonitor  *monitor)
+ {
+@@ -328,6 +341,7 @@ static void
+ disconnect_listener_signals (GSMonitor *monitor)
+ {
+         g_signal_handlers_disconnect_by_func (monitor->priv->listener, listener_lock_cb, monitor);
++        g_signal_handlers_disconnect_by_func (monitor->priv->listener, listener_config_lock_cb, monitor);
+         g_signal_handlers_disconnect_by_func (monitor->priv->listener, listener_quit_cb, monitor);
+         g_signal_handlers_disconnect_by_func (monitor->priv->listener, listener_active_changed_cb, monitor);
+         g_signal_handlers_disconnect_by_func (monitor->priv->listener, listener_simulate_user_activity_cb, monitor);
+@@ -339,6 +353,8 @@ connect_listener_signals (GSMonitor *mon
+ {
+         g_signal_connect (monitor->priv->listener, "lock",
+                           G_CALLBACK (listener_lock_cb), monitor);
++        g_signal_connect (monitor->priv->listener, "config-lock",
++                          G_CALLBACK (listener_config_lock_cb), monitor);
+         g_signal_connect (monitor->priv->listener, "quit",
+                           G_CALLBACK (listener_quit_cb), monitor);
+         g_signal_connect (monitor->priv->listener, "active-changed",

Modified: desktop/unstable/gnome-screensaver/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/patches/series?rev=44045&op=diff
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/patches/series	[utf-8] (original)
+++ desktop/unstable/gnome-screensaver/debian/patches/series	[utf-8] Sat Dec 13 12:02:29 2014
@@ -1 +1,4 @@
+00git_logind_check.patch
 01_no_autostart.patch
+14_no_fade_on_user_switch.patch
+31_lock_screen_on_suspend.patch

Modified: desktop/unstable/gnome-screensaver/debian/rules
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/rules?rev=44045&op=diff
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/rules	[utf-8] (original)
+++ desktop/unstable/gnome-screensaver/debian/rules	[utf-8] Sat Dec 13 12:02:29 2014
@@ -10,7 +10,7 @@
 DEB_CONFIGURE_EXTRA_FLAGS += \
 			--enable-locking \
 			--enable-docbook-docs \
-			--without-systemd
+			--with-systemd=auto
 
 LDFLAGS += -Wl,-z,defs -Wl,-O1 -Wl,--as-needed
 




More information about the pkg-gnome-commits mailing list