From 98bf2ac3fdd6f7bcb6ce45c932fc13c07fecc03f Mon Sep 17 00:00:00 2001 From: root Date: Wed, 25 Apr 2012 00:01:35 +0000 Subject: Wed Apr 25 00:01:35 UTC 2012 --- extra/gnome-settings-daemon/PKGBUILD | 34 +++-- .../gnome-settings-daemon.install | 10 +- extra/gnome-settings-daemon/systemd-fallback.patch | 154 +++++++++++++++++++++ 3 files changed, 175 insertions(+), 23 deletions(-) create mode 100644 extra/gnome-settings-daemon/systemd-fallback.patch (limited to 'extra/gnome-settings-daemon') diff --git a/extra/gnome-settings-daemon/PKGBUILD b/extra/gnome-settings-daemon/PKGBUILD index c34dc67ff..60da0cb70 100644 --- a/extra/gnome-settings-daemon/PKGBUILD +++ b/extra/gnome-settings-daemon/PKGBUILD @@ -1,35 +1,39 @@ -# $Id: PKGBUILD 142417 2011-11-09 07:29:52Z ibiru $ -# Maintainer: Jan de Groot +# $Id: PKGBUILD 156847 2012-04-23 09:07:29Z ibiru $ +# Maintainer: Jan Alexander Steffens (heftig) pkgname=gnome-settings-daemon -pkgver=3.2.2 +pkgver=3.4.1 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=('colord' 'dconf' 'gnome-desktop' 'gsettings-desktop-schemas' 'hicolor-icon-theme' 'libcanberra-pulse' 'libgnomekbd' 'libnotify' + 'libsystemd' 'libwacom' 'nss' 'pulseaudio' 'pulseaudio-alsa' 'upower') +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=('d5d4a270ec5692cdc56a58cfb57bc7f8fa93374566912a65e78c1c3db7faf4ed' + '3af86d4b341d5ca7c94cc814b250b122309d38f48be0bf0581d0c77e763a8008') build() { - cd "$srcdir/$pkgname-$pkgver" + cd $pkgname-$pkgver + + 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 - ./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 #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}" - make DESTDIR="${pkgdir}" install + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install } diff --git a/extra/gnome-settings-daemon/gnome-settings-daemon.install b/extra/gnome-settings-daemon/gnome-settings-daemon.install index 483fb9450..f7e8c46ac 100644 --- a/extra/gnome-settings-daemon/gnome-settings-daemon.install +++ b/extra/gnome-settings-daemon/gnome-settings-daemon.install @@ -1,12 +1,6 @@ post_install() { - usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor -} - -pre_upgrade() { - if (( $(vercmp $2 2.90.0) < 0 )); then - usr/sbin/gconfpkg --uninstall gnome-settings-daemon - fi + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor } post_upgrade() { diff --git a/extra/gnome-settings-daemon/systemd-fallback.patch b/extra/gnome-settings-daemon/systemd-fallback.patch new file mode 100644 index 000000000..da0496623 --- /dev/null +++ b/extra/gnome-settings-daemon/systemd-fallback.patch @@ -0,0 +1,154 @@ +commit b9ded09387f0b99ece97baee18595eb9e86a5b9b +Author: Jan Alexander Steffens (heftig) +Date: Mon Mar 12 01:52:54 2012 +0100 + + Fallback to CK if systemd is not available + + Be nice to distributions where systemd is optional. This will select + the code path at runtime depending on whether the system was booted + using systemd. + +diff --git a/configure.ac b/configure.ac +index 3b4789f..d522852 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -299,7 +299,7 @@ AC_ARG_ENABLE([systemd], + [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 --git a/gnome-settings-daemon/gnome-settings-session.c b/gnome-settings-daemon/gnome-settings-session.c +index 5786300..83fe21e 100644 +--- a/gnome-settings-daemon/gnome-settings-session.c ++++ b/gnome-settings-daemon/gnome-settings-session.c +@@ -30,6 +30,7 @@ + #include "gnome-settings-session.h" + + #ifdef HAVE_SYSTEMD ++#include + #include + + typedef struct +@@ -130,10 +131,9 @@ struct GnomeSettingsSessionPrivate + { + #ifdef HAVE_SYSTEMD + GSource *sd_source; +-#else ++#endif + GDBusProxy *proxy_session; + GCancellable *cancellable; +-#endif + gchar *session_id; + GnomeSettingsSessionState state; + }; +@@ -237,7 +237,7 @@ sessions_changed (gpointer user_data) + return TRUE; + } + +-#else /* HAVE_SYSTEMD */ ++#endif /* HAVE_SYSTEMD */ + + static void + gnome_settings_session_proxy_signal_cb (GDBusProxy *proxy, +@@ -371,22 +371,25 @@ got_manager_proxy_cb (GObject *source_object, GAsyncResult *res, gpointer user_d + 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; ++ ++ if (sd_booted () > 0) { ++ sd_pid_get_session (getpid(), &session->priv->session_id); + +- 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); ++ 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); + +- sessions_changed (session); +-#else ++ sessions_changed (session); ++ return; ++ } ++#endif + session->priv->cancellable = g_cancellable_new (); + + /* connect to ConsoleKit */ +@@ -399,7 +402,6 @@ gnome_settings_session_init (GnomeSettingsSession *session) + session->priv->cancellable, + got_manager_proxy_cb, + session); +-#endif + } + + static void +@@ -415,15 +417,17 @@ gnome_settings_session_finalize (GObject *object) + if (session->priv->sd_source != NULL) { + g_source_destroy (session->priv->sd_source); + g_source_unref (session->priv->sd_source); ++ goto out; + } +-#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); +-#endif + ++out: + G_OBJECT_CLASS (gnome_settings_session_parent_class)->finalize (object); + } + +diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c +index 8db04e5..9883d76 100644 +--- a/plugins/power/gsd-power-manager.c ++++ b/plugins/power/gsd-power-manager.c +@@ -2031,7 +2031,7 @@ systemd_stop (void) + g_object_unref (bus); + } + +-#else ++#endif + + static void + consolekit_stop_cb (GObject *source_object, +@@ -2081,7 +2081,6 @@ consolekit_stop (void) + consolekit_stop_cb, NULL); + g_object_unref (proxy); + } +-#endif + + static void + upower_sleep_cb (GObject *source_object, +@@ -2135,10 +2134,11 @@ do_power_action_type (GsdPowerManager *manager, + * 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, -- cgit v1.2.3-54-g00ecf