public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/dnf5] f45: Update to 5.4.4.0 upstream release
@ 2026-09-04 12:32 Packit
0 siblings, 0 replies; only message in thread
From: Packit @ 2026-09-04 12:32 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/dnf5
Branch : f45
Commit : c43f87c68cfca549171429ba94aded4a8c36348d
Author : Packit <hello@packit.dev>
Date : 2026-08-31T13:08:04+02:00
Stats : +35/-220 in 7 file(s)
URL : https://src.fedoraproject.org/rpms/dnf5/c/c43f87c68cfca549171429ba94aded4a8c36348d?branch=f45
Log:
Update to 5.4.4.0 upstream release
Upstream tag: 5.4.4.0
Upstream commit: 8a8e2348
Commit authored by Packit automation (https://packit.dev/)
---
diff --git a/.gitignore b/.gitignore
index a44fcc7..5a39ef2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,3 +58,4 @@
/dnf5-5.4.2.0.tar.gz
/dnf5-5.4.2.1.tar.gz
/dnf5-5.4.3.0.tar.gz
+/dnf5-5.4.4.0.tar.gz
diff --git a/0001-Fix-integer-overflow-on-32-bit-platforms-in-D-Bus-hi.patch b/0001-Fix-integer-overflow-on-32-bit-platforms-in-D-Bus-hi.patch
deleted file mode 100644
index 130e2fe..0000000
--- a/0001-Fix-integer-overflow-on-32-bit-platforms-in-D-Bus-hi.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 1709c39ac6c8743cbac2160ab028cca2332406a3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
-Date: Thu, 13 Aug 2026 14:29:04 +0200
-Subject: [PATCH 1/2] Fix integer overflow on 32-bit platforms in D-Bus history
- limit
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Building on i686 failed:
-
- /builddir/build/BUILD/dnf5-5.4.3.0-build/dnf5-5.4.3.0/dnf5daemon-server/services/history/history.cpp: In member function ‘sdbus::MethodReply History::list(sdbus::MethodCall&)’:
- /builddir/build/BUILD/dnf5-5.4.3.0-build/dnf5-5.4.3.0/dnf5daemon-server/services/history/history.cpp:414:51: error: conversion from ‘long long int’ to ‘__gnu_cxx::__normal_iterator<libdnf5::transaction::Transaction*, std::vector<libdnf5::transaction::Transaction> >::difference_type’ {aka ‘int’} may change value [-Werror=conversion]
- 414 | transactions.erase(transactions.begin() + limit, transactions.end());
- | ^~~~~
-
-The cause was right-hand side of "+" operator after an iterator requires a
-ptrdiff_t type, which is 32-bit signed int on 32-bit platforms. Hence the
-compiler correctly complained that a limit value larger than 2^31-1 could be
-misinterpreted when coercing 64-bit signed limit variable.
-
-This patch adds thetype cast to placate the compiler and the necessary check
-for the maximal representiable value for ptrdiff_t. It also adds a missing
-uppper bound check for size_t type.
----
- dnf5daemon-server/services/history/history.cpp | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/dnf5daemon-server/services/history/history.cpp b/dnf5daemon-server/services/history/history.cpp
-index 3460748a5..789858fce 100644
---- a/dnf5daemon-server/services/history/history.cpp
-+++ b/dnf5daemon-server/services/history/history.cpp
-@@ -34,7 +34,10 @@
- #include <libdnf5/utils/format.hpp>
- #include <sdbus-c++/sdbus-c++.h>
-
-+#include <cstddef>
-+#include <limits>
- #include <unordered_map>
-+#include <utility>
-
- namespace {
-
-@@ -410,8 +413,10 @@ sdbus::MethodReply History::list(sdbus::MethodCall & call) {
- }
-
- // Apply limit
-- if (limit > 0 && transactions.size() > static_cast<size_t>(limit)) {
-- transactions.erase(transactions.begin() + limit, transactions.end());
-+ if (limit > 0 && std::cmp_less(limit, std::numeric_limits<size_t>::max()) &&
-+ std::cmp_less(limit, std::numeric_limits<ptrdiff_t>::max()) &&
-+ transactions.size() > static_cast<size_t>(limit)) {
-+ transactions.erase(transactions.begin() + static_cast<ptrdiff_t>(limit), transactions.end());
- }
-
- // Build output
---
-2.55.0
-
diff --git a/0002-reposync-Prevent-a-min-buildtime-overflow-on-32-bit-.patch b/0002-reposync-Prevent-a-min-buildtime-overflow-on-32-bit-.patch
deleted file mode 100644
index 549f24e..0000000
--- a/0002-reposync-Prevent-a-min-buildtime-overflow-on-32-bit-.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 988d838cdcd97760d6733e5d29b3de02c971af62 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
-Date: Thu, 13 Aug 2026 17:00:00 +0200
-Subject: [PATCH 2/2] reposync: Prevent a --min-buildtime overflow on 32-bit
- platforms
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Compilation on i686 failed:
-
- /builddir/build/BUILD/dnf5-5.4.3.0-build/dnf5-5.4.3.0/dnf5-plugins/reposync_plugin/reposync.cpp: In member function ‘dnf5::ReposyncCommand::download_list_type dnf5::ReposyncCommand::get_packages_list(const libdnf5::repo::Repo&)’:
- /builddir/build/BUILD/dnf5-5.4.3.0-build/dnf5-5.4.3.0/dnf5-plugins/reposync_plugin/reposync.cpp:247:60: error: conversion from ‘int64_t’ {aka ‘long long int’} to ‘time_t’ {aka ‘long int’} may change value [-Werror=conversion]
- 247 | query.filter_recent(min_buildtime_option->get_value());
- | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
-
-The cause was a disagreement between
-libdnf5::cli::session::DateOption::get_value() type (int64_t) and
-PackageQuery::filter_recent() type (time_t).
-
-This quick fix was choosen becaue it does not changes API in any way.
-
-Ideal fix would be either changing
-libdnf5::cli::session::DateOption::get_value() type or adding yet another
-PackageQuery::filter_recent() accepting int64_t. (We could make a template, but
-would not have to forget on adding few instances into language bindings.)
-
-Less deal fix would be adding libdnf5::cli::session::DateOption::get_value()
-which returns time_t, so tthat we can stop usning type casts through out the
-code.
----
- dnf5-plugins/reposync_plugin/reposync.cpp | 2 +-
- libdnf5-cli/session.cpp | 14 +++++++++++++-
- 2 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/dnf5-plugins/reposync_plugin/reposync.cpp b/dnf5-plugins/reposync_plugin/reposync.cpp
-index 4c720f307..1fe30639d 100644
---- a/dnf5-plugins/reposync_plugin/reposync.cpp
-+++ b/dnf5-plugins/reposync_plugin/reposync.cpp
-@@ -244,7 +244,7 @@ ReposyncCommand::download_list_type ReposyncCommand::get_packages_list(const lib
- }
-
- if (min_buildtime_option->get_arg()->get_parse_count() >= 1) {
-- query.filter_recent(min_buildtime_option->get_value());
-+ query.filter_recent(static_cast<time_t>(min_buildtime_option->get_value()));
- }
-
- if (!arch_option.empty()) {
-diff --git a/libdnf5-cli/session.cpp b/libdnf5-cli/session.cpp
-index c8ac211d8..b2fa196c1 100644
---- a/libdnf5-cli/session.cpp
-+++ b/libdnf5-cli/session.cpp
-@@ -22,7 +22,9 @@
- #include <libdnf5/utils/bgettext/bgettext-mark-domain.h>
-
- #include <chrono>
-+#include <limits>
- #include <sstream>
-+#include <utility>
-
- namespace libdnf5::cli::session {
-
-@@ -257,7 +259,17 @@ DateOption::DateOption(
- throw libdnf5::cli::ArgumentParserError(
- M_("Invalid date passed: \"{}\". Dates in \"YYYY-MM-DD\" format are expected"), value);
- }
-- return tp.time_since_epoch().count();
-+ // This option should have used time_t because it is used
-+ // elsewhere, e.g. in PackageQuery::filter_recent().
-+ // Therefore reject out-of-range values right now instead of
-+ // dealing with the overflows throughout the code.
-+ auto numeric_value = tp.time_since_epoch().count();
-+ if (std::cmp_less(numeric_value, std::numeric_limits<time_t>::lowest()) ||
-+ std::cmp_greater(numeric_value, std::numeric_limits<time_t>::max())) {
-+ throw libdnf5::cli::ArgumentParserError(
-+ M_("\"{}\" date cannot be represented by time_t type on this platform"), value);
-+ }
-+ return numeric_value;
- }))));
- arg->link_value(conf);
-
---
-2.55.0
-
diff --git a/0003-Remove-libdnf5-base-Transaction-persistence-to-resto.patch b/0003-Remove-libdnf5-base-Transaction-persistence-to-resto.patch
deleted file mode 100644
index 3ae89fd..0000000
--- a/0003-Remove-libdnf5-base-Transaction-persistence-to-resto.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-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/README.packit b/README.packit
index 68a092a..09d231a 100644
--- a/README.packit
+++ b/README.packit
@@ -1,3 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
-The file was generated using packit 1.16.2.post1.dev8+g69d783e81.
+The file was generated using packit 1.16.2.post1.dev12+g819bb7962.
diff --git a/dnf5.spec b/dnf5.spec
index 647891e..043ed16 100644
--- a/dnf5.spec
+++ b/dnf5.spec
@@ -1,6 +1,6 @@
%global project_version_prime 5
%global project_version_major 4
-%global project_version_minor 3
+%global project_version_minor 4
%global project_version_micro 0
%bcond dnf5_obsoletes_dnf %[0%{?fedora} > 40 || 0%{?rhel} > 10]
@@ -13,14 +13,11 @@
Name: dnf5
Version: %{project_version_prime}.%{project_version_major}.%{project_version_minor}.%{project_version_micro}
-Release: 2%{?dist}
+Release: 1%{?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}
@@ -104,6 +101,12 @@ Provides: dnf5-command(versionlock)
%bcond_without plugin_local
%endif
+%if %{with systemd}
+%bcond_without plugin_systemd_inhibit
+%else
+%bcond_with plugin_systemd_inhibit
+%endif
+
%bcond_without acl
%bcond_without comps
@@ -464,6 +467,7 @@ Requires: librepo%{?_isa} >= %{librepo_version}
Requires: rpm-libs%{?_isa} >= 5.99.90
%endif
Requires: sqlite-libs%{?_isa} >= %{sqlite_version}
+Recommends: (libdnf5-plugin-systemd-inhibit if systemd)
%if %{with dnf5_obsoletes_dnf}
Conflicts: dnf-data < 4.20.0
%endif
@@ -829,6 +833,25 @@ Libdnf5 plugin that automatically copies all downloaded packages to a repository
%endif
%endif
+# ========== libdnf5-plugin-systemd-inhibit ==========
+
+%if %{with plugin_systemd_inhibit}
+%package -n libdnf5-plugin-systemd-inhibit
+Summary: Libdnf5 plugin that prevents system shutdown during a package transaction
+License: LGPL-2.1-or-later
+Requires: libdnf5%{?_isa} = %{version}-%{release}
+BuildRequires: pkgconfig(sdbus-c++) >= 0.8.1
+
+%description -n libdnf5-plugin-systemd-inhibit
+Libdnf5 plugin that acquires a systemd inhibitor lock during a package
+transaction to prevent system shutdown or reboot while packages are being
+installed, removed, or updated.
+
+%files -n libdnf5-plugin-systemd-inhibit
+%{_libdir}/libdnf5/plugins/systemd-inhibit.*
+%config %{_sysconfdir}/dnf/libdnf5-plugins/00-systemd-inhibit.conf
+%endif
+
# ========== dnf5daemon-client ==========
@@ -1048,6 +1071,7 @@ DNF5 plugin for working with RPM package manifest files.
-DWITH_PLUGIN_LOCAL=%{?with_plugin_local:ON}%{!?with_plugin_local:OFF} \
-DWITH_PLUGIN_RHSM=%{?with_plugin_rhsm:ON}%{!?with_plugin_rhsm:OFF} \
-DWITH_PLUGIN_MANIFEST=%{?with_plugin_manifest:ON}%{!?with_plugin_manifest:OFF} \
+ -DWITH_PLUGIN_SYSTEMD_INHIBIT=%{?with_plugin_systemd_inhibit:ON}%{!?with_plugin_systemd_inhibit:OFF} \
-DWITH_PYTHON_PLUGINS_LOADER=%{?with_python_plugins_loader:ON}%{!?with_python_plugins_loader:OFF} \
\
-DWITH_ACL=%{?with_acl:ON}%{!?with_acl:OFF} \
@@ -1174,6 +1198,9 @@ mkdir -p %{buildroot}%{_libdir}/libdnf5/plugins
%ldconfig_scriptlets
%changelog
+* Fri Aug 21 2026 Packit <hello@packit.dev> - 5.4.4.0-1
+- Update to version 5.4.4.0
+
* Wed Aug 19 2026 Petr Pisar <ppisar@redhat.com> - 5.4.3.0-2
- Restore ABI (upstream GH#2869)
diff --git a/sources b/sources
index 5157d72..238fd0c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (dnf5-5.4.3.0.tar.gz) = 1752b79ead2cf4527b9a4a25bd09b76fadc9bb273530e4675027abe8890a331acd9d631e772c4137364f82cc095cfc6895a436f2419b81dd5c923257ab9c6a8d
+SHA512 (dnf5-5.4.4.0.tar.gz) = 7ff3b1a841a97fd5c497352f05f5be9a9cd45afb43a93b67d069de51d47ab6f7e8d1f2995f73a6b88da67a097b9887d1504ada25d9cd692f795a62713e2eb1e0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-04 12:32 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-04 12:32 [rpms/dnf5] f45: Update to 5.4.4.0 upstream release Packit
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox