public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/dnf5] rawhide: Restore ABI
@ 2026-08-19 13:48 
  0 siblings, 0 replies; only message in thread
From:  @ 2026-08-19 13:48 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/dnf5
Branch : rawhide
Commit : f174d0fcedc78a34d74b800697862b93683ad5e0
Author : Petr Písař <ppisar@redhat.com>
Date   : 2026-08-19T15:47:01+02:00
Stats  : +75/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/dnf5/c/f174d0fcedc78a34d74b800697862b93683ad5e0?branch=rawhide

Log:
Restore ABI

---
diff --git a/0003-Remove-libdnf5-base-Transaction-persistence-to-resto.patch b/0003-Remove-libdnf5-base-Transaction-persistence-to-resto.patch
new file mode 100644
index 0000000..3ae89fd
--- /dev/null
+++ b/0003-Remove-libdnf5-base-Transaction-persistence-to-resto.patch
@@ -0,0 +1,70 @@
+From 8438f6bafc2ce6c2570fb26c6d1ed93d11a8c0b5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Wed, 19 Aug 2026 13:41:51 +0200
+Subject: [PATCH] Remove libdnf5::base::Transaction::persistence to restore ABI
+
+93d42a2ffd9957aadb59f897771b890a09f8c927 commit ("bootc: Add
+transaction persistence field") broke ABI by adding "persistence"
+member to libdnf5::base::Transaction class. This unintentional ABI
+break caused crashing PackageKit daemon compiled against DNF5 5.4.2.1
+and running againt DNF5 5.4.3.0.
+
+This patch moves the member into a private
+libdnf5::base::Transaction::Impl class.
+
+Resolve: #2869
+---
+ include/libdnf5/base/transaction.hpp | 1 -
+ libdnf5/base/transaction.cpp         | 2 +-
+ libdnf5/base/transaction_impl.hpp    | 3 +++
+ 3 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/include/libdnf5/base/transaction.hpp b/include/libdnf5/base/transaction.hpp
+index 5ca23df79..6668724d6 100644
+--- a/include/libdnf5/base/transaction.hpp
++++ b/include/libdnf5/base/transaction.hpp
+@@ -227,7 +227,6 @@ private:
+     std::optional<uint32_t> user_id;
+     std::string comment;
+     std::string description;
+-    libdnf5::base::TransactionPersistence persistence = libdnf5::base::TransactionPersistence::UNKNOWN;
+ 
+     /// Clear the recorded last scriptlet output
+     LIBDNF_LOCAL void clear_last_script_output();
+diff --git a/libdnf5/base/transaction.cpp b/libdnf5/base/transaction.cpp
+index a319b1b0a..444d9c5c1 100644
+--- a/libdnf5/base/transaction.cpp
++++ b/libdnf5/base/transaction.cpp
+@@ -485,7 +485,7 @@ void Transaction::set_comment(const std::string & comment) {
+ }
+ 
+ void Transaction::set_persistence(libdnf5::base::TransactionPersistence persistence) {
+-    this->persistence = persistence;
++    p_impl->persistence = persistence;
+ }
+ 
+ bool Transaction::check_gpg_signatures() {
+diff --git a/libdnf5/base/transaction_impl.hpp b/libdnf5/base/transaction_impl.hpp
+index 9c4146a0a..19f056a0f 100644
+--- a/libdnf5/base/transaction_impl.hpp
++++ b/libdnf5/base/transaction_impl.hpp
+@@ -32,6 +32,7 @@
+ #include "libdnf5/base/transaction_group.hpp"
+ #include "libdnf5/base/transaction_module.hpp"
+ #include "libdnf5/base/transaction_package.hpp"
++#include "libdnf5/base/transaction_persistence.hpp"
+ #include "libdnf5/module/module_sack.hpp"
+ #include "libdnf5/rpm/package.hpp"
+ #include "libdnf5/rpm/rpm_signature.hpp"
+@@ -138,6 +139,8 @@ private:
+     // history db transaction id
+     int64_t history_db_id = 0;
+ 
++    libdnf5::base::TransactionPersistence persistence = libdnf5::base::TransactionPersistence::UNKNOWN;
++
+     // whether also the command line repo packages should be downloaded to the destination
+     bool download_local_pkgs{false};
+ 
+-- 
+2.55.0
+

diff --git a/dnf5.spec b/dnf5.spec
index bf0a1ea..647891e 100644
--- a/dnf5.spec
+++ b/dnf5.spec
@@ -13,13 +13,14 @@
 
 Name:           dnf5
 Version:        %{project_version_prime}.%{project_version_major}.%{project_version_minor}.%{project_version_micro}
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Command-line package manager
 License:        GPL-2.0-or-later
 URL:            https://github.com/rpm-software-management/dnf5
 Source0:        %{url}/archive/%{version}/dnf5-%{version}.tar.gz
 Patch1:         0001-Fix-integer-overflow-on-32-bit-platforms-in-D-Bus-hi.patch
 Patch2:         0002-reposync-Prevent-a-min-buildtime-overflow-on-32-bit-.patch
+Patch3:         0003-Remove-libdnf5-base-Transaction-persistence-to-resto.patch
 
 Requires:       libdnf5%{?_isa} = %{version}-%{release}
 Requires:       libdnf5-cli%{?_isa} = %{version}-%{release}
@@ -1173,6 +1174,9 @@ mkdir -p %{buildroot}%{_libdir}/libdnf5/plugins
 %ldconfig_scriptlets
 
 %changelog
+* Wed Aug 19 2026 Petr Pisar <ppisar@redhat.com> - 5.4.3.0-2
+- Restore ABI (upstream GH#2869)
+
 * Wed Aug 12 2026 Packit <hello@packit.dev> - 5.4.3.0-1
 - Update to version 5.4.3.0
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-19 13:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-19 13:48 [rpms/dnf5] rawhide: Restore ABI 

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox