[arch-commits] Commit in gnome-settings-daemon/trunk (PKGBUILD systemd-fallback.patch)

Jan Steffens heftig at archlinux.org
Sat Mar 10 10:30:23 EST 2012


    Date: Saturday, March 10, 2012 @ 10:30:22
  Author: heftig
Revision: 152885

3.3.91

Added:
  gnome-settings-daemon/trunk/systemd-fallback.patch
Modified:
  gnome-settings-daemon/trunk/PKGBUILD

------------------------+
 PKGBUILD               |   27 ++++---
 systemd-fallback.patch |  160 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 177 insertions(+), 10 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-03-10 15:17:46 UTC (rev 152884)
+++ PKGBUILD	2012-03-10 15:30:22 UTC (rev 152885)
@@ -2,34 +2,41 @@
 # Maintainer: Jan de Groot <jgc at archlinux.org>
 
 pkgname=gnome-settings-daemon
-pkgver=3.2.2
+pkgver=3.3.91
 pkgrel=1
 pkgdesc="The GNOME Settings daemon"
 arch=('i686' 'x86_64')
 license=('GPL')
-depends=('libgnomekbd' 'gnome-desktop' 'libnotify' 'hicolor-icon-theme' 'libcanberra-pulse' 'gsettings-desktop-schemas' 'nss' 'gconf' 'dconf' 'pulseaudio' 'pulseaudio-alsa' 'upower')
-makedepends=('intltool' 'gtk-doc' 'gnome-desktop')
+depends=('libgnomekbd' 'gnome-desktop' 'libnotify' 'hicolor-icon-theme' 'libcanberra-pulse'
+         'gsettings-desktop-schemas' 'nss' 'gconf' 'dconf' 'pulseaudio' 'pulseaudio-alsa'
+         'upower' 'libsystemd' 'libwacom' 'udev' 'colord')
+makedepends=('intltool' 'gtk-doc' 'gnome-desktop' 'gnome-common' 'xf86-input-wacom')
 options=('!emptydirs' '!libtool')
 install=gnome-settings-daemon.install
 url="http://www.gnome.org"
 groups=('gnome')
 replaces=(gnome-settings-daemon-pulse)
 conflicts=(gnome-settings-daemon-pulse)
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('d91cac869e23f36942720485f04c3029fd5286fafb6ad12b07377e527b1f6884')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz
+        systemd-fallback.patch)
+sha256sums=('78310aa753f9ed9e3440c8f98d63639adcf9ba18a11724ff72f78adb827a8fd4'
+            '29387c8176ec2f8c56060ea08865201ca9c7a27cb8ae5d93bdc4c3afe8e5516b')
 
 build() {
-  cd "$srcdir/$pkgname-$pkgver"
+  cd $pkgname-$pkgver
 
-  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
-      --libexecdir=/usr/lib/gnome-settings-daemon --disable-static --enable-pulse \
-      --with-pnpids=/usr/share/libgnome-desktop-3.0/pnp.ids
+  patch -Np1 -i ../systemd-fallback.patch
+  gnome-autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+      --libexecdir=/usr/lib/gnome-settings-daemon --disable-static \
+      --enable-systemd
+
   #https://bugzilla.gnome.org/show_bug.cgi?id=656231
   sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
   make
 }
 
 package() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
+  cd ${pkgname}-${pkgver}
   make DESTDIR="${pkgdir}" install
 }

