PackageKit/PackageKit-git-fixes.patch
Richard Hughes 63f4ea2ab8 Backport 2 fixes from master to increase the maximum number of packages that
can be processed, and also to fix a race in the offline updates feature.
2013-06-23 11:22:33 +02:00

72 lines
2.5 KiB
Diff

commit f25455d2d48d20f6086effe47971ed439cee2cc5
Author: Richard Hughes <richard@hughsie.com>
Date: Thu Jun 6 13:10:58 2013 +0100
systemd-updates: Do not exit with an error for a race condition
The daemon plugin pk-plugin-systemd-update deletes the /var/lib/PackageKit/prepared-update
file if any transaction is done that affects the prepared state.
This includes the offline-update process itself.
If the daemon deletes the file before the pk-offline-update process tries to do
it a warning is shown and the systemd unit fails.
diff --git a/contrib/systemd-updates/pk-offline-update.c b/contrib/systemd-updates/pk-offline-update.c
index 8678959..7b8d812 100644
--- a/contrib/systemd-updates/pk-offline-update.c
+++ b/contrib/systemd-updates/pk-offline-update.c
@@ -500,16 +500,20 @@ main (int argc, char *argv[])
pk_progress_bar_end (progressbar);
pk_offline_update_write_results (results);
- /* delete prepared-update file */
+ /* delete prepared-update file if it's not already been done by the
+ * pk-plugin-systemd-update daemon plugin */
file = g_file_new_for_path (PK_OFFLINE_PREPARED_UPDATE_FILENAME);
ret = g_file_delete (file, NULL, &error);
if (!ret) {
- retval = EXIT_FAILURE;
- g_warning ("failed to delete %s: %s",
- PK_OFFLINE_PREPARED_UPDATE_FILENAME,
- error->message);
- g_error_free (error);
- goto out;
+ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) {
+ retval = EXIT_FAILURE;
+ g_warning ("failed to delete %s: %s",
+ PK_OFFLINE_PREPARED_UPDATE_FILENAME,
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ g_clear_error (&error);
}
retval = EXIT_SUCCESS;
commit 3eb921f2ddbe94dc5b180522b8aa5a057dd6eac2
Author: Richard Hughes <richard@hughsie.com>
Date: Thu May 23 15:06:41 2013 +0100
Raise the package process threshold to 5000
TeXLive has officially jumped the shark, and it's quite plausible to have > 2500
updates in one transaction now.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=894731
diff --git a/etc/PackageKit.conf.in b/etc/PackageKit.conf.in
index 3440be5..c09c8d2 100644
--- a/etc/PackageKit.conf.in
+++ b/etc/PackageKit.conf.in
@@ -228,8 +228,8 @@ MaximumItemsToResolve=1200
# Setting this lower decreases the risk of a local denial of service, but may
# cause errors if the desktop client is trying to do a large transaction.
#
-# default=2500
-MaximumPackagesToProcess=2500
+# default=5000
+MaximumPackagesToProcess=5000
# How long the transaction is valid before it's destroyed, in seconds
#