Date: Friday, April 11, 2014 @ 03:14:31 Author: bgyorgy Revision: 109159
archrelease: copy trunk to community-testing-i686, community-testing-x86_64 Added: gnome-settings-daemon-updates/repos/community-testing-i686/ gnome-settings-daemon-updates/repos/community-testing-i686/PKGBUILD (from rev 109158, gnome-settings-daemon-updates/trunk/PKGBUILD) gnome-settings-daemon-updates/repos/community-testing-i686/arch.patch (from rev 109158, gnome-settings-daemon-updates/trunk/arch.patch) gnome-settings-daemon-updates/repos/community-testing-i686/gnome-settings-daemon.install (from rev 109158, gnome-settings-daemon-updates/trunk/gnome-settings-daemon.install) gnome-settings-daemon-updates/repos/community-testing-i686/packagekit-0.8.patch (from rev 109158, gnome-settings-daemon-updates/trunk/packagekit-0.8.patch) gnome-settings-daemon-updates/repos/community-testing-x86_64/ gnome-settings-daemon-updates/repos/community-testing-x86_64/PKGBUILD (from rev 109158, gnome-settings-daemon-updates/trunk/PKGBUILD) gnome-settings-daemon-updates/repos/community-testing-x86_64/arch.patch (from rev 109158, gnome-settings-daemon-updates/trunk/arch.patch) gnome-settings-daemon-updates/repos/community-testing-x86_64/gnome-settings-daemon.install (from rev 109158, gnome-settings-daemon-updates/trunk/gnome-settings-daemon.install) gnome-settings-daemon-updates/repos/community-testing-x86_64/packagekit-0.8.patch (from rev 109158, gnome-settings-daemon-updates/trunk/packagekit-0.8.patch) --------------------------------------------------------+ community-testing-i686/PKGBUILD | 47 ++ community-testing-i686/arch.patch | 336 +++++++++++++++ community-testing-i686/gnome-settings-daemon.install | 12 community-testing-i686/packagekit-0.8.patch | 60 ++ community-testing-x86_64/PKGBUILD | 47 ++ community-testing-x86_64/arch.patch | 336 +++++++++++++++ community-testing-x86_64/gnome-settings-daemon.install | 12 community-testing-x86_64/packagekit-0.8.patch | 60 ++ 8 files changed, 910 insertions(+) Copied: gnome-settings-daemon-updates/repos/community-testing-i686/PKGBUILD (from rev 109158, gnome-settings-daemon-updates/trunk/PKGBUILD) =================================================================== --- community-testing-i686/PKGBUILD (rev 0) +++ community-testing-i686/PKGBUILD 2014-04-11 01:14:31 UTC (rev 109159) @@ -0,0 +1,47 @@ +# $Id$ +# Maintainer: Jonathan Conder <jonno.con...@gmail.com> + +_pkgname=gnome-settings-daemon +pkgname=$_pkgname-updates +pkgver=3.12.0.1 +pkgrel=1 +pkgdesc="Updates plugin for the GNOME Settings daemon" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gnome-packagekit' "$_pkgname") +makedepends=('intltool' 'gtk-doc' 'gnome-desktop' 'gnome-common' 'xf86-input-wacom') +options=('!emptydirs') +install=$_pkgname.install +url="http://www.gnome.org" +source=("http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver:0:4}/$_pkgname-$pkgver.tar.xz" + 'packagekit-0.8.patch' + 'arch.patch') +sha256sums=('c21cfcee008da6935ed7f7e814a788a951ba67cc728e43f888b174701cd96847' + '2fd5ee457f5d57bfd9edef049719f55ab1cab5fe6d0fb422f91fe363c02e6efd' + '217004c112b18cf136c535ef3d6cc90f0cecc495573cfb8653ff089230d248bb') + +prepare() { + cd "$srcdir/$_pkgname-$pkgver" + patch -RNp1 -i "$srcdir/packagekit-0.8.patch" + patch -Np1 -i "$srcdir/arch.patch" +} + +build() { + cd "$srcdir/$_pkgname-$pkgver" + autoreconf -fi + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/gnome-settings-daemon \ + --disable-static + + #https://bugzilla.gnome.org/show_bug.cgi?id=656231 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make -C 'gnome-settings-daemon' + make -C 'plugins/updates' +} + +package() { + cd "$srcdir/$_pkgname-$pkgver" + make -C 'plugins/updates' DESTDIR="${pkgdir}" install +} Copied: gnome-settings-daemon-updates/repos/community-testing-i686/arch.patch (from rev 109158, gnome-settings-daemon-updates/trunk/arch.patch) =================================================================== --- community-testing-i686/arch.patch (rev 0) +++ community-testing-i686/arch.patch 2014-04-11 01:14:31 UTC (rev 109159) @@ -0,0 +1,336 @@ +diff --git a/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in b/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in +index 9af2718..bb45e48 100644 +--- a/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in ++++ b/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in +@@ -16,7 +16,7 @@ + <_description>Use mobile broadband connections such as GSM and CDMA to check for updates.</_description> + </key> + <key name="auto-download-updates" type="b"> +- <default>true</default> ++ <default>false</default> + <_summary>Automatically download updates in the background without confirmation</_summary> + <_description>Automatically download updates in the background without confirmation. Updates will be auto-downloaded when using wired network connnections, and mobile broadband if 'connection-use-mobile' is enabled.</_description> + </key> +@@ -36,7 +36,7 @@ + <_description>The last time we notified the user about non-critical updates. Value is in seconds since the epoch, or zero for never.</_description> + </key> + <key name="frequency-get-upgrades" type="i"> +- <default>604800</default> ++ <default>0</default> + <_summary>How often to check for distribution upgrades</_summary> + <_description>How often to check for distribution upgrades. Value is in seconds.</_description> + </key> +diff --git a/plugins/updates/Makefile.am b/plugins/updates/Makefile.am +index 81c7179..6fd3534 100644 +--- a/plugins/updates/Makefile.am ++++ b/plugins/updates/Makefile.am +@@ -15,7 +15,9 @@ libupdates_la_SOURCES = \ + gsd-updates-firmware.h \ + gsd-updates-firmware.c \ + gsd-updates-manager.h \ +- gsd-updates-manager.c ++ gsd-updates-manager.c \ ++ gsd-updates-watch.h \ ++ gsd-updates-watch.c + + libupdates_la_CPPFLAGS = \ + -I$(top_srcdir)/gnome-settings-daemon \ +@@ -58,7 +60,9 @@ gsd_test_updates_SOURCES = \ + gsd-updates-firmware.h \ + gsd-updates-firmware.c \ + gsd-updates-manager.h \ +- gsd-updates-manager.c ++ gsd-updates-manager.c \ ++ gsd-updates-watch.h \ ++ gsd-updates-watch.c + + gsd_test_updates_CPPFLAGS = \ + -I$(top_srcdir)/data/ \ +diff --git a/plugins/updates/gsd-updates-manager.c b/plugins/updates/gsd-updates-manager.c +index 95ee1c4..7b26c06 100644 +--- a/plugins/updates/gsd-updates-manager.c ++++ b/plugins/updates/gsd-updates-manager.c +@@ -33,6 +33,7 @@ + #include "gsd-updates-manager.h" + #include "gsd-updates-firmware.h" + #include "gsd-updates-refresh.h" ++#include "gsd-updates-watch.h" + #include "gsd-updates-common.h" + #include "gnome-settings-profile.h" + +@@ -47,6 +48,7 @@ struct GsdUpdatesManagerPrivate + GCancellable *cancellable; + GsdUpdatesRefresh *refresh; + GsdUpdatesFirmware *firmware; ++ GsdUpdatesWatch *watch; + GSettings *settings_proxy; + GSettings *settings_ftp; + GSettings *settings_gsd; +@@ -1360,6 +1362,9 @@ gsd_updates_manager_start (GsdUpdatesManager *manager, + g_signal_connect (manager->priv->refresh, "get-updates", + G_CALLBACK (due_get_updates_cb), manager); + ++ /* watch transaction progress */ ++ manager->priv->watch = gsd_updates_watch_new (); ++ + /* get proxy settings */ + manager->priv->settings_proxy = g_settings_new ("org.gnome.system.proxy"); + g_signal_connect (manager->priv->settings_proxy, "changed", +@@ -1455,6 +1460,7 @@ gsd_updates_manager_stop (GsdUpdatesManager *manager) + g_clear_object (&manager->priv->task); + g_clear_object (&manager->priv->refresh); + g_clear_object (&manager->priv->firmware); ++ g_clear_object (&manager->priv->watch); + g_clear_object (&manager->priv->proxy_session); + g_clear_object (&manager->priv->volume_monitor); + g_clear_object (&manager->priv->cancellable); +diff --git a/plugins/updates/gsd-updates-watch.c b/plugins/updates/gsd-updates-watch.c +new file mode 100644 +index 0000000..d3a0202 +--- /dev/null ++++ b/plugins/updates/gsd-updates-watch.c +@@ -0,0 +1,186 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2011-2012 Jonathan Conder <jonno.con...@gmail.com> ++ * ++ * Licensed under the GNU General Public License Version 2 ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++#include "config.h" ++ ++#include <unistd.h> ++#include <glib/gi18n.h> ++#include <packagekit-glib2/packagekit.h> ++#include <libnotify/notify.h> ++ ++#include "gsd-updates-watch.h" ++ ++#define GSD_UPDATES_WATCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_UPDATES_WATCH, GsdUpdatesWatchPrivate)) ++ ++struct GsdUpdatesWatchPrivate ++{ ++ PkTransactionList *tlist; ++ PkClient *client; ++}; ++ ++G_DEFINE_TYPE (GsdUpdatesWatch, gsd_updates_watch, G_TYPE_OBJECT) ++ ++static void ++on_notification_closed (NotifyNotification *notification, gpointer data) ++{ ++ g_object_unref (notification); ++} ++ ++static void ++gsd_updates_watch_message_cb (PkMessage *item, GsdUpdatesWatch *watch) ++{ ++ NotifyNotification *notification; ++ gchar *details = NULL; ++ const gchar *title, *message; ++ GError *error = NULL; ++ ++ g_return_if_fail (PK_IS_MESSAGE (item)); ++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch)); ++ ++ g_object_get (item, "details", &details, NULL); ++ title = _("More information"); ++ message = details; ++ ++ /* use a better title if available */ ++ if (g_str_has_prefix (details, "<b>")) { ++ gchar *end = g_strstr_len (details, -1, "</b>\n"); ++ if (end != NULL && g_strstr_len (details, end - details, "\n") == NULL) { ++ title = details + 3; ++ *end = '\0'; ++ message = end + 5; ++ } ++ } ++ ++ /* display a notification */ ++ notification = notify_notification_new (title, message, NULL); ++ notify_notification_set_app_name (notification, _("Software Updates")); ++ notify_notification_set_timeout (notification, NOTIFY_EXPIRES_NEVER); ++ notify_notification_set_urgency (notification, NOTIFY_URGENCY_NORMAL); ++ ++ g_signal_connect (notification, "closed", G_CALLBACK (on_notification_closed), NULL); ++ if (!notify_notification_show (notification, &error)) { ++ g_warning ("error: %s", error->message); ++ g_error_free (error); ++ } ++ ++ g_free (details); ++} ++ ++static void ++gsd_updates_watch_adopt_cb (PkClient *client, GAsyncResult *res, GsdUpdatesWatch *watch) ++{ ++ PkResults *results; ++ PkProgress *progress = NULL; ++ guint uid; ++ GPtrArray *array; ++ GError *error = NULL; ++ ++ g_return_if_fail (PK_IS_CLIENT (client)); ++ g_return_if_fail (G_IS_ASYNC_RESULT (res)); ++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch)); ++ ++ results = pk_client_generic_finish (client, res, &error); ++ if (results == NULL) { ++ g_warning ("failed to adopt: %s", error->message); ++ g_error_free (error); ++ goto out; ++ } ++ ++ g_object_get (results, "progress", &progress, NULL); ++ g_object_get (progress, "uid", &uid, NULL); ++ ++ /* only display messages from the same user */ ++ if (uid != getuid ()) { ++ g_printerr ("ignoring messages\n"); ++ goto out; ++ } ++ ++ array = pk_results_get_message_array (results); ++ g_ptr_array_foreach (array, (GFunc) gsd_updates_watch_message_cb, watch); ++ g_ptr_array_unref (array); ++ ++out: ++ if (progress != NULL) { ++ g_object_unref (progress); ++ } ++ if (results != NULL) { ++ g_object_unref (results); ++ } ++} ++ ++static void ++gsd_updates_watch_tlist_added_cb (PkTransactionList *tlist, const gchar *tid, GsdUpdatesWatch *watch) ++{ ++ g_return_if_fail (PK_IS_TRANSACTION_LIST (tlist)); ++ g_return_if_fail (tid != NULL); ++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch)); ++ ++ /* listen for messages */ ++ pk_client_adopt_async (watch->priv->client, tid, NULL, NULL, NULL, ++ (GAsyncReadyCallback) gsd_updates_watch_adopt_cb, watch); ++} ++ ++static void ++gsd_updates_watch_init (GsdUpdatesWatch *watch) ++{ ++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch)); ++ ++ watch->priv = GSD_UPDATES_WATCH_GET_PRIVATE (watch); ++ watch->priv->tlist = pk_transaction_list_new (); ++ watch->priv->client = pk_client_new (); ++ ++ g_signal_connect (watch->priv->tlist, "added", ++ G_CALLBACK (gsd_updates_watch_tlist_added_cb), watch); ++} ++ ++static void ++gsd_updates_watch_finalize (GObject *object) ++{ ++ GsdUpdatesWatch *watch; ++ ++ g_return_if_fail (GSD_IS_UPDATES_WATCH (object)); ++ ++ watch = GSD_UPDATES_WATCH (object); ++ g_return_if_fail (watch->priv != NULL); ++ ++ if (watch->priv->tlist != NULL) { ++ g_object_unref (watch->priv->tlist); ++ } ++ if (watch->priv->client != NULL) { ++ g_object_unref (watch->priv->client); ++ } ++ ++ G_OBJECT_CLASS (gsd_updates_watch_parent_class)->finalize (object); ++} ++ ++GsdUpdatesWatch * ++gsd_updates_watch_new (void) ++{ ++ return GSD_UPDATES_WATCH (g_object_new (GSD_TYPE_UPDATES_WATCH, NULL)); ++} ++ ++static void ++gsd_updates_watch_class_init (GsdUpdatesWatchClass *klass) ++{ ++ GObjectClass *object_class = G_OBJECT_CLASS (klass); ++ object_class->finalize = gsd_updates_watch_finalize; ++ g_type_class_add_private (klass, sizeof (GsdUpdatesWatchPrivate)); ++} +diff --git a/plugins/updates/gsd-updates-watch.h b/plugins/updates/gsd-updates-watch.h +new file mode 100644 +index 0000000..439464f +--- /dev/null ++++ b/plugins/updates/gsd-updates-watch.h +@@ -0,0 +1,52 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2011-2012 Jonathan Conder <jonno.con...@gmail.com> ++ * ++ * Licensed under the GNU General Public License Version 2 ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++#ifndef __GSD_UPDATES_WATCH_H ++#define __GSD_UPDATES_WATCH_H ++ ++#include <glib-object.h> ++ ++G_BEGIN_DECLS ++ ++#define GSD_TYPE_UPDATES_WATCH (gsd_updates_watch_get_type ()) ++#define GSD_UPDATES_WATCH(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_UPDATES_WATCH, GsdUpdatesWatch)) ++#define GSD_UPDATES_WATCH_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_UPDATES_WATCH, GsdUpdatesWatchClass)) ++#define GSD_IS_UPDATES_WATCH(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_UPDATES_WATCH)) ++ ++typedef struct GsdUpdatesWatchPrivate GsdUpdatesWatchPrivate; ++ ++typedef struct ++{ ++ GObject parent; ++ GsdUpdatesWatchPrivate *priv; ++} GsdUpdatesWatch; ++ ++typedef struct ++{ ++ GObjectClass parent_class; ++} GsdUpdatesWatchClass; ++ ++GType gsd_updates_watch_get_type (void); ++GsdUpdatesWatch *gsd_updates_watch_new (void); ++ ++G_END_DECLS ++ ++#endif /* __GSD_UPDATES_WATCH_H */ Copied: gnome-settings-daemon-updates/repos/community-testing-i686/gnome-settings-daemon.install (from rev 109158, gnome-settings-daemon-updates/trunk/gnome-settings-daemon.install) =================================================================== --- community-testing-i686/gnome-settings-daemon.install (rev 0) +++ community-testing-i686/gnome-settings-daemon.install 2014-04-11 01:14:31 UTC (rev 109159) @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} Copied: gnome-settings-daemon-updates/repos/community-testing-i686/packagekit-0.8.patch (from rev 109158, gnome-settings-daemon-updates/trunk/packagekit-0.8.patch) =================================================================== --- community-testing-i686/packagekit-0.8.patch (rev 0) +++ community-testing-i686/packagekit-0.8.patch 2014-04-11 01:14:31 UTC (rev 109159) @@ -0,0 +1,60 @@ +From 5f4f1ed45747343f26f280401bc4915d92b71d89 Mon Sep 17 00:00:00 2001 +From: Richard Hughes <rich...@hughsie.com> +Date: Mon, 30 Sep 2013 12:06:22 +0000 +Subject: updates: Raise the dep on PackageKit to avoid complexity + +--- +diff --git a/configure.ac b/configure.ac +index 87eb473..199542c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -306,7 +306,7 @@ AC_ARG_ENABLE(packagekit, + [WANT_PACKAGEKIT=yes]) dnl Default value + + if test x$WANT_PACKAGEKIT = xyes ; then +- PK_REQUIRED_VERSION=0.7.4 ++ PK_REQUIRED_VERSION=0.8.1 + PKG_CHECK_MODULES(PACKAGEKIT, glib-2.0 packagekit-glib2 >= $PK_REQUIRED_VERSION upower-glib >= $UPOWER_REQUIRED_VERSION gudev-1.0 libnotify >= $LIBNOTIFY_REQUIRED_VERSION, + [have_packagekit=true + AC_DEFINE(HAVE_PACKAGEKIT, 1, [Define if PackageKit should be used])], +diff --git a/plugins/updates/gsd-updates-manager.c b/plugins/updates/gsd-updates-manager.c +index 3aff29a..0f73a42 100644 +--- a/plugins/updates/gsd-updates-manager.c ++++ b/plugins/updates/gsd-updates-manager.c +@@ -742,7 +742,6 @@ auto_download_updates (GsdUpdatesManager *manager) + package_ids[i] = g_strdup (pk_package_get_id (pkg)); + } + +-#if PK_CHECK_VERSION(0,8,1) + /* we've set only-download in PkTask */ + pk_task_update_packages_async (manager->priv->task, + package_ids, +@@ -750,16 +749,6 @@ auto_download_updates (GsdUpdatesManager *manager) + NULL, NULL, + (GAsyncReadyCallback) package_download_finished_cb, + manager); +-#else +- /* download them all */ +- pk_client_download_packages_async (PK_CLIENT(manager->priv->task), +- package_ids, +- NULL, /* this means system cache */ +- manager->priv->cancellable, +- NULL, NULL, +- (GAsyncReadyCallback) package_download_finished_cb, +- manager); +-#endif + g_strfreev (package_ids); + } + +@@ -1506,9 +1495,7 @@ gsd_updates_manager_start (GsdUpdatesManager *manager, + g_object_set (manager->priv->task, + "background", TRUE, + "interactive", FALSE, +-#if PK_CHECK_VERSION(0,8,1) + "only-download", TRUE, +-#endif + NULL); + + /* watch UDev for missing firmware */ +-- +cgit v0.9.2 Copied: gnome-settings-daemon-updates/repos/community-testing-x86_64/PKGBUILD (from rev 109158, gnome-settings-daemon-updates/trunk/PKGBUILD) =================================================================== --- community-testing-x86_64/PKGBUILD (rev 0) +++ community-testing-x86_64/PKGBUILD 2014-04-11 01:14:31 UTC (rev 109159) @@ -0,0 +1,47 @@ +# $Id$ +# Maintainer: Jonathan Conder <jonno.con...@gmail.com> + +_pkgname=gnome-settings-daemon +pkgname=$_pkgname-updates +pkgver=3.12.0.1 +pkgrel=1 +pkgdesc="Updates plugin for the GNOME Settings daemon" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gnome-packagekit' "$_pkgname") +makedepends=('intltool' 'gtk-doc' 'gnome-desktop' 'gnome-common' 'xf86-input-wacom') +options=('!emptydirs') +install=$_pkgname.install +url="http://www.gnome.org" +source=("http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver:0:4}/$_pkgname-$pkgver.tar.xz" + 'packagekit-0.8.patch' + 'arch.patch') +sha256sums=('c21cfcee008da6935ed7f7e814a788a951ba67cc728e43f888b174701cd96847' + '2fd5ee457f5d57bfd9edef049719f55ab1cab5fe6d0fb422f91fe363c02e6efd' + '217004c112b18cf136c535ef3d6cc90f0cecc495573cfb8653ff089230d248bb') + +prepare() { + cd "$srcdir/$_pkgname-$pkgver" + patch -RNp1 -i "$srcdir/packagekit-0.8.patch" + patch -Np1 -i "$srcdir/arch.patch" +} + +build() { + cd "$srcdir/$_pkgname-$pkgver" + autoreconf -fi + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/gnome-settings-daemon \ + --disable-static + + #https://bugzilla.gnome.org/show_bug.cgi?id=656231 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make -C 'gnome-settings-daemon' + make -C 'plugins/updates' +} + +package() { + cd "$srcdir/$_pkgname-$pkgver" + make -C 'plugins/updates' DESTDIR="${pkgdir}" install +} Copied: gnome-settings-daemon-updates/repos/community-testing-x86_64/arch.patch (from rev 109158, gnome-settings-daemon-updates/trunk/arch.patch) =================================================================== --- community-testing-x86_64/arch.patch (rev 0) +++ community-testing-x86_64/arch.patch 2014-04-11 01:14:31 UTC (rev 109159) @@ -0,0 +1,336 @@ +diff --git a/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in b/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in +index 9af2718..bb45e48 100644 +--- a/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in ++++ b/data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in.in +@@ -16,7 +16,7 @@ + <_description>Use mobile broadband connections such as GSM and CDMA to check for updates.</_description> + </key> + <key name="auto-download-updates" type="b"> +- <default>true</default> ++ <default>false</default> + <_summary>Automatically download updates in the background without confirmation</_summary> + <_description>Automatically download updates in the background without confirmation. Updates will be auto-downloaded when using wired network connnections, and mobile broadband if 'connection-use-mobile' is enabled.</_description> + </key> +@@ -36,7 +36,7 @@ + <_description>The last time we notified the user about non-critical updates. Value is in seconds since the epoch, or zero for never.</_description> + </key> + <key name="frequency-get-upgrades" type="i"> +- <default>604800</default> ++ <default>0</default> + <_summary>How often to check for distribution upgrades</_summary> + <_description>How often to check for distribution upgrades. Value is in seconds.</_description> + </key> +diff --git a/plugins/updates/Makefile.am b/plugins/updates/Makefile.am +index 81c7179..6fd3534 100644 +--- a/plugins/updates/Makefile.am ++++ b/plugins/updates/Makefile.am +@@ -15,7 +15,9 @@ libupdates_la_SOURCES = \ + gsd-updates-firmware.h \ + gsd-updates-firmware.c \ + gsd-updates-manager.h \ +- gsd-updates-manager.c ++ gsd-updates-manager.c \ ++ gsd-updates-watch.h \ ++ gsd-updates-watch.c + + libupdates_la_CPPFLAGS = \ + -I$(top_srcdir)/gnome-settings-daemon \ +@@ -58,7 +60,9 @@ gsd_test_updates_SOURCES = \ + gsd-updates-firmware.h \ + gsd-updates-firmware.c \ + gsd-updates-manager.h \ +- gsd-updates-manager.c ++ gsd-updates-manager.c \ ++ gsd-updates-watch.h \ ++ gsd-updates-watch.c + + gsd_test_updates_CPPFLAGS = \ + -I$(top_srcdir)/data/ \ +diff --git a/plugins/updates/gsd-updates-manager.c b/plugins/updates/gsd-updates-manager.c +index 95ee1c4..7b26c06 100644 +--- a/plugins/updates/gsd-updates-manager.c ++++ b/plugins/updates/gsd-updates-manager.c +@@ -33,6 +33,7 @@ + #include "gsd-updates-manager.h" + #include "gsd-updates-firmware.h" + #include "gsd-updates-refresh.h" ++#include "gsd-updates-watch.h" + #include "gsd-updates-common.h" + #include "gnome-settings-profile.h" + +@@ -47,6 +48,7 @@ struct GsdUpdatesManagerPrivate + GCancellable *cancellable; + GsdUpdatesRefresh *refresh; + GsdUpdatesFirmware *firmware; ++ GsdUpdatesWatch *watch; + GSettings *settings_proxy; + GSettings *settings_ftp; + GSettings *settings_gsd; +@@ -1360,6 +1362,9 @@ gsd_updates_manager_start (GsdUpdatesManager *manager, + g_signal_connect (manager->priv->refresh, "get-updates", + G_CALLBACK (due_get_updates_cb), manager); + ++ /* watch transaction progress */ ++ manager->priv->watch = gsd_updates_watch_new (); ++ + /* get proxy settings */ + manager->priv->settings_proxy = g_settings_new ("org.gnome.system.proxy"); + g_signal_connect (manager->priv->settings_proxy, "changed", +@@ -1455,6 +1460,7 @@ gsd_updates_manager_stop (GsdUpdatesManager *manager) + g_clear_object (&manager->priv->task); + g_clear_object (&manager->priv->refresh); + g_clear_object (&manager->priv->firmware); ++ g_clear_object (&manager->priv->watch); + g_clear_object (&manager->priv->proxy_session); + g_clear_object (&manager->priv->volume_monitor); + g_clear_object (&manager->priv->cancellable); +diff --git a/plugins/updates/gsd-updates-watch.c b/plugins/updates/gsd-updates-watch.c +new file mode 100644 +index 0000000..d3a0202 +--- /dev/null ++++ b/plugins/updates/gsd-updates-watch.c +@@ -0,0 +1,186 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2011-2012 Jonathan Conder <jonno.con...@gmail.com> ++ * ++ * Licensed under the GNU General Public License Version 2 ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++#include "config.h" ++ ++#include <unistd.h> ++#include <glib/gi18n.h> ++#include <packagekit-glib2/packagekit.h> ++#include <libnotify/notify.h> ++ ++#include "gsd-updates-watch.h" ++ ++#define GSD_UPDATES_WATCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_UPDATES_WATCH, GsdUpdatesWatchPrivate)) ++ ++struct GsdUpdatesWatchPrivate ++{ ++ PkTransactionList *tlist; ++ PkClient *client; ++}; ++ ++G_DEFINE_TYPE (GsdUpdatesWatch, gsd_updates_watch, G_TYPE_OBJECT) ++ ++static void ++on_notification_closed (NotifyNotification *notification, gpointer data) ++{ ++ g_object_unref (notification); ++} ++ ++static void ++gsd_updates_watch_message_cb (PkMessage *item, GsdUpdatesWatch *watch) ++{ ++ NotifyNotification *notification; ++ gchar *details = NULL; ++ const gchar *title, *message; ++ GError *error = NULL; ++ ++ g_return_if_fail (PK_IS_MESSAGE (item)); ++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch)); ++ ++ g_object_get (item, "details", &details, NULL); ++ title = _("More information"); ++ message = details; ++ ++ /* use a better title if available */ ++ if (g_str_has_prefix (details, "<b>")) { ++ gchar *end = g_strstr_len (details, -1, "</b>\n"); ++ if (end != NULL && g_strstr_len (details, end - details, "\n") == NULL) { ++ title = details + 3; ++ *end = '\0'; ++ message = end + 5; ++ } ++ } ++ ++ /* display a notification */ ++ notification = notify_notification_new (title, message, NULL); ++ notify_notification_set_app_name (notification, _("Software Updates")); ++ notify_notification_set_timeout (notification, NOTIFY_EXPIRES_NEVER); ++ notify_notification_set_urgency (notification, NOTIFY_URGENCY_NORMAL); ++ ++ g_signal_connect (notification, "closed", G_CALLBACK (on_notification_closed), NULL); ++ if (!notify_notification_show (notification, &error)) { ++ g_warning ("error: %s", error->message); ++ g_error_free (error); ++ } ++ ++ g_free (details); ++} ++ ++static void ++gsd_updates_watch_adopt_cb (PkClient *client, GAsyncResult *res, GsdUpdatesWatch *watch) ++{ ++ PkResults *results; ++ PkProgress *progress = NULL; ++ guint uid; ++ GPtrArray *array; ++ GError *error = NULL; ++ ++ g_return_if_fail (PK_IS_CLIENT (client)); ++ g_return_if_fail (G_IS_ASYNC_RESULT (res)); ++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch)); ++ ++ results = pk_client_generic_finish (client, res, &error); ++ if (results == NULL) { ++ g_warning ("failed to adopt: %s", error->message); ++ g_error_free (error); ++ goto out; ++ } ++ ++ g_object_get (results, "progress", &progress, NULL); ++ g_object_get (progress, "uid", &uid, NULL); ++ ++ /* only display messages from the same user */ ++ if (uid != getuid ()) { ++ g_printerr ("ignoring messages\n"); ++ goto out; ++ } ++ ++ array = pk_results_get_message_array (results); ++ g_ptr_array_foreach (array, (GFunc) gsd_updates_watch_message_cb, watch); ++ g_ptr_array_unref (array); ++ ++out: ++ if (progress != NULL) { ++ g_object_unref (progress); ++ } ++ if (results != NULL) { ++ g_object_unref (results); ++ } ++} ++ ++static void ++gsd_updates_watch_tlist_added_cb (PkTransactionList *tlist, const gchar *tid, GsdUpdatesWatch *watch) ++{ ++ g_return_if_fail (PK_IS_TRANSACTION_LIST (tlist)); ++ g_return_if_fail (tid != NULL); ++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch)); ++ ++ /* listen for messages */ ++ pk_client_adopt_async (watch->priv->client, tid, NULL, NULL, NULL, ++ (GAsyncReadyCallback) gsd_updates_watch_adopt_cb, watch); ++} ++ ++static void ++gsd_updates_watch_init (GsdUpdatesWatch *watch) ++{ ++ g_return_if_fail (GSD_IS_UPDATES_WATCH (watch)); ++ ++ watch->priv = GSD_UPDATES_WATCH_GET_PRIVATE (watch); ++ watch->priv->tlist = pk_transaction_list_new (); ++ watch->priv->client = pk_client_new (); ++ ++ g_signal_connect (watch->priv->tlist, "added", ++ G_CALLBACK (gsd_updates_watch_tlist_added_cb), watch); ++} ++ ++static void ++gsd_updates_watch_finalize (GObject *object) ++{ ++ GsdUpdatesWatch *watch; ++ ++ g_return_if_fail (GSD_IS_UPDATES_WATCH (object)); ++ ++ watch = GSD_UPDATES_WATCH (object); ++ g_return_if_fail (watch->priv != NULL); ++ ++ if (watch->priv->tlist != NULL) { ++ g_object_unref (watch->priv->tlist); ++ } ++ if (watch->priv->client != NULL) { ++ g_object_unref (watch->priv->client); ++ } ++ ++ G_OBJECT_CLASS (gsd_updates_watch_parent_class)->finalize (object); ++} ++ ++GsdUpdatesWatch * ++gsd_updates_watch_new (void) ++{ ++ return GSD_UPDATES_WATCH (g_object_new (GSD_TYPE_UPDATES_WATCH, NULL)); ++} ++ ++static void ++gsd_updates_watch_class_init (GsdUpdatesWatchClass *klass) ++{ ++ GObjectClass *object_class = G_OBJECT_CLASS (klass); ++ object_class->finalize = gsd_updates_watch_finalize; ++ g_type_class_add_private (klass, sizeof (GsdUpdatesWatchPrivate)); ++} +diff --git a/plugins/updates/gsd-updates-watch.h b/plugins/updates/gsd-updates-watch.h +new file mode 100644 +index 0000000..439464f +--- /dev/null ++++ b/plugins/updates/gsd-updates-watch.h +@@ -0,0 +1,52 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2011-2012 Jonathan Conder <jonno.con...@gmail.com> ++ * ++ * Licensed under the GNU General Public License Version 2 ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++#ifndef __GSD_UPDATES_WATCH_H ++#define __GSD_UPDATES_WATCH_H ++ ++#include <glib-object.h> ++ ++G_BEGIN_DECLS ++ ++#define GSD_TYPE_UPDATES_WATCH (gsd_updates_watch_get_type ()) ++#define GSD_UPDATES_WATCH(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_UPDATES_WATCH, GsdUpdatesWatch)) ++#define GSD_UPDATES_WATCH_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_UPDATES_WATCH, GsdUpdatesWatchClass)) ++#define GSD_IS_UPDATES_WATCH(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_UPDATES_WATCH)) ++ ++typedef struct GsdUpdatesWatchPrivate GsdUpdatesWatchPrivate; ++ ++typedef struct ++{ ++ GObject parent; ++ GsdUpdatesWatchPrivate *priv; ++} GsdUpdatesWatch; ++ ++typedef struct ++{ ++ GObjectClass parent_class; ++} GsdUpdatesWatchClass; ++ ++GType gsd_updates_watch_get_type (void); ++GsdUpdatesWatch *gsd_updates_watch_new (void); ++ ++G_END_DECLS ++ ++#endif /* __GSD_UPDATES_WATCH_H */ Copied: gnome-settings-daemon-updates/repos/community-testing-x86_64/gnome-settings-daemon.install (from rev 109158, gnome-settings-daemon-updates/trunk/gnome-settings-daemon.install) =================================================================== --- community-testing-x86_64/gnome-settings-daemon.install (rev 0) +++ community-testing-x86_64/gnome-settings-daemon.install 2014-04-11 01:14:31 UTC (rev 109159) @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} Copied: gnome-settings-daemon-updates/repos/community-testing-x86_64/packagekit-0.8.patch (from rev 109158, gnome-settings-daemon-updates/trunk/packagekit-0.8.patch) =================================================================== --- community-testing-x86_64/packagekit-0.8.patch (rev 0) +++ community-testing-x86_64/packagekit-0.8.patch 2014-04-11 01:14:31 UTC (rev 109159) @@ -0,0 +1,60 @@ +From 5f4f1ed45747343f26f280401bc4915d92b71d89 Mon Sep 17 00:00:00 2001 +From: Richard Hughes <rich...@hughsie.com> +Date: Mon, 30 Sep 2013 12:06:22 +0000 +Subject: updates: Raise the dep on PackageKit to avoid complexity + +--- +diff --git a/configure.ac b/configure.ac +index 87eb473..199542c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -306,7 +306,7 @@ AC_ARG_ENABLE(packagekit, + [WANT_PACKAGEKIT=yes]) dnl Default value + + if test x$WANT_PACKAGEKIT = xyes ; then +- PK_REQUIRED_VERSION=0.7.4 ++ PK_REQUIRED_VERSION=0.8.1 + PKG_CHECK_MODULES(PACKAGEKIT, glib-2.0 packagekit-glib2 >= $PK_REQUIRED_VERSION upower-glib >= $UPOWER_REQUIRED_VERSION gudev-1.0 libnotify >= $LIBNOTIFY_REQUIRED_VERSION, + [have_packagekit=true + AC_DEFINE(HAVE_PACKAGEKIT, 1, [Define if PackageKit should be used])], +diff --git a/plugins/updates/gsd-updates-manager.c b/plugins/updates/gsd-updates-manager.c +index 3aff29a..0f73a42 100644 +--- a/plugins/updates/gsd-updates-manager.c ++++ b/plugins/updates/gsd-updates-manager.c +@@ -742,7 +742,6 @@ auto_download_updates (GsdUpdatesManager *manager) + package_ids[i] = g_strdup (pk_package_get_id (pkg)); + } + +-#if PK_CHECK_VERSION(0,8,1) + /* we've set only-download in PkTask */ + pk_task_update_packages_async (manager->priv->task, + package_ids, +@@ -750,16 +749,6 @@ auto_download_updates (GsdUpdatesManager *manager) + NULL, NULL, + (GAsyncReadyCallback) package_download_finished_cb, + manager); +-#else +- /* download them all */ +- pk_client_download_packages_async (PK_CLIENT(manager->priv->task), +- package_ids, +- NULL, /* this means system cache */ +- manager->priv->cancellable, +- NULL, NULL, +- (GAsyncReadyCallback) package_download_finished_cb, +- manager); +-#endif + g_strfreev (package_ids); + } + +@@ -1506,9 +1495,7 @@ gsd_updates_manager_start (GsdUpdatesManager *manager, + g_object_set (manager->priv->task, + "background", TRUE, + "interactive", FALSE, +-#if PK_CHECK_VERSION(0,8,1) + "only-download", TRUE, +-#endif + NULL); + + /* watch UDev for missing firmware */ +-- +cgit v0.9.2