[arch-commits] Commit in gnome-packagekit/repos (12 files)
Balló György
bgyorgy at nymeria.archlinux.org
Sat Apr 12 18:25:14 UTC 2014
Date: Saturday, April 12, 2014 @ 20:25:13
Author: bgyorgy
Revision: 109265
archrelease: copy trunk to community-testing-i686, community-testing-x86_64
Added:
gnome-packagekit/repos/community-testing-i686/PKGBUILD
(from rev 109264, gnome-packagekit/trunk/PKGBUILD)
gnome-packagekit/repos/community-testing-i686/gnome-packagekit.install
(from rev 109264, gnome-packagekit/trunk/gnome-packagekit.install)
gnome-packagekit/repos/community-testing-i686/packagekit-0.8.patch
(from rev 109264, gnome-packagekit/trunk/packagekit-0.8.patch)
gnome-packagekit/repos/community-testing-x86_64/PKGBUILD
(from rev 109264, gnome-packagekit/trunk/PKGBUILD)
gnome-packagekit/repos/community-testing-x86_64/gnome-packagekit.install
(from rev 109264, gnome-packagekit/trunk/gnome-packagekit.install)
gnome-packagekit/repos/community-testing-x86_64/packagekit-0.8.patch
(from rev 109264, gnome-packagekit/trunk/packagekit-0.8.patch)
Deleted:
gnome-packagekit/repos/community-testing-i686/PKGBUILD
gnome-packagekit/repos/community-testing-i686/gnome-packagekit.install
gnome-packagekit/repos/community-testing-i686/packagekit-0.8.patch
gnome-packagekit/repos/community-testing-x86_64/PKGBUILD
gnome-packagekit/repos/community-testing-x86_64/gnome-packagekit.install
gnome-packagekit/repos/community-testing-x86_64/packagekit-0.8.patch
---------------------------------------------------+
/PKGBUILD | 86 +++++++++++++
/gnome-packagekit.install | 26 ++++
/packagekit-0.8.patch | 130 ++++++++++++++++++++
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 ----------
9 files changed, 242 insertions(+), 262 deletions(-)
Deleted: community-testing-i686/PKGBUILD
===================================================================
--- community-testing-i686/PKGBUILD 2014-04-12 18:24:33 UTC (rev 109264)
+++ community-testing-i686/PKGBUILD 2014-04-12 18:25:13 UTC (rev 109265)
@@ -1,47 +0,0 @@
-# $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/PKGBUILD (from rev 109264, gnome-packagekit/trunk/PKGBUILD)
===================================================================
--- community-testing-i686/PKGBUILD (rev 0)
+++ community-testing-i686/PKGBUILD 2014-04-12 18:25:13 UTC (rev 109265)
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jonathan Conder <jonno.conder at gmail.com>
+
+pkgname=gnome-packagekit
+pkgver=3.12.1
+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=('intltool' 'itstool' 'docbook-xsl' 'libcanberra')
+optdepends=('gnome-settings-daemon-updates: update and message notifications')
+install="$pkgname.install"
+source=("http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz"
+ "packagekit-0.8.patch")
+sha256sums=('fec804f75d178bf2984828873491733338ed6f549e287afe16d7302da26c5ead'
+ '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"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-schemas-compile \
+ PYTHON=/usr/bin/python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
Deleted: community-testing-i686/gnome-packagekit.install
===================================================================
--- community-testing-i686/gnome-packagekit.install 2014-04-12 18:24:33 UTC (rev 109264)
+++ community-testing-i686/gnome-packagekit.install 2014-04-12 18:25:13 UTC (rev 109265)
@@ -1,19 +0,0 @@
-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/gnome-packagekit.install (from rev 109264, gnome-packagekit/trunk/gnome-packagekit.install)
===================================================================
--- community-testing-i686/gnome-packagekit.install (rev 0)
+++ community-testing-i686/gnome-packagekit.install 2014-04-12 18:25:13 UTC (rev 109265)
@@ -0,0 +1,13 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
Deleted: community-testing-i686/packagekit-0.8.patch
===================================================================
--- community-testing-i686/packagekit-0.8.patch 2014-04-12 18:24:33 UTC (rev 109264)
+++ community-testing-i686/packagekit-0.8.patch 2014-04-12 18:25:13 UTC (rev 109265)
@@ -1,65 +0,0 @@
-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-i686/packagekit-0.8.patch (from rev 109264, 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-12 18:25:13 UTC (rev 109265)
@@ -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
Deleted: community-testing-x86_64/PKGBUILD
===================================================================
--- community-testing-x86_64/PKGBUILD 2014-04-12 18:24:33 UTC (rev 109264)
+++ community-testing-x86_64/PKGBUILD 2014-04-12 18:25:13 UTC (rev 109265)
@@ -1,47 +0,0 @@
-# $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/PKGBUILD (from rev 109264, gnome-packagekit/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD (rev 0)
+++ community-testing-x86_64/PKGBUILD 2014-04-12 18:25:13 UTC (rev 109265)
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Jonathan Conder <jonno.conder at gmail.com>
+
+pkgname=gnome-packagekit
+pkgver=3.12.1
+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=('intltool' 'itstool' 'docbook-xsl' 'libcanberra')
+optdepends=('gnome-settings-daemon-updates: update and message notifications')
+install="$pkgname.install"
+source=("http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz"
+ "packagekit-0.8.patch")
+sha256sums=('fec804f75d178bf2984828873491733338ed6f549e287afe16d7302da26c5ead'
+ '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"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-schemas-compile \
+ PYTHON=/usr/bin/python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
Deleted: community-testing-x86_64/gnome-packagekit.install
===================================================================
--- community-testing-x86_64/gnome-packagekit.install 2014-04-12 18:24:33 UTC (rev 109264)
+++ community-testing-x86_64/gnome-packagekit.install 2014-04-12 18:25:13 UTC (rev 109265)
@@ -1,19 +0,0 @@
-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/gnome-packagekit.install (from rev 109264, gnome-packagekit/trunk/gnome-packagekit.install)
===================================================================
--- community-testing-x86_64/gnome-packagekit.install (rev 0)
+++ community-testing-x86_64/gnome-packagekit.install 2014-04-12 18:25:13 UTC (rev 109265)
@@ -0,0 +1,13 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
Deleted: community-testing-x86_64/packagekit-0.8.patch
===================================================================
--- community-testing-x86_64/packagekit-0.8.patch 2014-04-12 18:24:33 UTC (rev 109264)
+++ community-testing-x86_64/packagekit-0.8.patch 2014-04-12 18:25:13 UTC (rev 109265)
@@ -1,65 +0,0 @@
-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/packagekit-0.8.patch (from rev 109264, 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-12 18:25:13 UTC (rev 109265)
@@ -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