public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Packit <hello@packit.dev>
To: git-commits@fedoraproject.org
Subject: [rpms/dnf5] f45: Update to 5.4.4.0 upstream release
Date: Fri, 04 Sep 2026 12:32:40 GMT	[thread overview]
Message-ID: <178852516002.1.10188791450418985185.rpms-dnf5-c43f87c68cfc@fedoraproject.org> (raw)

            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

                 reply	other threads:[~2026-09-04 12:32 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178852516002.1.10188791450418985185.rpms-dnf5-c43f87c68cfc@fedoraproject.org \
    --to=hello@packit.dev \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox