From 95fa95548758d7a8c0d2680f48bd51546d020dec Mon Sep 17 00:00:00 2001 From: Jaroslav Mracek Date: Fri, 19 Oct 2018 17:19:26 +0200 Subject: [PATCH] Back-port Relocate-ModuleContainer-save-hook-RhBug1632518 --- ...duleContainer-save-hook-RhBug1632518.patch | 58 +++++++++++++++++++ libdnf.spec | 8 ++- 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 0004-Relocate-ModuleContainer-save-hook-RhBug1632518.patch diff --git a/0004-Relocate-ModuleContainer-save-hook-RhBug1632518.patch b/0004-Relocate-ModuleContainer-save-hook-RhBug1632518.patch new file mode 100644 index 0000000..acc0da3 --- /dev/null +++ b/0004-Relocate-ModuleContainer-save-hook-RhBug1632518.patch @@ -0,0 +1,58 @@ +From 744a95e49b6f29aa65bc5b28e0e821c38c481581 Mon Sep 17 00:00:00 2001 +From: Jaroslav Mracek +Date: Fri, 19 Oct 2018 15:44:39 +0200 +Subject: [PATCH] Relocate ModuleContainer save hook (RhBug:1632518) + +--- + libdnf/dnf-context.cpp | 5 +---- + libdnf/dnf-transaction.cpp | 5 +++++ + 2 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/libdnf/dnf-context.cpp b/libdnf/dnf-context.cpp +index 141af3a..db1741c 100644 +--- a/libdnf/dnf-context.cpp ++++ b/libdnf/dnf-context.cpp +@@ -1879,10 +1879,7 @@ dnf_context_run(DnfContext *context, GCancellable *cancellable, GError **error) + error); + if (!ret) + return FALSE; +- auto moduleContainer = dnf_sack_get_module_container(priv->sack); +- if (moduleContainer) { +- moduleContainer->save(); +- } ++ + /* this sack is no longer valid */ + g_object_unref(priv->sack); + priv->sack = NULL; +diff --git a/libdnf/dnf-transaction.cpp b/libdnf/dnf-transaction.cpp +index 5c078a0..0d948d7 100644 +--- a/libdnf/dnf-transaction.cpp ++++ b/libdnf/dnf-transaction.cpp +@@ -38,12 +38,14 @@ + #include "dnf-package.h" + #include "dnf-rpmts.h" + #include "dnf-sack.h" ++#include "dnf-sack-private.hpp" + #include "dnf-transaction.h" + #include "dnf-types.h" + #include "dnf-utils.h" + #include "hy-query.h" + #include "hy-util-private.hpp" + ++#include "module/ModulePackageContainer.hpp" + #include "transaction/Swdb.hpp" + #include "transaction/Transformer.hpp" + #include "utils/bgettext/bgettext-lib.h" +@@ -1435,6 +1437,9 @@ dnf_transaction_commit(DnfTransaction *transaction, HyGoal goal, DnfState *state + goto out; + } + ++ if (auto moduleContainer = dnf_sack_get_module_container(dnf_context_get_sack(priv->context))) ++ moduleContainer->save(); ++ + /* all sacks are invalid now */ + dnf_context_invalidate_full(priv->context, + "transaction performed", +-- +libgit2 0.26.7 + diff --git a/libdnf.spec b/libdnf.spec index 8d8ed66..9671598 100644 --- a/libdnf.spec +++ b/libdnf.spec @@ -31,7 +31,7 @@ Name: libdnf Version: 0.22.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Library providing simplified C and Python API to libsolv License: LGPLv2+ URL: https://github.com/rpm-software-management/libdnf @@ -39,6 +39,7 @@ Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Patch0001: 0001-Modify-solver_describe_decision-to-report-cleaned-RhBug1486749.patch Patch0002: 0002-history-Fix-crash-in-TransactionItemaddReplacedBy.patch Patch0003: 0003-swdb-create-persistent-WAL-files-RhBug1640235.patch +Patch0004: 0004-Relocate-ModuleContainer-save-hook-RhBug1632518.patch BuildRequires: cmake BuildRequires: gcc @@ -246,7 +247,10 @@ popd %endif %changelog -* Wed Oct 18 2018 Jaroslav Mracek - 0.22.0-3 +* Fri Oct 19 2018 Jaroslav Mracek - 0.22.0-4 +- backport Relocate-ModuleContainer-save-hook-RhBug1632518 + +* Thu Oct 18 2018 Jaroslav Mracek - 0.22.0-3 - bacport swdb-create-persistent-WAL-files-RhBug1640235 * Wed Oct 17 2018 Jaroslav Mracek - 0.22.0-2