Added: systemd-fallback.patch
===================================================================
--- systemd-fallback.patch	                        (rev 0)
+++ systemd-fallback.patch	2012-03-10 15:30:22 UTC (rev 152885)
@@ -0,0 +1,160 @@
+diff -u -Nr gnome-settings-daemon-3.3.91/configure.ac gnome-settings-daemon-3.3.91-systemd-fallback/configure.ac
+--- gnome-settings-daemon-3.3.91/configure.ac	2012-03-05 19:13:16.000000000 +0100
++++ gnome-settings-daemon-3.3.91-systemd-fallback/configure.ac	2012-03-10 16:20:31.417634553 +0100
+@@ -298,7 +298,7 @@
+               [with_systemd=$enableval],
+               [with_systemd=no])
+ if test "$with_systemd" = "yes" ; then
+-  PKG_CHECK_MODULES(SYSTEMD, [libsystemd-login])
++  PKG_CHECK_MODULES(SYSTEMD, [libsystemd-daemon libsystemd-login])
+   AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is used for session tracking])
+   SESSION_TRACKING=systemd
+ else
+diff -u -Nr gnome-settings-daemon-3.3.91/gnome-settings-daemon/gnome-settings-session.c gnome-settings-daemon-3.3.91-systemd-fallback/gnome-settings-daemon/gnome-settings-session.c
+--- gnome-settings-daemon-3.3.91/gnome-settings-daemon/gnome-settings-session.c	2012-02-01 20:33:14.000000000 +0100
++++ gnome-settings-daemon-3.3.91-systemd-fallback/gnome-settings-daemon/gnome-settings-session.c	2012-03-10 16:21:35.930442794 +0100
+@@ -30,6 +30,7 @@
+ #include "gnome-settings-session.h"
+ 
+ #ifdef HAVE_SYSTEMD
++#include <systemd/sd-daemon.h>
+ #include <systemd/sd-login.h>
+ 
+ typedef struct
+@@ -130,10 +131,9 @@
+ {
+ #ifdef HAVE_SYSTEMD
+         GSource                   *sd_source;
+-#else
++#endif
+ 	GDBusProxy		*proxy_session;
+ 	GCancellable		*cancellable;
+-#endif
+ 	gchar			*session_id;
+ 	GnomeSettingsSessionState state;
+ };
+@@ -237,7 +237,7 @@
+         return TRUE;
+ }
+ 
+-#else /* HAVE_SYSTEMD */
++#endif /* HAVE_SYSTEMD */
+ 
+ static void
+ gnome_settings_session_proxy_signal_cb (GDBusProxy *proxy,
+@@ -371,35 +371,38 @@
+ 	g_object_unref (proxy_manager);
+ }
+ 
+-#endif /* HAVE_SYSTEMD */
+-
+ static void
+ gnome_settings_session_init (GnomeSettingsSession *session)
+ {
+ 	session->priv = GNOME_SETTINGS_SESSION_GET_PRIVATE (session);
+ 
+ #ifdef HAVE_SYSTEMD
+-        sd_pid_get_session (getpid(), &session->priv->session_id);
++        session->priv->sd_source = NULL;
+ 
+-        session->priv->sd_source = sd_source_new ();
+-        g_source_set_callback (session->priv->sd_source, sessions_changed, session, NULL);
+-        g_source_attach (session->priv->sd_source, NULL);
++        if (sd_booted () > 0) {
++                sd_pid_get_session (getpid(), &session->priv->session_id);
+ 
+-        sessions_changed (session);
+-#else
+-	session->priv->cancellable = g_cancellable_new ();
++                session->priv->sd_source = sd_source_new ();
++                g_source_set_callback (session->priv->sd_source, sessions_changed, session, NULL);
++                g_source_attach (session->priv->sd_source, NULL);
+ 
+-	/* connect to ConsoleKit */
+-	g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
+-				  G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
+-				  NULL,
+-				  CONSOLEKIT_NAME,
+-				  CONSOLEKIT_MANAGER_PATH,
+-				  CONSOLEKIT_MANAGER_INTERFACE,
+-				  session->priv->cancellable,
+-				  got_manager_proxy_cb,
+-				  session);
++                sessions_changed (session);
++        } else
+ #endif
++        {
++                session->priv->cancellable = g_cancellable_new ();
++
++                /* connect to ConsoleKit */
++                g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
++                                          G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
++                                          NULL,
++                                          CONSOLEKIT_NAME,
++                                          CONSOLEKIT_MANAGER_PATH,
++                                          CONSOLEKIT_MANAGER_INTERFACE,
++                                          session->priv->cancellable,
++                                          got_manager_proxy_cb,
++                                          session);
++        }
+ }
+ 
+ static void
+@@ -415,14 +418,15 @@
+         if (session->priv->sd_source != NULL) {
+                 g_source_destroy (session->priv->sd_source);
+                 g_source_unref (session->priv->sd_source);
+-        }
+-#else
+-	g_cancellable_cancel (session->priv->cancellable);
+-
+-	if (session->priv->proxy_session != NULL)
+-		g_object_unref (session->priv->proxy_session);
+-	g_object_unref (session->priv->cancellable);
++        } else
+ #endif
++        {
++                g_cancellable_cancel (session->priv->cancellable);
++
++                if (session->priv->proxy_session != NULL)
++                        g_object_unref (session->priv->proxy_session);
++                g_object_unref (session->priv->cancellable);
++        }
+ 
+ 	G_OBJECT_CLASS (gnome_settings_session_parent_class)->finalize (object);
+ }
+diff -u -Nr gnome-settings-daemon-3.3.91/plugins/power/gsd-power-manager.c gnome-settings-daemon-3.3.91-systemd-fallback/plugins/power/gsd-power-manager.c
+--- gnome-settings-daemon-3.3.91/plugins/power/gsd-power-manager.c	2012-03-05 18:27:43.000000000 +0100
++++ gnome-settings-daemon-3.3.91-systemd-fallback/plugins/power/gsd-power-manager.c	2012-03-10 16:20:31.417634553 +0100
+@@ -2031,7 +2031,7 @@
+         g_object_unref (bus);
+ }
+ 
+-#else
++#endif
+ 
+ static void
+ consolekit_stop_cb (GObject *source_object,
+@@ -2081,7 +2081,6 @@
+                            consolekit_stop_cb, NULL);
+         g_object_unref (proxy);
+ }
+-#endif
+ 
+ static void
+ upower_sleep_cb (GObject *source_object,
+@@ -2135,10 +2134,11 @@
+                  * hibernate is not available and is marginally better
+                  * than just powering down the computer mid-write */
+ #ifdef HAVE_SYSTEMD
+-                systemd_stop ();
+-#else
+-                consolekit_stop ();
++                if (sd_booted () > 0)
++                        systemd_stop ();
++                else
+ #endif
++                        consolekit_stop ();
+                 break;
+         case GSD_POWER_ACTION_BLANK:
+                 ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,



More information about the arch-commits mailing list