From ec2400b40fc1553b5665bbbd27919fa3e07bab34 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Tue, 18 Dec 2018 02:08:18 +0100 Subject: [PATCH] Invalidate the sack cache after downloading new metadata https://bugzilla.redhat.com/show_bug.cgi?id=1642878 --- ...he-sack-cache-after-downloading-new-.patch | 38 +++++++++++++++++++ PackageKit.spec | 8 +++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 0001-dnf-Invalidate-the-sack-cache-after-downloading-new-.patch diff --git a/0001-dnf-Invalidate-the-sack-cache-after-downloading-new-.patch b/0001-dnf-Invalidate-the-sack-cache-after-downloading-new-.patch new file mode 100644 index 0000000..794c8e0 --- /dev/null +++ b/0001-dnf-Invalidate-the-sack-cache-after-downloading-new-.patch @@ -0,0 +1,38 @@ +From cdbd27d699b51e37c533d07abd2f1ab26e11355c Mon Sep 17 00:00:00 2001 +From: Kalev Lember +Date: Tue, 18 Dec 2018 01:02:27 +0100 +Subject: [PATCH] dnf: Invalidate the sack cache after downloading new metadata + +This fixes first resolve() after refresh() to correctly return the new +data. + +https://bugzilla.redhat.com/show_bug.cgi?id=1642878 +--- + backends/dnf/pk-backend-dnf.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/backends/dnf/pk-backend-dnf.c b/backends/dnf/pk-backend-dnf.c +index 5961f1258..47e565915 100644 +--- a/backends/dnf/pk-backend-dnf.c ++++ b/backends/dnf/pk-backend-dnf.c +@@ -1568,6 +1568,7 @@ pk_backend_refresh_cache_thread (PkBackendJob *job, + gpointer user_data) + { + PkBackendDnfJobData *job_data = pk_backend_job_get_user_data (job); ++ PkBackend *backend = pk_backend_job_get_backend (job); + DnfRepo *repo; + DnfState *state_local; + DnfState *state_loop; +@@ -1699,6 +1700,9 @@ pk_backend_refresh_cache_thread (PkBackendJob *job, + return; + } + ++ /* invalidate the sack cache after downloading new metadata */ ++ pk_backend_sack_cache_invalidate (backend, "downloaded new metadata"); ++ + /* regenerate the libsolv metadata */ + state_local = dnf_state_get_child (job_data->state); + sack = dnf_utils_create_sack_for_filters (job, 0, +-- +2.19.1 + diff --git a/PackageKit.spec b/PackageKit.spec index a2ca327..c2aba65 100644 --- a/PackageKit.spec +++ b/PackageKit.spec @@ -14,7 +14,7 @@ Summary: Package management service Name: PackageKit Version: 1.1.12 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ and LGPLv2+ URL: http://www.freedesktop.org/software/PackageKit/ Source0: http://www.freedesktop.org/software/PackageKit/releases/%{name}-%{version}.tar.xz @@ -30,6 +30,9 @@ Provides: bundled(libdnf) = 0.7.0 # Fedora-specific: set Vendor.conf up for Fedora. Patch0: PackageKit-0.3.8-Fedora-Vendor.conf.patch +# Backported from upstream +Patch1: 0001-dnf-Invalidate-the-sack-cache-after-downloading-new-.patch + BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: xmlto BuildRequires: gtk-doc @@ -340,6 +343,9 @@ systemctl disable packagekit-offline-update.service > /dev/null 2>&1 || : %{_datadir}/vala/vapi/packagekit-glib2.vapi %changelog +* Tue Dec 18 2018 Kalev Lember - 1.1.12-2 +- Invalidate the sack cache after downloading new metadata (#1642878) + * Wed Nov 28 2018 Kalev Lember - 1.1.12-1 - Update to 1.1.12