New upstream release

This commit is contained in:
Richard Hughes 2013-07-26 15:39:13 +01:00
parent 3bdc9ccaa2
commit 2304a404db
3 changed files with 20 additions and 187 deletions

View File

@ -1,182 +0,0 @@
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
#
commit cac9936e0950831905039c25f4b8e25ee4db3ce1
Author: Richard Hughes <richard@hughsie.com>
Date: Thu Jun 13 13:05:07 2013 +0100
yum: Use yb.downloadPkgs() to download updates
There were two bugs here:
- Using repo.getPackage() did not check the package checksum, only the size,
so it was possible to download a corrupt package and then not be able to
apply the updates
- By restricting to TS_UPDATE and TS_INSTALL we were ignoring any package that
was obsoleting another which could miss out packages.
Many thanks to Zdenek Pavlas for all the help in finding these issues.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=968936
diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index 289f10f..49a0f7b 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -2365,22 +2365,16 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
self.percentage(100)
return
+ # just download packages ready for the actual transaction
if TRANSACTION_FLAG_ONLY_DOWNLOAD in transaction_flags:
- package_list = []
for txmbr in self.yumbase.tsInfo:
- if txmbr.output_state in (TS_UPDATE, TS_INSTALL):
- self._show_package(txmbr.po, INFO_DOWNLOADING)
- repo = self.yumbase.repos.getRepo(txmbr.po.repoid)
+ if txmbr.output_state in TS_INSTALL_STATES:
try:
- path = repo.getPackage(txmbr.po)
- except yum.Errors.RepoError, e:
- self.error(ERROR_PACKAGE_DOWNLOAD_FAILED, "Cannot download file: %s" % _to_unicode(e), exit=False)
- return
- except IOError, e:
- self.error(ERROR_PACKAGE_DOWNLOAD_FAILED, "Cannot write to file: %s" % _to_unicode(e), exit=False)
- return
+ self._show_package(txmbr.po, INFO_DOWNLOADING)
+ self.yumbase.downloadPkgs([txmbr.po])
except Exception, e:
- raise PkError(ERROR_INTERNAL_ERROR, _format_str(traceback.format_exc()))
+ self.error(ERROR_PACKAGE_DOWNLOAD_FAILED, "Cannot download packages: %s" % _to_unicode(e), exit=False)
+ return
self.percentage(100)
return
From b78af414daf2176aac74540039b341a3e4e49412 Mon Sep 17 00:00:00 2001
From: Richard Hughes <richard@hughsie.com>
Date: Tue, 28 May 2013 14:34:59 +0100
Subject: [PATCH] Allow local active users in the wheel group to install signed
packages without a password
---
contrib/PackageKit.spec.in | 1 +
policy/Makefile.am | 5 +++++
policy/org.freedesktop.packagekit.policy.in | 2 +-
policy/org.freedesktop.packagekit.rules | 7 +++++++
4 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 policy/org.freedesktop.packagekit.rules
diff --git a/policy/Makefile.am b/policy/Makefile.am
index ebb7808..6babe33 100644
--- a/policy/Makefile.am
+++ b/policy/Makefile.am
@@ -2,6 +2,11 @@
NULL =
if SECURITY_TYPE_POLKIT
+polkit_rulesdir = $(datadir)/polkit-1/rules.d
+dist_polkit_rules_DATA = \
+ org.freedesktop.packagekit.rules \
+ $(NULL)
+
polkit_policydir = $(datadir)/polkit-1/actions
dist_polkit_policy_DATA = \
org.freedesktop.packagekit.policy \
diff --git a/policy/org.freedesktop.packagekit.policy.in b/policy/org.freedesktop.packagekit.policy.in
index 28ab3b1..19cdd20 100644
--- a/policy/org.freedesktop.packagekit.policy.in
+++ b/policy/org.freedesktop.packagekit.policy.in
@@ -42,7 +42,7 @@
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
- <allow_active>yes</allow_active>
+ <allow_active>auth_admin_keep</allow_active>
</defaults>
</action>
diff --git a/policy/org.freedesktop.packagekit.rules b/policy/org.freedesktop.packagekit.rules
new file mode 100644
index 0000000..6a1c8a7
--- /dev/null
+++ b/policy/org.freedesktop.packagekit.rules
@@ -0,0 +1,7 @@
+polkit.addRule(function(action, subject) {
+ if (action.id == "org.freedesktop.packagekit.package-install" &&
+ subject.active == true && subject.local == true &&
+ subject.isInGroup("wheel")) {
+ return polkit.Result.YES;
+ }
+});
--
1.8.2.1

View File

@ -5,8 +5,8 @@
Summary: Package management service
Name: PackageKit
Version: 0.8.9
Release: 6%{?dist}
Version: 0.8.10
Release: 1%{?dist}
License: GPLv2+ and LGPLv2+
URL: http://www.packagekit.org
Source0: http://www.packagekit.org/releases/%{name}-%{version}.tar.xz
@ -21,7 +21,7 @@ Patch1: PackageKit-0.4.4-Fedora-turn-off-time.conf.patch
Patch4: PackageKit-0.7.4-xulrunner2.patch
# Upstream already
Patch99: PackageKit-git-fixes.patch
#Patch99: PackageKit-git-fixes.patch
Requires: %{name}-glib%{?_isa} = %{version}-%{release}
Requires: PackageKit-backend
@ -243,7 +243,7 @@ user to restart the computer or remove and re-insert the device.
%patch0 -p1 -b .fedora
%patch1 -p1 -b .no-time
%patch4 -p1 -b .xulrunner2
%patch99 -p1 -b .git
#%patch99 -p1 -b .git
NOCONFIGURE=1 ./autogen.sh
@ -320,6 +320,7 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%dir %{_localstatedir}/cache/PackageKit
%ghost %verify(not md5 size mtime) %{_localstatedir}/cache/PackageKit/groups.sqlite
%dir %{_localstatedir}/cache/PackageKit/downloads
%dir %{_localstatedir}/cache/PackageKit/metadata
%{python_sitelib}/packagekit/*py*
%if !0%{?rhel}
%{_datadir}/bash-completion/completions/pkcon
@ -446,6 +447,20 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%{_libdir}/pkgconfig/packagekit-plugin.pc
%changelog
* Fri Jul 26 2013 Richard Hughes <rhughes@redhat.com> - 0.8.10-1
- New upstream release
- Actually return the error if any PkClient methods failed
- Add a 'DOWNLOADED' filter to select only packages already in the cache
- Add three pkcon sub-commands for offline updates
- Local active users in the wheel group can install signed packages w/o a password
- Fix a potential segfault when getting the error code for the results
- If the transaction database is missing, show an error and cleanly shutdown
- Only search newest packages when resolving 'pkcon update foo'
- Raise the package process threshold to 5000
- systemd-updates: Do not exit with an error for a race condition
- yum: Only download the offline update packages if not already in the cache
- yum: Use yb.downloadPkgs() to download updates
* Sat Jun 22 2013 Matthias Clasen <mclasen@redhat.com> - 0.8.9-6
- Trim %%changelog

View File

@ -1 +1 @@
a2f40ba8eab770a1dfadbc937346bfcc PackageKit-0.8.9.tar.xz
d6eaa6c89be0bcfbc24340eb3e1c2e95 PackageKit-0.8.10.tar.xz