[arch-commits] Commit in gnome-packagekit/repos (8 files)

Balló György bgyorgy at nymeria.archlinux.org
Fri Apr 11 01:28:15 UTC 2014


    Date: Friday, April 11, 2014 @ 03:28:15
  Author: bgyorgy
Revision: 109161

archrelease: copy trunk to community-testing-i686, community-testing-x86_64

Added:
  gnome-packagekit/repos/community-testing-i686/
  gnome-packagekit/repos/community-testing-i686/PKGBUILD
    (from rev 109160, gnome-packagekit/trunk/PKGBUILD)
  gnome-packagekit/repos/community-testing-i686/gnome-packagekit.install
    (from rev 109160, gnome-packagekit/trunk/gnome-packagekit.install)
  gnome-packagekit/repos/community-testing-i686/packagekit-0.8.patch
    (from rev 109160, gnome-packagekit/trunk/packagekit-0.8.patch)
  gnome-packagekit/repos/community-testing-x86_64/
  gnome-packagekit/repos/community-testing-x86_64/PKGBUILD
    (from rev 109160, gnome-packagekit/trunk/PKGBUILD)
  gnome-packagekit/repos/community-testing-x86_64/gnome-packagekit.install
    (from rev 109160, gnome-packagekit/trunk/gnome-packagekit.install)
  gnome-packagekit/repos/community-testing-x86_64/packagekit-0.8.patch
    (from rev 109160, gnome-packagekit/trunk/packagekit-0.8.patch)

---------------------------------------------------+
 community-testing-i686/PKGBUILD                   |   47 ++++++++++++++
 community-testing-i686/gnome-packagekit.install   |   19 +++++
 community-testing-i686/packagekit-0.8.patch       |   65 ++++++++++++++++++++
 community-testing-x86_64/PKGBUILD                 |   47 ++++++++++++++
 community-testing-x86_64/gnome-packagekit.install |   19 +++++
 community-testing-x86_64/packagekit-0.8.patch     |   65 ++++++++++++++++++++
 6 files changed, 262 insertions(+)

Copied: gnome-packagekit/repos/community-testing-i686/PKGBUILD (from rev 109160, gnome-packagekit/trunk/PKGBUILD)
===================================================================
--- community-testing-i686/PKGBUILD	                        (rev 0)
+++ community-testing-i686/PKGBUILD	2014-04-11 01:28:15 UTC (rev 109161)
@@ -0,0 +1,47 @@
+# $Id$
+# Maintainer: Jonathan Conder <jonno.conder at gmail.com>
+
+pkgname=gnome-packagekit
+pkgver=3.12.0
+pkgrel=1
+pkgdesc='Collection of graphical tools for PackageKit to be used in the GNOME desktop'
+arch=('i686' 'x86_64')
+url='http://www.packagekit.org/'
+license=('GPL')
+depends=('desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'libnotify'
+         'packagekit')
+makedepends=('gconf' 'gtk-doc' 'intltool' 'itstool' 'libcanberra' 'upower')
+optdepends=('gnome-settings-daemon-updates: update and message notifications')
+options=('!emptydirs')
+install="$pkgname.install"
+source=("http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz"
+        "packagekit-0.8.patch")
+sha256sums=('84cc4641bb174c833a2b01e2f3f5cbe24d9020ab9c2f245781be201a975a5943'
+            '717ba4d281adbafc9409202538ad1c8ce9a2bb41a6a0bc127e8dd5c4c1da1d65')
+
+prepare() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  patch -RNp1 -i "$srcdir/packagekit-0.8.patch"
+
+  _mime='application/x-xz-compressed-tar;application/x-servicepack;'
+  sed -i "s at MimeType=.*@MimeType=$_mime@" data/gpk-install-local-file.desktop.in
+}
+
+build() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  export PYTHON=/usr/bin/python2
+  ./configure --prefix=/usr \
+	      --sysconfdir=/etc \
+	      --disable-gtk-doc \
+	      --disable-schemas-compile \
+	      --disable-scrollkeeper
+  make -s
+}
+
+package() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  make -s DESTDIR="$pkgdir" install
+}

Copied: gnome-packagekit/repos/community-testing-i686/gnome-packagekit.install (from rev 109160, gnome-packagekit/trunk/gnome-packagekit.install)
===================================================================
--- community-testing-i686/gnome-packagekit.install	                        (rev 0)
+++ community-testing-i686/gnome-packagekit.install	2014-04-11 01:28:15 UTC (rev 109161)
@@ -0,0 +1,19 @@
+post_install() {
+  usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+  update-desktop-database -q
+}
+
+pre_upgrade() {
+  if (( $(vercmp $2 2.91.90) < 0 )); then
+    usr/sbin/gconfpkg --uninstall gnome-packagekit
+  fi
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}

