Backport an offline updates fix

This commit is contained in:
Kalev Lember 2014-06-10 11:18:45 +02:00
parent 981843a1de
commit d0d4e41ad8
2 changed files with 48 additions and 1 deletions

View File

@ -0,0 +1,41 @@
From 5887a114b86e87d6446d4a363dcd73f7f1ee1241 Mon Sep 17 00:00:00 2001
From: Kalev Lember <kalevlember@gmail.com>
Date: Sun, 8 Jun 2014 12:33:24 +0200
Subject: [PATCH] hawkey: Correctly set the cleanup status
We were wrongly setting the cleanup status not on the removed package,
but on the one that got installed as a replacement.
https://bugs.freedesktop.org/show_bug.cgi?id=79791
---
backends/hawkey/pk-backend-hawkey.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/backends/hawkey/pk-backend-hawkey.c b/backends/hawkey/pk-backend-hawkey.c
index 74ff632..bb71098 100644
--- a/backends/hawkey/pk-backend-hawkey.c
+++ b/backends/hawkey/pk-backend-hawkey.c
@@ -3223,7 +3223,7 @@ pk_backend_transaction_commit (PkBackendJob *job, HifState *state, GError **erro
/* add anything that gets obsoleted to a helper array which is used to
* map removed packages auto-added by rpm to actual HyPackage's */
- commit->remove_helper = g_ptr_array_new ();
+ commit->remove_helper = g_ptr_array_new_with_free_func ((GDestroyNotify) hy_package_free);
for (i = 0; i < commit->install->len; i++) {
pkg = g_ptr_array_index (commit->install, i);
is_update = hif_package_get_status (pkg) == PK_STATUS_ENUM_UPDATE;
@@ -3231,8 +3231,9 @@ pk_backend_transaction_commit (PkBackendJob *job, HifState *state, GError **erro
continue;
pkglist = hy_goal_list_obsoleted_by_package (job_data->goal, pkg);
FOR_PACKAGELIST(pkg_tmp, pkglist, j) {
- g_ptr_array_add (commit->remove_helper, pkg);
- hif_package_set_status (pkg, PK_STATUS_ENUM_CLEANUP);
+ g_ptr_array_add (commit->remove_helper,
+ hy_package_link (pkg_tmp));
+ hif_package_set_status (pkg_tmp, PK_STATUS_ENUM_CLEANUP);
}
hy_packagelist_free (pkglist);
}
--
2.0.0

View File

@ -9,7 +9,7 @@
Summary: Package management service
Name: PackageKit
Version: 0.9.2
Release: 6%{?dist}
Release: 7%{?dist}
License: GPLv2+ and LGPLv2+
URL: http://www.freedesktop.org/software/PackageKit/
Source0: http://www.freedesktop.org/software/PackageKit/releases/%{name}-%{version}.tar.xz
@ -18,6 +18,8 @@ Source0: http://www.freedesktop.org/software/PackageKit/releases/%{name}-%{ver
Patch0: PackageKit-0.3.8-Fedora-Vendor.conf.patch
# Upstream fix for parallel kernel package installation
Patch1: 0001-hif-Reimplement-multiple-kernel-package-installation.patch
# Another upstream fix for offline updates
Patch2: 0002-hawkey-Correctly-set-the-cleanup-status.patch
Requires: %{name}-glib%{?_isa} = %{version}-%{release}
Requires: shared-mime-info
@ -181,6 +183,7 @@ using PackageKit.
#%setup -q -n %{name}-%{version}-%{gitdate}
%patch0 -p1 -b .fedora
%patch1 -p1
%patch2 -p1
%build
%configure \
@ -348,6 +351,9 @@ popd > /dev/null
%changelog
* Tue Jun 10 2014 Kalev Lember <kalevlember@gmail.com> - 0.9.2-7
- Backport an offline updates fix
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild