From 7139d16e2670e605c9d1d94aa3a50ceed0119afd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Wed, 5 Feb 2025 15:25:43 +0100 Subject: [PATCH] Add persistence configuration option Resolves: RHEL-78024 --- 0017-Add-persistence-config-option.patch | 60 ++++++++++++++++++++++++ libdnf.spec | 6 ++- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 0017-Add-persistence-config-option.patch diff --git a/0017-Add-persistence-config-option.patch b/0017-Add-persistence-config-option.patch new file mode 100644 index 0000000..a269985 --- /dev/null +++ b/0017-Add-persistence-config-option.patch @@ -0,0 +1,60 @@ +From 6aad42579f10110b5a483331fbfbde88593f638e Mon Sep 17 00:00:00 2001 +From: Evan Goode +Date: Thu, 7 Nov 2024 02:34:37 +0000 +Subject: [PATCH] Add `persistence` config option +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream commit: 18a7db66bfc2cf228bdbb484fa92504c2eaefdc6 +Resolves: https://issues.redhat.com/browse/RHEL-78024 + +Signed-off-by: Petr Písař +--- + libdnf/conf/ConfigMain.cpp | 3 +++ + libdnf/conf/ConfigMain.hpp | 1 + + 2 files changed, 4 insertions(+) + +diff --git a/libdnf/conf/ConfigMain.cpp b/libdnf/conf/ConfigMain.cpp +index b40f8dcc..cee6e2cf 100644 +--- a/libdnf/conf/ConfigMain.cpp ++++ b/libdnf/conf/ConfigMain.cpp +@@ -283,6 +283,7 @@ class ConfigMain::Impl { + OptionString comment{nullptr}; + OptionBool downloadonly{false}; // runtime only option + OptionBool ignorearch{false}; ++ OptionEnum persistence{"auto", {"auto", "persist", "transient"}}; + OptionString module_platform_id{nullptr}; + OptionBool module_stream_switch{false}; + OptionBool module_obsoletes{false}; +@@ -455,6 +456,7 @@ ConfigMain::Impl::Impl(Config & owner) + owner.optBinds().add("user_agent", user_agent); + owner.optBinds().add("countme", countme); + owner.optBinds().add("protect_running_kernel", protect_running_kernel); ++ owner.optBinds().add("persistence", persistence); + + // Repo main config + +@@ -597,6 +599,7 @@ OptionPath & ConfigMain::destdir() { return pImpl->destdir; } + OptionString & ConfigMain::comment() { return pImpl->comment; } + OptionBool & ConfigMain::downloadonly() { return pImpl->downloadonly; } + OptionBool & ConfigMain::ignorearch() { return pImpl->ignorearch; } ++OptionEnum & ConfigMain::persistence() { return pImpl->persistence; } + + OptionString & ConfigMain::module_platform_id() { return pImpl->module_platform_id; } + OptionBool & ConfigMain::module_stream_switch() { return pImpl->module_stream_switch; } +diff --git a/libdnf/conf/ConfigMain.hpp b/libdnf/conf/ConfigMain.hpp +index 19395c71..1ef28e7b 100644 +--- a/libdnf/conf/ConfigMain.hpp ++++ b/libdnf/conf/ConfigMain.hpp +@@ -123,6 +123,7 @@ public: + OptionString & comment(); + OptionBool & downloadonly(); + OptionBool & ignorearch(); ++ OptionEnum & persistence(); + + OptionString & module_platform_id(); + OptionBool & module_stream_switch(); +-- +2.48.1 + diff --git a/libdnf.spec b/libdnf.spec index 72a4e67..40e19cd 100644 --- a/libdnf.spec +++ b/libdnf.spec @@ -58,7 +58,7 @@ Name: libdnf Version: %{libdnf_major_version}.%{libdnf_minor_version}.%{libdnf_micro_version} -Release: 12%{?dist} +Release: 13%{?dist} Summary: Library providing simplified C and Python API to libsolv License: LGPLv2+ URL: https://github.com/rpm-software-management/libdnf @@ -79,6 +79,7 @@ Patch13: 0013-MergedTransaction-Fix-invalid-memory-access-when-dro.patch Patch14: 0014-context-use-rpmtsAddReinstallElement-when-doing-a-re.patch Patch15: 0015-Since-we-use-rpmtsAddReinstallElement-rpm-also-unins.patch Patch16: 0016-repo-Don-t-try-to-perform-labeling-if-SELinux-is-dis.patch +Patch17: 0017-Add-persistence-config-option.patch BuildRequires: cmake @@ -328,6 +329,9 @@ popd %endif %changelog +* Wed Feb 05 2025 Petr Pisar - 0.69.0-13 +- Add persistence configuration option (RHEL-78024) + * Fri Jun 21 2024 Petr Pisar - 0.69.0-12 - Do not set a default SELinux creation context if SELinux appears to be disabled (RHEL-43232)