Copied: gnome-packagekit/repos/community-testing-i686/packagekit-0.8.patch (from rev 109160, gnome-packagekit/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:28:15 UTC (rev 109161)
@@ -0,0 +1,65 @@
+From 4077ba3ea30354ef070d640a5af4b6a913e97f4b Mon Sep 17 00:00:00 2001
+From: Richard Hughes <richard at hughsie.com>
+Date: Tue, 18 Jun 2013 12:56:05 +0000
+Subject: Ignore package progress updates when the transaction is being simulated
+
+PackageKit backends do not have to issue INFO_FINISHED when simulating, and most
+don't bother. As we didn't special-case simulation, we set up the activity
+spinner on the Package(INFO_UPDATING) event and do not cancel the signal.
+
+This leaves every row in the update viewer with a spinning cursor, which due to
+the way the code was structured lead to an O(n*n) exposion of updates to the
+cell renderers for each update. For a dozen or so updates it was not noticable,
+and nobody noticed the slight increase of CPU usage.
+
+Now that TeX Live has officially jumped the shark and has many hundreds of
+sub-packages, it's quite plausible to have *thousands* of small packages to
+update. This means that the O(n*n) bug stops being a minor increase in CPU and
+starts to use the CPU at 100% for many hours before completing.
+
+Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=969852
+---
+diff --git a/src/gpk-update-viewer.c b/src/gpk-update-viewer.c
+index 53be9cf..a2182a1 100644
+--- a/src/gpk-update-viewer.c
++++ b/src/gpk-update-viewer.c
+@@ -841,6 +841,7 @@ gpk_update_viewer_progress_cb (PkProgress *progress,
+ 	gchar *text;
+ 	gint percentage;
+ 	GtkWidget *widget;
++	guint64 transaction_flags;
+ 	PkInfoEnum info;
+ 	PkRoleEnum role;
+ 	PkStatusEnum status;
+@@ -853,6 +854,7 @@ gpk_update_viewer_progress_cb (PkProgress *progress,
+ 		      "percentage", &percentage,
+ 		      "package", &package,
+ 		      "allow-cancel", &allow_cancel,
++		      "transaction-flags", &transaction_flags,
+ 		      NULL);
+ 
+ 	if (type == PK_PROGRESS_TYPE_PACKAGE) {
+@@ -864,6 +866,10 @@ gpk_update_viewer_progress_cb (PkProgress *progress,
+ 		GtkTreePath *path;
+ 		gboolean scroll;
+ 
++		/* ignore simulation phase */
++		if (pk_bitfield_contain (transaction_flags, PK_TRANSACTION_FLAG_ENUM_SIMULATE))
++			goto out;
++
+ 		/* add the results, not the progress */
+ 		if (role == PK_ROLE_ENUM_GET_UPDATES)
+ 			goto out;
+@@ -1040,6 +1046,10 @@ gpk_update_viewer_progress_cb (PkProgress *progress,
+ 		guint size_display;
+ 		PkItemProgress *item_progress;
+ 
++		/* ignore simulation phase */
++		if (pk_bitfield_contain (transaction_flags, PK_TRANSACTION_FLAG_ENUM_SIMULATE))
++			goto out;
++
+ 		g_object_get (progress,
+ 			      "item-progress", &item_progress,
+ 			      NULL);
+--
+cgit v0.9.2

Copied: gnome-packagekit/repos/community-testing-x86_64/PKGBUILD (from rev 109160, gnome-packagekit/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD	                        (rev 0)
+++ community-testing-x86_64/PKGBUILD	2014-04-11 01:28:15 UTC (rev 109161)
@@ -0,0 +1,47 @@
+# $Id$
+# Maintainer: Jonathan Conder <jonno.conder at gmail.com>
+
+pkgname=gnome-packagekit
+pkgver=3.12.0
+pkgrel=1
+pkgdesc='Collection of graphical tools for PackageKit to be used in the GNOME desktop'
+arch=('i686' 'x86_64')
+url='http://www.packagekit.org/'
+license=('GPL')
+depends=('desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'libnotify'
+         'packagekit')
+makedepends=('gconf' 'gtk-doc' 'intltool' 'itstool' 'libcanberra' 'upower')
+optdepends=('gnome-settings-daemon-updates: update and message notifications')
+options=('!emptydirs')
+install="$pkgname.install"
+source=("http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz"
+        "packagekit-0.8.patch")
+sha256sums=('84cc4641bb174c833a2b01e2f3f5cbe24d9020ab9c2f245781be201a975a5943'
+            '717ba4d281adbafc9409202538ad1c8ce9a2bb41a6a0bc127e8dd5c4c1da1d65')
+
+prepare() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  patch -RNp1 -i "$srcdir/packagekit-0.8.patch"
+
+  _mime='application/x-xz-compressed-tar;application/x-servicepack;'
+  sed -i "s at MimeType=.*@MimeType=$_mime@" data/gpk-install-local-file.desktop.in
+}
+
+build() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  export PYTHON=/usr/bin/python2
+  ./configure --prefix=/usr \
+	      --sysconfdir=/etc \
+	      --disable-gtk-doc \
+	      --disable-schemas-compile \
+	      --disable-scrollkeeper
+  make -s
+}
+
+package() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  make -s DESTDIR="$pkgdir" install
+}

Copied: gnome-packagekit/repos/community-testing-x86_64/gnome-packagekit.install (from rev 109160, gnome-packagekit/trunk/gnome-packagekit.install)
===================================================================
--- community-testing-x86_64/gnome-packagekit.install	                        (rev 0)
+++ community-testing-x86_64/gnome-packagekit.install	2014-04-11 01:28:15 UTC (rev 109161)
@@ -0,0 +1,19 @@
+post_install() {
+  usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+  update-desktop-database -q
+}
+
+pre_upgrade() {
+  if (( $(vercmp $2 2.91.90) < 0 )); then
+    usr/sbin/gconfpkg --uninstall gnome-packagekit
+  fi
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}

Copied: gnome-packagekit/repos/community-testing-x86_64/packagekit-0.8.patch (from rev 109160, gnome-packagekit/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:28:15 UTC (rev 109161)
@@ -0,0 +1,65 @@
+From 4077ba3ea30354ef070d640a5af4b6a913e97f4b Mon Sep 17 00:00:00 2001
+From: Richard Hughes <richard at hughsie.com>
+Date: Tue, 18 Jun 2013 12:56:05 +0000
+Subject: Ignore package progress updates when the transaction is being simulated
+
+PackageKit backends do not have to issue INFO_FINISHED when simulating, and most
+don't bother. As we didn't special-case simulation, we set up the activity
+spinner on the Package(INFO_UPDATING) event and do not cancel the signal.
+
+This leaves every row in the update viewer with a spinning cursor, which due to
+the way the code was structured lead to an O(n*n) exposion of updates to the
+cell renderers for each update. For a dozen or so updates it was not noticable,
+and nobody noticed the slight increase of CPU usage.
+
+Now that TeX Live has officially jumped the shark and has many hundreds of
+sub-packages, it's quite plausible to have *thousands* of small packages to
+update. This means that the O(n*n) bug stops being a minor increase in CPU and
+starts to use the CPU at 100% for many hours before completing.
+
+Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=969852
+---
+diff --git a/src/gpk-update-viewer.c b/src/gpk-update-viewer.c
+index 53be9cf..a2182a1 100644
+--- a/src/gpk-update-viewer.c
++++ b/src/gpk-update-viewer.c
+@@ -841,6 +841,7 @@ gpk_update_viewer_progress_cb (PkProgress *progress,
+ 	gchar *text;
+ 	gint percentage;
+ 	GtkWidget *widget;
++	guint64 transaction_flags;
+ 	PkInfoEnum info;
+ 	PkRoleEnum role;
+ 	PkStatusEnum status;
+@@ -853,6 +854,7 @@ gpk_update_viewer_progress_cb (PkProgress *progress,
+ 		      "percentage", &percentage,
+ 		      "package", &package,
+ 		      "allow-cancel", &allow_cancel,
++		      "transaction-flags", &transaction_flags,
+ 		      NULL);
+ 
+ 	if (type == PK_PROGRESS_TYPE_PACKAGE) {
+@@ -864,6 +866,10 @@ gpk_update_viewer_progress_cb (PkProgress *progress,
+ 		GtkTreePath *path;
+ 		gboolean scroll;
+ 
++		/* ignore simulation phase */
++		if (pk_bitfield_contain (transaction_flags, PK_TRANSACTION_FLAG_ENUM_SIMULATE))
++			goto out;
++
+ 		/* add the results, not the progress */
+ 		if (role == PK_ROLE_ENUM_GET_UPDATES)
+ 			goto out;
+@@ -1040,6 +1046,10 @@ gpk_update_viewer_progress_cb (PkProgress *progress,
+ 		guint size_display;
+ 		PkItemProgress *item_progress;
+ 
++		/* ignore simulation phase */
++		if (pk_bitfield_contain (transaction_flags, PK_TRANSACTION_FLAG_ENUM_SIMULATE))
++			goto out;
++
+ 		g_object_get (progress,
+ 			      "item-progress", &item_progress,
+ 			      NULL);
+--
+cgit v0.9.2




More information about the arch-commits mailing list