diff options
author | root <root@rshg054.dnsready.net> | 2012-03-12 00:01:32 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-03-12 00:01:32 +0000 |
commit | a6cb3ddef295c5feb4e03ee198dbb31cdf62d518 (patch) | |
tree | 4ea0c57a9a347779a3d69ebee2dc54d994a30235 /gnome-unstable/gnome-control-center | |
parent | 4640048ddd1331c9f6fc14b8921ccecdb6b1ea11 (diff) |
Mon Mar 12 00:01:32 UTC 2012
Diffstat (limited to 'gnome-unstable/gnome-control-center')
3 files changed, 185 insertions, 0 deletions
diff --git a/gnome-unstable/gnome-control-center/PKGBUILD b/gnome-unstable/gnome-control-center/PKGBUILD new file mode 100644 index 000000000..89466a93f --- /dev/null +++ b/gnome-unstable/gnome-control-center/PKGBUILD @@ -0,0 +1,46 @@ +# $Id: PKGBUILD 152916 2012-03-10 16:46:55Z heftig $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gnome-control-center +pkgver=3.3.91 +pkgrel=1 +pkgdesc="The Control Center for GNOME" +arch=('i686' 'x86_64') +depends=('gtk3' 'gsettings-desktop-schemas' 'gnome-menus' 'gnome-desktop' 'gnome-settings-daemon' + 'upower' 'libgtop' 'cups-pk-helper' 'accountsservice' 'sound-theme-freedesktop' + 'gnome-online-accounts' 'network-manager-applet' 'gnome-bluetooth' 'libsocialweb') +optdepends=('mesa-demos: provides glxinfo for graphics information' + 'apg: adds password generation for user accounts' + 'gnome-color-manager: for color management tasks' + 'cheese: take account photos via webcam') +makedepends=('gnome-doc-utils' 'intltool' 'gnome-common' 'cheese') +url="http://www.gnome.org" +groups=('gnome') +install=gnome-control-center.install +license=('GPL') +options=('!libtool' '!emptydirs') +source=(http://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz + systemd-fallback.patch) +sha256sums=('6a08f50d6760ef62e567aa1240fca054cc33e8aac37a4fb318cfb4d7b611abfb' + '8c9647c3bd1a69d9ce4d3716c235463f1cd33527cd8a241a2e88829f14da0494') + +build() { + cd ${pkgname}-${pkgver} + + patch -Np1 -i ../systemd-fallback.patch + gnome-autogen.sh --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --enable-systemd --with-libsocialweb \ + --disable-update-mimedb + + #https://bugzilla.gnome.org/show_bug.cgi?id=656229 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool + make +} + +package() { + cd ${pkgname}-${pkgver} + + make DESTDIR="${pkgdir}" install +} + diff --git a/gnome-unstable/gnome-control-center/gnome-control-center.install b/gnome-unstable/gnome-control-center/gnome-control-center.install new file mode 100644 index 000000000..eb703319f --- /dev/null +++ b/gnome-unstable/gnome-control-center/gnome-control-center.install @@ -0,0 +1,19 @@ +pkgname=gnome-control-center + +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +pre_upgrade() { + if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then + usr/sbin/gconfpkg --uninstall ${pkgname} + fi +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/gnome-unstable/gnome-control-center/systemd-fallback.patch b/gnome-unstable/gnome-control-center/systemd-fallback.patch new file mode 100644 index 000000000..a83629db6 --- /dev/null +++ b/gnome-unstable/gnome-control-center/systemd-fallback.patch @@ -0,0 +1,120 @@ +diff -u -Nr gnome-control-center-3.3.91/configure.ac gnome-control-center-3.3.91-systemd-fallback/configure.ac +--- gnome-control-center-3.3.91/configure.ac 2012-03-05 20:30:32.000000000 +0100 ++++ gnome-control-center-3.3.91-systemd-fallback/configure.ac 2012-03-07 00:06:01.752988448 +0100 +@@ -56,7 +56,7 @@ + [with_systemd=$enableval], + [with_systemd=no]) + if test "$with_systemd" = "yes" ; then +- SYSTEMD=libsystemd-login ++ SYSTEMD="libsystemd-login libsystemd-daemon" + AC_DEFINE(HAVE_SYSTEMD, 1, [Define to 1 if systemd is available]) + else + SYSTEMD= +diff -u -Nr gnome-control-center-3.3.91/panels/user-accounts/um-user.c gnome-control-center-3.3.91-systemd-fallback/panels/user-accounts/um-user.c +--- gnome-control-center-3.3.91/panels/user-accounts/um-user.c 2012-03-05 15:04:55.000000000 +0100 ++++ gnome-control-center-3.3.91-systemd-fallback/panels/user-accounts/um-user.c 2012-03-07 00:13:13.002755560 +0100 +@@ -37,6 +37,11 @@ + + #include <gio/gunixoutputstream.h> + ++#ifdef HAVE_SYSTEMD ++# include <systemd/sd-login.h> ++# include <systemd/sd-daemon.h> ++#endif ++ + #include "um-user.h" + #include "um-account-type.h" + #include "um-utils.h" +@@ -1003,57 +1008,50 @@ + } + } + +-#ifdef HAVE_SYSTEMD +- +-#include <systemd/sd-login.h> +- + gboolean + um_user_is_logged_in (UmUser *user) + { +- int n_sessions; +- +- n_sessions = sd_uid_get_sessions (um_user_get_uid (user), 0, NULL) > 0; +- +- return n_sessions > 0; +-} ++#ifdef HAVE_SYSTEMD ++ if (sd_booted () > 0) { ++ int n_sessions; + +-#else ++ n_sessions = sd_uid_get_sessions (um_user_get_uid (user), 0, NULL) > 0; + +-gboolean +-um_user_is_logged_in (UmUser *user) +-{ +- GVariant *result; +- GVariantIter *iter; +- gint n_sessions; +- GError *error = NULL; ++ return n_sessions > 0; ++ } else ++#endif ++ { ++ GVariant *result; ++ GVariantIter *iter; ++ gint n_sessions; ++ GError *error = NULL; ++ ++ result = g_dbus_connection_call_sync (user->bus, ++ "org.freedesktop.ConsoleKit", ++ "/org/freedesktop/ConsoleKit/Manager", ++ "org.freedesktop.ConsoleKit.Manager", ++ "GetSessionsForUnixUser", ++ g_variant_new ("(u)", um_user_get_uid (user)), ++ G_VARIANT_TYPE ("(ao)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ &error); ++ if (!result) { ++ g_warning ("GetSessionsForUnixUser failed: %s", error->message); ++ g_error_free (error); ++ return FALSE; ++ } ++ ++ g_variant_get (result, "(ao)", &iter); ++ n_sessions = g_variant_iter_n_children (iter); ++ g_variant_iter_free (iter); ++ g_variant_unref (result); + +- result = g_dbus_connection_call_sync (user->bus, +- "org.freedesktop.ConsoleKit", +- "/org/freedesktop/ConsoleKit/Manager", +- "org.freedesktop.ConsoleKit.Manager", +- "GetSessionsForUnixUser", +- g_variant_new ("(u)", um_user_get_uid (user)), +- G_VARIANT_TYPE ("(ao)"), +- G_DBUS_CALL_FLAGS_NONE, +- -1, +- NULL, +- &error); +- if (!result) { +- g_warning ("GetSessionsForUnixUser failed: %s", error->message); +- g_error_free (error); +- return FALSE; ++ return n_sessions > 0; + } +- +- g_variant_get (result, "(ao)", &iter); +- n_sessions = g_variant_iter_n_children (iter); +- g_variant_iter_free (iter); +- g_variant_unref (result); +- +- return n_sessions > 0; + } + +-#endif +- + void + um_user_set_automatic_login (UmUser *user, + gboolean enabled) |