Compare commits

..

No commits in common. 'cs10' and 'c9' have entirely different histories.
cs10 ... c9

@ -1 +1 @@
715947e57229503a74702cfd32f22240fa7bc2f6 SOURCES/dnf-plugins-core-4.7.0.tar.gz
d9a1561a5c4d238340b3db6d081c70b86841c291 SOURCES/dnf-plugins-core-4.3.0.tar.gz

2
.gitignore vendored

@ -1 +1 @@
SOURCES/dnf-plugins-core-4.7.0.tar.gz
SOURCES/dnf-plugins-core-4.3.0.tar.gz

@ -1,88 +0,0 @@
From 78a541bff0eb234e77b64c058ef51b0650208c1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Thu, 6 Jun 2024 13:11:12 +0200
Subject: [PATCH] needs-restarting: Revert using systemd start time
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Since commit a0ac8717219a1ec9f466162e87f40afa9aa65284 "dnf
needs-restarting -s" failed to spot services started withing few
seconds before updating their RPM package.
The cause was using systemd start time instead of a kernel boot time
when computing an absolute start time of processes.
This patch removes using the systemd start time until a proper fix is
found.
https://issues.redhat.com/browse/RHEL-39775
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
doc/needs_restarting.rst | 6 +-----
plugins/needs_restarting.py | 24 ------------------------
2 files changed, 1 insertion(+), 29 deletions(-)
diff --git a/doc/needs_restarting.rst b/doc/needs_restarting.rst
index 26f401b..be3cc03 100644
--- a/doc/needs_restarting.rst
+++ b/doc/needs_restarting.rst
@@ -36,12 +36,8 @@ Description
Note that in most cases a process should survive update of its binary and libraries it is using without requiring to be restarted for proper operation. There are however specific cases when this does not apply. Separately, processes often need to be restarted to reflect security updates.
.. note::
- Needs-restarting will try to guess the boot time using three different methods:
+ Needs-restarting will try to guess the boot time using two different methods:
- ``UnitsLoadStartTimestamp``
- D-Bus property on ``/org/freedesktop/systemd1``.
- Works unless the system was not booted with systemd,
- such as in (most) containers.
``st_mtime of /proc/1``
Reflects the time the first process was run after booting.
This works for all known cases except machines without
diff --git a/plugins/needs_restarting.py b/plugins/needs_restarting.py
index 8a41753..86777a2 100644
--- a/plugins/needs_restarting.py
+++ b/plugins/needs_restarting.py
@@ -218,11 +218,6 @@ class ProcessStart(object):
We have two sources from which to derive the boot time. These values vary
depending on containerization, existence of a Real Time Clock, etc.
For our purposes we want the latest derived value.
- - UnitsLoadStartTimestamp property on /org/freedesktop/systemd1
- The start time of the service manager, according to systemd itself.
- Seems to be more reliable than UserspaceTimestamp when the RTC is
- in local time. Works unless the system was not booted with systemd,
- such as in (most) containers.
- st_mtime of /proc/1
Reflects the time the first process was run after booting
This works for all known cases except machines without
@@ -233,25 +228,6 @@ class ProcessStart(object):
Does not work on containers which share their kernel with the
host - there the host kernel uptime is returned
"""
- units_load_start_timestamp = None
- try:
- bus = dbus.SystemBus()
- systemd1 = bus.get_object(
- 'org.freedesktop.systemd1',
- '/org/freedesktop/systemd1'
- )
- props = dbus.Interface(
- systemd1,
- dbus.PROPERTIES_IFACE
- )
- units_load_start_timestamp = props.Get(
- 'org.freedesktop.systemd1.Manager',
- 'UnitsLoadStartTimestamp'
- )
- if units_load_start_timestamp != 0:
- return int(units_load_start_timestamp / (1000 * 1000))
- except dbus.exceptions.DBusException as e:
- logger.debug("D-Bus error getting boot time from systemd: {}".format(e))
proc_1_boot_time = int(os.stat('/proc/1').st_mtime)
if os.path.isfile('/proc/uptime'):
--
2.45.2

@ -0,0 +1,78 @@
From 307641a869134de4ebd496d1a78e5ff128a26293 Mon Sep 17 00:00:00 2001
From: Jan Kolarik <jkolarik@redhat.com>
Date: Fri, 30 Sep 2022 11:36:26 +0000
Subject: [PATCH 2/4] Add a warning when using `system-upgrade` on RHEL
---
dnf-plugins-core.spec | 3 +--
doc/system-upgrade.rst | 6 ++++--
plugins/system_upgrade.py | 4 ++++
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/dnf-plugins-core.spec b/dnf-plugins-core.spec
index 4df6e44..1ee87a1 100644
--- a/dnf-plugins-core.spec
+++ b/dnf-plugins-core.spec
@@ -148,14 +148,13 @@ Summary: Core Plugins for DNF
%{?python_provide:%python_provide python3-%{name}}
BuildRequires: python3-dbus
BuildRequires: python3-devel
+BuildRequires: python3-distro
BuildRequires: python3-dnf >= %{dnf_lowest_compatible}
BuildRequires: python3-systemd
BuildRequires: pkgconfig(systemd)
BuildRequires: systemd
%{?systemd_ordering}
-%if 0%{?fedora}
Requires: python3-distro
-%endif
Requires: python3-dbus
Requires: python3-dnf >= %{dnf_lowest_compatible}
Requires: python3-hawkey >= %{hawkey_version}
diff --git a/doc/system-upgrade.rst b/doc/system-upgrade.rst
index 3110460..87b7319 100644
--- a/doc/system-upgrade.rst
+++ b/doc/system-upgrade.rst
@@ -27,13 +27,15 @@ DNF system-upgrades plugin provides three commands: ``system-upgrade``, ``offlin
``offline-distrosync``. Only ``system-upgrade`` command requires increase of distribution major
version (``--releasever``) compared to installed version.
-``dnf system-upgrade`` can be used to upgrade a Fedora system to a new major
-release. It replaces fedup (the old Fedora Upgrade tool). Before you proceed ensure that your system
+``dnf system-upgrade`` is a recommended way to upgrade a system to a new major release.
+It replaces fedup (the old Fedora Upgrade tool). Before you proceed ensure that your system
is fully upgraded (``dnf --refresh upgrade``).
The ``system-upgrade`` command also performes additional actions necessary for the upgrade of the
system, for example an upgrade of groups and environments.
+.. WARNING:: The ``system-upgrade`` command is not supported on the RHEL distribution.
+
--------
Synopsis
--------
diff --git a/plugins/system_upgrade.py b/plugins/system_upgrade.py
index fee6762..0baf978 100644
--- a/plugins/system_upgrade.py
+++ b/plugins/system_upgrade.py
@@ -20,6 +20,7 @@
"""system_upgrade.py - DNF plugin to handle major-version system upgrades."""
from subprocess import call, Popen, check_output, CalledProcessError
+import distro
import json
import os
import os.path
@@ -451,6 +452,9 @@ class SystemUpgradeCommand(dnf.cli.Command):
def configure_download(self):
if 'system-upgrade' == self.opts.command or 'fedup' == self.opts.command:
+ if distro.id() == 'rhel':
+ logger.warning(_('WARNING: this operation is not supported on the RHEL distribution. '
+ 'Proceed at your own risk.'))
help_url = get_url_from_os_release()
if help_url:
msg = _('Additional information for System Upgrade: {}')
--
2.38.1

@ -1,105 +0,0 @@
From 73ef31daf47fe0a90f0cda225c585ba4ceec9420 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Fri, 14 Jun 2024 17:46:04 +0200
Subject: [PATCH] spec: Fix symbolic links to packaged files
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream commit: 73ef31daf47fe0a90f0cda225c585ba4ceec9420
Some relative symlinks had an incorrect nesting:
$ rpm -qlv dnf-plugins-core-4.7.0-2.el10.noarch | grep dnf-offline
lrwxrwxrwx 1 root root 70 Jun 6 02:00 /usr/share/man/man8/dnf-offline-distrosync.8.gz -> ../../../../../../../../../usr/share/man/man8/dnf4-system-upgrade.8.gz
lrwxrwxrwx 1 root root 70 Jun 6 02:00 /usr/share/man/man8/dnf-offline-upgrade.8.gz -> ../../../../../../../../../usr/share/man/man8/dnf4-system-upgrade.8.gz
Also rpmlint and recenct rpmbuild complained on using absolute
symlinks:
dnf-plugins-core.noarch: W: symlink-should-be-relative /usr/share/man/man8/dnf4-offline-distrosync.8.gz /usr/share/man/man8/dnf4-system-upgrade.8.gz
dnf-plugins-core.noarch: W: symlink-should-be-relative /usr/share/man/man8/dnf4-offline-upgrade.8.gz /usr/share/man/man8/dnf4-system-upgrade.8.gz
This patch fixes all these issues.
Resolves: https://issues.redhat.com/browse/RHEL-40564
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
dnf-plugins-core.spec | 46 +++++++++++++++++++++----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/dnf-plugins-core.spec b/dnf-plugins-core.spec
index f0984dd..969233b 100644
--- a/dnf-plugins-core.spec
+++ b/dnf-plugins-core.spec
@@ -498,15 +498,15 @@ pushd %{buildroot}%{_unitdir}/system-update.target.wants/
ln -sr ../dnf-system-upgrade.service
popd
-ln -sf %{_mandir}/man8/dnf4-system-upgrade.8.gz %{buildroot}%{_mandir}/man8/dnf4-offline-upgrade.8.gz
-ln -sf %{_mandir}/man8/dnf4-system-upgrade.8.gz %{buildroot}%{_mandir}/man8/dnf4-offline-distrosync.8.gz
+ln -sf dnf4-system-upgrade.8.gz %{buildroot}%{_mandir}/man8/dnf4-offline-upgrade.8.gz
+ln -sf dnf4-system-upgrade.8.gz %{buildroot}%{_mandir}/man8/dnf4-offline-distrosync.8.gz
%endif
%if %{without dnf5_obsoletes_dnf}
for file in %{buildroot}%{_mandir}/man8/dnf4[-.]*; do
dir=$(dirname $file)
filename=$(basename $file)
- ln -sr $file $dir/${filename/dnf4/dnf}
+ ln -sf $filename $dir/${filename/dnf4/dnf}
done
%endif
@@ -522,28 +522,28 @@ rm -vf %{buildroot}%{_libexecdir}/dnf-utils-*
%if %{with yumutils}
mkdir -p %{buildroot}%{_bindir}
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/debuginfo-install
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/needs-restarting
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/find-repos-of-install
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repo-graph
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/package-cleanup
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repoclosure
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repodiff
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repomanage
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repoquery
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/reposync
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repotrack
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-builddep
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-config-manager
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-dump
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-restore
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-groups-manager
-ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yumdownloader
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/debuginfo-install
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/needs-restarting
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/find-repos-of-install
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repo-graph
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/package-cleanup
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repoclosure
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repodiff
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repomanage
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repoquery
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/reposync
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repotrack
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-builddep
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-config-manager
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-dump
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-restore
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-groups-manager
+ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yumdownloader
# These commands don't have a dedicated man page, so let's just point them
# to the utils page which contains their descriptions.
-ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/find-repos-of-install.1.gz
-ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repoquery.1.gz
-ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1.gz
+ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/find-repos-of-install.1.gz
+ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repoquery.1.gz
+ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1.gz
%endif
%check
--
2.45.2

@ -1,334 +0,0 @@
From 258ce716def8cf4e406da8eb4a80eace4865ac29 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Fri, 14 Jun 2024 13:57:42 +0200
Subject: [PATCH] build: Disable debug plugin on Fedora > 40 and RHEL > 9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream commit: 918a17c540e69bd227a0534d3838c780341c600a
Upstream commit: 0ea22cfbd572d6ca188c6eac73d86287d1ceb17d
This adds -DWITHOUT_DEBUG:str=1 CMake option to disable installing
debug plugin (i.e. debug-dump and debug-restore).
The plugin is unhelp and broken.
https://issues.redhat.com/browse/RHEL-23706
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
CMakeLists.txt | 4 ++++
README.rst | 8 +++++++
dnf-plugins-core.spec | 50 +++++++++++++++++++++++++++++++++++++-----
doc/CMakeLists.txt | 14 +++++++++---
plugins/CMakeLists.txt | 2 ++
5 files changed, 69 insertions(+), 9 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a1eea7b..a54e2c6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,10 @@
PROJECT (dnf-plugins-core NONE)
CMAKE_MINIMUM_REQUIRED (VERSION 2.4)
+if (NOT WITHOUT_DEBUG)
+ set (WITHOUT_DEBUG "0")
+endif()
+
if (NOT WITHOUT_LOCAL)
set (WITHOUT_LOCAL "0")
endif()
diff --git a/README.rst b/README.rst
index 031c013..321abfe 100644
--- a/README.rst
+++ b/README.rst
@@ -26,6 +26,14 @@ From the DNF git checkout directory::
cmake .. && make;
popd;
+CMake optional switches::
+
+ -DWITHOUT_LOCAL:str=1
+ Differnt string value than "0" disables installing a local plugin.
+
+ -DWITHOUT_DEBUG:str=1
+ Differnt string value than "0" disables installing a debug plugin.
+
Then to run DNF::
PYTHONPATH=`readlink -f .` bin/dnf <arguments>
diff --git a/dnf-plugins-core.spec b/dnf-plugins-core.spec
index 969233b..a2fe33f 100644
--- a/dnf-plugins-core.spec
+++ b/dnf-plugins-core.spec
@@ -10,6 +10,12 @@
%bcond dnf5_obsoletes_dnf %[0%{?fedora} > 40 || 0%{?rhel} > 11]
+%if (0%{?fedora} && 0%{?fedora} >= 41) || (0%{?rhel} && 0%{?rhel} >= 10)
+%bcond_with debug_plugin
+%else
+%bcond_without debug_plugin
+%endif
+
%if 0%{?rhel} && 0%{?rhel} <= 7
%bcond_with python3
%else
@@ -56,8 +62,10 @@ Provides: dnf-command(builddep)
Provides: dnf-command(changelog)
Provides: dnf-command(config-manager)
Provides: dnf-command(copr)
+%if %{with debug_plugin}
Provides: dnf-command(debug-dump)
Provides: dnf-command(debug-restore)
+%endif
Provides: dnf-command(debuginfo-install)
Provides: dnf-command(download)
Provides: dnf-command(groups-manager)
@@ -69,7 +77,9 @@ Provides: dnf-command(repodiff)
Provides: dnf-command(system-upgrade)
Provides: dnf-command(offline-upgrade)
Provides: dnf-command(offline-distrosync)
+%if %{with debug_plugin}
Provides: dnf-plugins-extras-debug = %{version}-%{release}
+%endif
Provides: dnf-plugins-extras-repoclosure = %{version}-%{release}
Provides: dnf-plugins-extras-repograph = %{version}-%{release}
Provides: dnf-plugins-extras-repomanage = %{version}-%{release}
@@ -95,7 +105,7 @@ Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra}
%description
Core Plugins for DNF. This package enhances DNF with builddep, config-manager,
-copr, debug, debuginfo-install, download, needs-restarting, groups-manager, repoclosure,
+copr, %{?with_debug_plugin:debug, }debuginfo-install, download, needs-restarting, groups-manager, repoclosure,
repograph, repomanage, reposync, changelog and repodiff commands. Additionally
provides generate_completion_cache passive plugin.
@@ -122,11 +132,15 @@ Requires: python-dateutil
Requires: python2-dbus
Requires: python2-dateutil
%endif
+%if %{with debug_plugin}
Provides: python2-dnf-plugins-extras-debug = %{version}-%{release}
+%endif
Provides: python2-dnf-plugins-extras-repoclosure = %{version}-%{release}
Provides: python2-dnf-plugins-extras-repograph = %{version}-%{release}
Provides: python2-dnf-plugins-extras-repomanage = %{version}-%{release}
+%if %{with debug_plugin}
Obsoletes: python2-dnf-plugins-extras-debug < %{dnf_plugins_extra}
+%endif
Obsoletes: python2-dnf-plugins-extras-repoclosure < %{dnf_plugins_extra}
Obsoletes: python2-dnf-plugins-extras-repograph < %{dnf_plugins_extra}
Obsoletes: python2-dnf-plugins-extras-repomanage < %{dnf_plugins_extra}
@@ -138,7 +152,7 @@ Conflicts: python-%{name} < %{version}-%{release}
%description -n python2-%{name}
Core Plugins for DNF, Python 2 interface. This package enhances DNF with builddep,
-config-manager, copr, degug, debuginfo-install, download, needs-restarting,
+config-manager, copr, %{?with_debug_plugin:debug, }debuginfo-install, download, needs-restarting,
groups-manager, repoclosure, repograph, repomanage, reposync, changelog,
repodiff, system-upgrade, offline-upgrade and offline-distrosync commands.
Additionally provides generate_completion_cache passive plugin.
@@ -163,12 +177,16 @@ Requires: python3-dnf >= %{dnf_lowest_compatible}
Requires: python3-hawkey >= %{hawkey_version}
Requires: python3-dateutil
Requires: python3-systemd
+%if %{with debug_plugin}
Provides: python3-dnf-plugins-extras-debug = %{version}-%{release}
+%endif
Provides: python3-dnf-plugins-extras-repoclosure = %{version}-%{release}
Provides: python3-dnf-plugins-extras-repograph = %{version}-%{release}
Provides: python3-dnf-plugins-extras-repomanage = %{version}-%{release}
Provides: python3-dnf-plugin-system-upgrade = %{version}-%{release}
+%if %{with debug_plugin}
Obsoletes: python3-dnf-plugins-extras-debug < %{dnf_plugins_extra}
+%endif
Obsoletes: python3-dnf-plugins-extras-repoclosure < %{dnf_plugins_extra}
Obsoletes: python3-dnf-plugins-extras-repograph < %{dnf_plugins_extra}
Obsoletes: python3-dnf-plugins-extras-repomanage < %{dnf_plugins_extra}
@@ -181,7 +199,7 @@ Conflicts: python-%{name} < %{version}-%{release}
%description -n python3-%{name}
Core Plugins for DNF, Python 3 interface. This package enhances DNF with builddep,
-config-manager, copr, debug, debuginfo-install, download, needs-restarting,
+config-manager, copr, %{?with_debug_plugin:debug, }debuginfo-install, download, needs-restarting,
groups-manager, repoclosure, repograph, repomanage, reposync, changelog,
repodiff, system-upgrade, offline-upgrade and offline-distrosync commands.
Additionally provides generate_completion_cache passive plugin.
@@ -209,7 +227,7 @@ Summary: Yum-utils CLI compatibility layer
%description -n %{yum_utils_subpackage_name}
As a Yum-utils CLI compatibility layer, supplies in CLI shims for
debuginfo-install, repograph, package-cleanup, repoclosure, repomanage,
-repoquery, reposync, repotrack, repodiff, builddep, config-manager, debug,
+repoquery, reposync, repotrack, repodiff, builddep, config-manager,%{?with_debug_plugin: debug,}
download and yum-groups-manager that use new implementations using DNF.
%endif
@@ -467,14 +485,18 @@ mkdir build-py3
%build
%if %{with python2}
pushd build-py2
- %cmake ../ -DPYTHON_DESIRED:FILEPATH=%{__python2} -DWITHOUT_LOCAL:str=0%{?rhel}
+ %cmake ../ -DPYTHON_DESIRED:FILEPATH=%{__python2} \
+ -DWITHOUT_DEBUG:str=0%{!?with_debug_plugin:1} \
+ -DWITHOUT_LOCAL:str=0%{?rhel}
%make_build
make doc-man
popd
%endif
%if %{with python3}
pushd build-py3
- %cmake ../ -DPYTHON_DESIRED:FILEPATH=%{__python3} -DWITHOUT_LOCAL:str=0%{?rhel}
+ %cmake ../ -DPYTHON_DESIRED:FILEPATH=%{__python3} \
+ -DWITHOUT_DEBUG:str=0%{!?with_debug_plugin:1} \
+ -DWITHOUT_LOCAL:str=0%{?rhel}
%make_build
make doc-man
popd
@@ -535,8 +557,10 @@ ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/reposync
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repotrack
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-builddep
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-config-manager
++%if %{with debug_plugin}
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-dump
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-restore
++%endif
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-groups-manager
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yumdownloader
# These commands don't have a dedicated man page, so let's just point them
@@ -563,7 +587,9 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{_mandir}/man8/dnf*-changelog.*
%{_mandir}/man8/dnf*-config-manager.*
%{_mandir}/man8/dnf*-copr.*
+%if %{with debug_plugin}
%{_mandir}/man8/dnf*-debug.*
+%endif
%{_mandir}/man8/dnf*-debuginfo-install.*
%{_mandir}/man8/dnf*-download.*
%{_mandir}/man8/dnf*-generate_completion_cache.*
@@ -597,7 +623,9 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{python2_sitelib}/dnf-plugins/changelog.*
%{python2_sitelib}/dnf-plugins/config_manager.*
%{python2_sitelib}/dnf-plugins/copr.*
+%if %{with debug_plugin}
%{python2_sitelib}/dnf-plugins/debug.*
+%endif
%{python2_sitelib}/dnf-plugins/debuginfo-install.*
%{python2_sitelib}/dnf-plugins/download.*
%{python2_sitelib}/dnf-plugins/generate_completion_cache.*
@@ -623,7 +651,9 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{python3_sitelib}/dnf-plugins/changelog.py
%{python3_sitelib}/dnf-plugins/config_manager.py
%{python3_sitelib}/dnf-plugins/copr.py
+%if %{with debug_plugin}
%{python3_sitelib}/dnf-plugins/debug.py
+%endif
%{python3_sitelib}/dnf-plugins/debuginfo-install.py
%{python3_sitelib}/dnf-plugins/download.py
%{python3_sitelib}/dnf-plugins/generate_completion_cache.py
@@ -639,7 +669,9 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{python3_sitelib}/dnf-plugins/__pycache__/changelog.*
%{python3_sitelib}/dnf-plugins/__pycache__/config_manager.*
%{python3_sitelib}/dnf-plugins/__pycache__/copr.*
+%if %{with debug_plugin}
%{python3_sitelib}/dnf-plugins/__pycache__/debug.*
+%endif
%{python3_sitelib}/dnf-plugins/__pycache__/debuginfo-install.*
%{python3_sitelib}/dnf-plugins/__pycache__/download.*
%{python3_sitelib}/dnf-plugins/__pycache__/generate_completion_cache.*
@@ -673,8 +705,10 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{_bindir}/repotrack
%{_bindir}/yum-builddep
%{_bindir}/yum-config-manager
+%if %{with debug_plugin}
%{_bindir}/yum-debug-dump
%{_bindir}/yum-debug-restore
+%endif
%{_bindir}/yum-groups-manager
%{_bindir}/yumdownloader
%{_mandir}/man1/debuginfo-install.*
@@ -686,8 +720,10 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{_mandir}/man1/reposync.*
%{_mandir}/man1/yum-builddep.*
%{_mandir}/man1/yum-config-manager.*
+%if %{with debug_plugin}
%{_mandir}/man1/yum-debug-dump.*
%{_mandir}/man1/yum-debug-restore.*
+%endif
%{_mandir}/man1/yum-groups-manager.*
%{_mandir}/man1/yumdownloader.*
%{_mandir}/man1/package-cleanup.*
@@ -708,8 +744,10 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%exclude %{_mandir}/man1/reposync.*
%exclude %{_mandir}/man1/yum-builddep.*
%exclude %{_mandir}/man1/yum-config-manager.*
+%if %{with debug_plugin}
%exclude %{_mandir}/man1/yum-debug-dump.*
%exclude %{_mandir}/man1/yum-debug-restore.*
+%endif
%exclude %{_mandir}/man1/yum-groups-manager.*
%exclude %{_mandir}/man1/yumdownloader.*
%exclude %{_mandir}/man1/package-cleanup.*
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 9fd3f7c..143a26c 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -22,7 +22,6 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dnf4-builddep.8
${CMAKE_CURRENT_BINARY_DIR}/dnf4-changelog.8
${CMAKE_CURRENT_BINARY_DIR}/dnf4-config-manager.8
${CMAKE_CURRENT_BINARY_DIR}/dnf4-copr.8
- ${CMAKE_CURRENT_BINARY_DIR}/dnf4-debug.8
${CMAKE_CURRENT_BINARY_DIR}/dnf4-debuginfo-install.8
${CMAKE_CURRENT_BINARY_DIR}/dnf4-download.8
${CMAKE_CURRENT_BINARY_DIR}/dnf4-generate_completion_cache.8
@@ -48,6 +47,11 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dnf-migrate.8
DESTINATION share/man/man8)
endif()
+if (${WITHOUT_DEBUG} STREQUAL "0")
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dnf4-debug.8
+ DESTINATION share/man/man8)
+endif()
+
if (${WITHOUT_LOCAL} STREQUAL "0")
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dnf4-local.8
DESTINATION share/man/man8)
@@ -63,8 +67,6 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/debuginfo-install.1
${CMAKE_CURRENT_BINARY_DIR}/yum-builddep.1
${CMAKE_CURRENT_BINARY_DIR}/yum-changelog.1
${CMAKE_CURRENT_BINARY_DIR}/yum-config-manager.1
- ${CMAKE_CURRENT_BINARY_DIR}/yum-debug-dump.1
- ${CMAKE_CURRENT_BINARY_DIR}/yum-debug-restore.1
${CMAKE_CURRENT_BINARY_DIR}/yum-groups-manager.1
${CMAKE_CURRENT_BINARY_DIR}/yumdownloader.1
${CMAKE_CURRENT_BINARY_DIR}/package-cleanup.1
@@ -72,6 +74,12 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/debuginfo-install.1
${CMAKE_CURRENT_BINARY_DIR}/yum-utils.1
DESTINATION share/man/man1)
+if (${WITHOUT_DEBUG} STREQUAL "0")
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/yum-debug-dump.1
+ ${CMAKE_CURRENT_BINARY_DIR}/yum-debug-restore.1
+ DESTINATION share/man/man1)
+endif()
+
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/yum-versionlock.conf.5
DESTINATION share/man/man5)
diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
index 6f4fa6e..d2383a5 100644
--- a/plugins/CMakeLists.txt
+++ b/plugins/CMakeLists.txt
@@ -1,6 +1,8 @@
INSTALL (FILES builddep.py DESTINATION ${PYTHON_INSTALL_DIR}/dnf-plugins)
INSTALL (FILES changelog.py DESTINATION ${PYTHON_INSTALL_DIR}/dnf-plugins)
+if (${WITHOUT_DEBUG} STREQUAL "0")
INSTALL (FILES debug.py DESTINATION ${PYTHON_INSTALL_DIR}/dnf-plugins)
+endif()
INSTALL (FILES debuginfo-install.py DESTINATION ${PYTHON_INSTALL_DIR}/dnf-plugins)
INSTALL (FILES config_manager.py DESTINATION ${PYTHON_INSTALL_DIR}/dnf-plugins)
INSTALL (FILES copr.py DESTINATION ${PYTHON_INSTALL_DIR}/dnf-plugins)
--
2.45.2

@ -0,0 +1,61 @@
From eef927ac825c1a07082e10ffbf11e16ecbd7688c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tarc=C3=ADsio=20Ladeia=20de=20Oliveira?=
<wyrquill@gmail.com>
Date: Thu, 20 Oct 2022 22:16:59 -0300
Subject: [PATCH 1/2] [offline-upgrade] Add security filters (RhBug:1939975)
Add support for security filter options that are available in the main
`dnf` commands, that is, `--advisory`, `--bugfix`, `--security`, and
`--enhancement`.
= changelog =
msg: [offline-upgrade] Add support for security filters
type: bugfix
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1939975
---
plugins/system_upgrade.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/plugins/system_upgrade.py b/plugins/system_upgrade.py
index 0baf978..ef1de73 100644
--- a/plugins/system_upgrade.py
+++ b/plugins/system_upgrade.py
@@ -467,6 +467,9 @@ class SystemUpgradeCommand(dnf.cli.Command):
logger.error(_("Operation aborted."))
sys.exit(1)
check_release_ver(self.base.conf, target=self.opts.releasever)
+ elif 'offline-upgrade' == self.opts.command:
+ self.cli._populate_update_security_filter(self.opts)
+
self.cli.demands.root_user = True
self.cli.demands.resolving = True
self.cli.demands.available_repos = True
--
2.38.1
From 7e5d3028caa743f3e5ac7bf921c3ec39a4d2c85b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tarc=C3=ADsio=20Ladeia=20de=20Oliveira?=
<wyrquill@gmail.com>
Date: Thu, 20 Oct 2022 22:27:22 -0300
Subject: [PATCH 2/2] Add myself as contributor in AUTHORS
---
AUTHORS | 1 +
1 file changed, 1 insertion(+)
diff --git a/AUTHORS b/AUTHORS
index 352e195..f098cb6 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -32,6 +32,7 @@ DNF-PLUGINS-CORE CONTRIBUTORS
Neal Gompa <ngompa13@gmail.com>
Paul Howarth <paul@city-fan.org>
Rickard Dybeck <r.dybeck@gmail.com>
+ Tarcísio Ladeia de Oliveira <wyrquill@gmail.com>
Tomas Babej <tomasbabej@gmail.com>
Vladan Kudlac <vladankudlac@gmail.com>
Wieland Hoffmann <themineo@gmail.com>
--
2.38.1

@ -1,33 +0,0 @@
From f0c08b4cae724057dc1183efacec45cb9032f1aa Mon Sep 17 00:00:00 2001
From: Evan Goode <mail@evangoo.de>
Date: Tue, 18 Jun 2024 16:53:34 -0400
Subject: [PATCH] s/Differnt/Different
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
README.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.rst b/README.rst
index 321abfe..47410b2 100644
--- a/README.rst
+++ b/README.rst
@@ -29,10 +29,10 @@ From the DNF git checkout directory::
CMake optional switches::
-DWITHOUT_LOCAL:str=1
- Differnt string value than "0" disables installing a local plugin.
+ Different string value than "0" disables installing a local plugin.
-DWITHOUT_DEBUG:str=1
- Differnt string value than "0" disables installing a debug plugin.
+ Different string value than "0" disables installing a debug plugin.
Then to run DNF::
--
2.45.2

@ -0,0 +1,62 @@
From e04aff1e65fb260912e7e0feeb201e17fa5abda4 Mon Sep 17 00:00:00 2001
From: Jan Kolarik <jkolarik@redhat.com>
Date: Fri, 16 Dec 2022 05:55:19 +0000
Subject: [PATCH] system-upgrade: Show warning always for a downstream
As the distro package is not available in the BaseOS, the warning implementation will be shown always, but only in related downstreams.
= changelog =
type: bugfix
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2152846
---
dnf-plugins-core.spec | 3 ++-
plugins/system_upgrade.py | 6 ++----
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/dnf-plugins-core.spec b/dnf-plugins-core.spec
index 1ee87a1..4df6e44 100644
--- a/dnf-plugins-core.spec
+++ b/dnf-plugins-core.spec
@@ -148,13 +148,14 @@ Summary: Core Plugins for DNF
%{?python_provide:%python_provide python3-%{name}}
BuildRequires: python3-dbus
BuildRequires: python3-devel
-BuildRequires: python3-distro
BuildRequires: python3-dnf >= %{dnf_lowest_compatible}
BuildRequires: python3-systemd
BuildRequires: pkgconfig(systemd)
BuildRequires: systemd
%{?systemd_ordering}
+%if 0%{?fedora}
Requires: python3-distro
+%endif
Requires: python3-dbus
Requires: python3-dnf >= %{dnf_lowest_compatible}
Requires: python3-hawkey >= %{hawkey_version}
diff --git a/plugins/system_upgrade.py b/plugins/system_upgrade.py
index ef1de73..4f7620f 100644
--- a/plugins/system_upgrade.py
+++ b/plugins/system_upgrade.py
@@ -20,7 +20,6 @@
"""system_upgrade.py - DNF plugin to handle major-version system upgrades."""
from subprocess import call, Popen, check_output, CalledProcessError
-import distro
import json
import os
import os.path
@@ -452,9 +451,8 @@ class SystemUpgradeCommand(dnf.cli.Command):
def configure_download(self):
if 'system-upgrade' == self.opts.command or 'fedup' == self.opts.command:
- if distro.id() == 'rhel':
- logger.warning(_('WARNING: this operation is not supported on the RHEL distribution. '
- 'Proceed at your own risk.'))
+ logger.warning(_('WARNING: this operation is not supported on the RHEL distribution. '
+ 'Proceed at your own risk.'))
help_url = get_url_from_os_release()
if help_url:
msg = _('Additional information for System Upgrade: {}')
--
2.39.0

@ -1,117 +0,0 @@
From 755a2a3cdbacfc1a5b632361c044be38164018fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Tue, 25 Jun 2024 12:36:55 +0200
Subject: [PATCH] Enable leaves and show-leaves plugins for RHEL
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This effectively reverts commit
8a7a02b1e9573d86f5e6a430c61bf514e4856d31 because RHEL enebles these
plugins since RHEL 9.3.
Resolves: https://issues.redhat.com/browse/RHEL-44922
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
dnf-plugins-core.spec | 36 ++++--------------------------------
1 file changed, 4 insertions(+), 32 deletions(-)
diff --git a/dnf-plugins-core.spec b/dnf-plugins-core.spec
index 27933d1..bb06b8d 100644
--- a/dnf-plugins-core.spec
+++ b/dnf-plugins-core.spec
@@ -231,7 +231,7 @@ repoquery, reposync, repotrack, repodiff, builddep, config-manager,%{?with_debug
download and yum-groups-manager that use new implementations using DNF.
%endif
-%if 0%{?rhel} == 0 && %{with python2}
+%if %{with python2}
%package -n python2-dnf-plugin-leaves
Summary: Leaves Plugin for DNF
Requires: python2-%{name} = %{version}-%{release}
@@ -250,7 +250,7 @@ Leaves Plugin for DNF, Python 2 version. List all installed packages
not required by any other installed package.
%endif
-%if 0%{?rhel} == 0 && %{with python3}
+%if %{with python3}
%package -n python3-dnf-plugin-leaves
Summary: Leaves Plugin for DNF
Requires: python3-%{name} = %{version}-%{release}
@@ -376,7 +376,7 @@ Pre transaction actions Plugin for DNF, Python 3 version. Plugin runs actions
files.
%endif
-%if 0%{?rhel} == 0 && %{with python2}
+%if %{with python2}
%package -n python2-dnf-plugin-show-leaves
Summary: Leaves Plugin for DNF
Requires: python2-%{name} = %{version}-%{release}
@@ -397,7 +397,7 @@ packages that are no longer required by any other installed package
after a transaction.
%endif
-%if 0%{?rhel} == 0 && %{with python3}
+%if %{with python3}
%package -n python3-dnf-plugin-show-leaves
Summary: Show-leaves Plugin for DNF
Requires: python3-%{name} = %{version}-%{release}
@@ -755,8 +755,6 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%exclude %{_mandir}/man1/yum-utils.*
%endif
-%if 0%{?rhel} == 0
-
%if %{with python2}
%files -n python2-dnf-plugin-leaves
%{python2_sitelib}/dnf-plugins/leaves.*
@@ -770,18 +768,6 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{_mandir}/man8/dnf*-leaves.*
%endif
-%else
-%exclude %{_mandir}/man8/dnf*-leaves.*
-%if %{with python2}
-%exclude %{python2_sitelib}/dnf-plugins/leaves.*
-%endif
-%if %{with python3}
-%exclude %{python3_sitelib}/dnf-plugins/leaves.*
-%exclude %{python3_sitelib}/dnf-plugins/__pycache__/leaves.*
-%endif
-%endif
-# endif 0%%{?rhel} == 0
-
%if 0%{?rhel} == 0 && %{with python2}
%files -n python2-dnf-plugin-local
%config(noreplace) %{_sysconfdir}/dnf/plugins/local.conf
@@ -839,8 +825,6 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{_mandir}/man8/dnf*-pre-transaction-actions.*
%endif
-%if 0%{?rhel} == 0
-
%if %{with python2}
%files -n python2-dnf-plugin-show-leaves
%{python2_sitelib}/dnf-plugins/show_leaves.*
@@ -854,18 +838,6 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{_mandir}/man8/dnf*-show-leaves.*
%endif
-%else
-%exclude %{_mandir}/man8/dnf*-show-leaves.*
-%if %{with python2}
-%exclude %{python2_sitelib}/dnf-plugins/show_leaves.*
-%endif
-%if %{with python3}
-%exclude %{python3_sitelib}/dnf-plugins/show_leaves.*
-%exclude %{python3_sitelib}/dnf-plugins/__pycache__/show_leaves.*
-%endif
-%endif
-# endif 0%%{?rhel} == 0
-
%if %{with python2}
%files -n python2-dnf-plugin-versionlock
%config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.conf
--
2.45.2

File diff suppressed because it is too large Load Diff

@ -0,0 +1,55 @@
From f65bb02d8c6fb6569c3e1db43c3b0e9f2a0ab283 Mon Sep 17 00:00:00 2001
From: Todd Lewis <todd_lewis@unc.edu>
Date: Wed, 16 Nov 2022 10:45:39 -0500
Subject: [PATCH] Fix boot time derivation for systems with no rtc
That addresses https://bugzilla.redhat.com/show_bug.cgi?id=2137935
---
plugins/needs_restarting.py | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/plugins/needs_restarting.py b/plugins/needs_restarting.py
index 91dbe66..03831fa 100644
--- a/plugins/needs_restarting.py
+++ b/plugins/needs_restarting.py
@@ -34,6 +34,7 @@ import functools
import os
import re
import stat
+import time
# For which package updates we should recommend a reboot
@@ -199,7 +200,28 @@ class ProcessStart(object):
@staticmethod
def get_boot_time():
- return int(os.stat('/proc/1').st_mtime)
+ """
+ We have two sources from which to derive the boot time. These values vary
+ depending on containerization, existence of a Real Time Clock, etc.
+ For our purposes we want the latest derived value.
+ - st_mtime of /proc/1
+ Reflects the time the first process was run after booting
+ This works for all known cases except machines without
+ a RTC - they awake at the start of the epoch.
+ - /proc/uptime
+ Seconds field of /proc/uptime subtracted from the current time
+ Works for machines without RTC iff the current time is reasonably correct.
+ Does not work on containers which share their kernel with the
+ host - there the host kernel uptime is returned
+ """
+
+ proc_1_boot_time = int(os.stat('/proc/1').st_mtime)
+ if os.path.isfile('/proc/uptime'):
+ with open('/proc/uptime', 'rb') as f:
+ uptime = f.readline().strip().split()[0].strip()
+ proc_uptime_boot_time = int(time.time() - float(uptime))
+ return max(proc_1_boot_time, proc_uptime_boot_time)
+ return proc_1_boot_time
@staticmethod
def get_sc_clk_tck():
--
2.40.1

@ -0,0 +1,241 @@
From d5f5883623ada37b4cec5909a1032c4bc3123a9a Mon Sep 17 00:00:00 2001
From: Cameron Rodriguez <rod.cam2014+dev@gmail.com>
Date: Tue, 1 Nov 2022 02:25:52 -0400
Subject: [PATCH] [system-upgrade] Add --poweroff option to reboot subcommand
= changelog =
msg: Add --poweroff option to system-upgrade reboot
type: enhancement
---
doc/system-upgrade.rst | 10 ++++++++++
plugins/system_upgrade.py | 28 ++++++++++++++++++++++------
tests/test_system_upgrade.py | 18 +++++++++++++++++-
3 files changed, 49 insertions(+), 7 deletions(-)
diff --git a/doc/system-upgrade.rst b/doc/system-upgrade.rst
index 87b7319..6a7785b 100644
--- a/doc/system-upgrade.rst
+++ b/doc/system-upgrade.rst
@@ -44,6 +44,8 @@ Synopsis
``dnf system-upgrade reboot``
+``dnf system-upgrade reboot --poweroff``
+
``dnf system-upgrade clean``
``dnf system-upgrade log``
@@ -54,6 +56,8 @@ Synopsis
``dnf offline-upgrade reboot``
+``dnf offline-upgrade reboot --poweroff``
+
``dnf offline-upgrade clean``
``dnf offline-upgrade log``
@@ -64,6 +68,8 @@ Synopsis
``dnf offline-distrosync reboot``
+``dnf offline-distrosync reboot --poweroff``
+
``dnf offline-distrosync clean``
``dnf offline-distrosync log``
@@ -116,6 +122,10 @@ Options
``--distro-sync``. If both are specified, the last option will be used. The option cannot be
used with the ``offline-distrosync`` command.
+``--poweroff``
+ When applied with the ``reboot`` subcommand, the system will power off after
+ upgrades are completed, instead of restarting.
+
``--number``
Applied with ``log`` subcommand will show the log specified by the number.
diff --git a/plugins/system_upgrade.py b/plugins/system_upgrade.py
index 4f7620f..b99dd8a 100644
--- a/plugins/system_upgrade.py
+++ b/plugins/system_upgrade.py
@@ -61,16 +61,19 @@ DOWNLOAD_FINISHED_MSG = _( # Translators: do not change "reboot" here
CANT_RESET_RELEASEVER = _(
"Sorry, you need to use 'download --releasever' instead of '--network'")
-STATE_VERSION = 2
+STATE_VERSION = 3
# --- Miscellaneous helper functions ------------------------------------------
-def reboot():
+def reboot(poweroff = False):
if os.getenv("DNF_SYSTEM_UPGRADE_NO_REBOOT", default=False):
logger.info(_("Reboot turned off, not rebooting."))
else:
- Popen(["systemctl", "reboot"])
+ if poweroff:
+ Popen(["systemctl", "poweroff"])
+ else:
+ Popen(["systemctl", "reboot"])
def get_url_from_os_release():
@@ -183,6 +186,7 @@ class State(object):
upgrade_status = _prop("upgrade_status")
upgrade_command = _prop("upgrade_command")
distro_sync = _prop("distro_sync")
+ poweroff_after = _prop("poweroff_after")
enable_disable_repos = _prop("enable_disable_repos")
module_platform_id = _prop("module_platform_id")
@@ -359,6 +363,10 @@ class SystemUpgradeCommand(dnf.cli.Command):
action='store_false',
help=_("keep installed packages if the new "
"release's version is older"))
+ parser.add_argument('--poweroff', dest='poweroff_after',
+ action='store_true',
+ help=_("power off system after the operation "
+ "is completed"))
parser.add_argument('tid', nargs=1, choices=CMDS,
metavar="[%s]" % "|".join(CMDS))
parser.add_argument('--number', type=int, help=_('which logs to show'))
@@ -566,8 +574,13 @@ class SystemUpgradeCommand(dnf.cli.Command):
if not self.opts.tid[0] == "reboot":
return
+ self.state.poweroff_after = self.opts.poweroff_after
+
self.log_status(_("Rebooting to perform upgrade."),
REBOOT_REQUESTED_ID)
+
+ # Explicit write since __exit__ doesn't seem to get called when rebooting
+ self.state.write()
reboot()
def run_download(self):
@@ -686,12 +699,15 @@ class SystemUpgradeCommand(dnf.cli.Command):
self.log_status(_("Download finished."), DOWNLOAD_FINISHED_ID)
def transaction_upgrade(self):
- Plymouth.message(_("Upgrade complete! Cleaning up and rebooting..."))
- self.log_status(_("Upgrade complete! Cleaning up and rebooting..."),
+ power_op = "powering off" if self.state.poweroff_after else "rebooting"
+
+ Plymouth.message(_("Upgrade complete! Cleaning up and " + power_op + "..."))
+ self.log_status(_("Upgrade complete! Cleaning up and " + power_op + "..."),
UPGRADE_FINISHED_ID)
+
self.run_clean()
if self.opts.tid[0] == "upgrade":
- reboot()
+ reboot(self.state.poweroff_after)
class OfflineUpgradeCommand(SystemUpgradeCommand):
diff --git a/tests/test_system_upgrade.py b/tests/test_system_upgrade.py
index 6ef4c21..769720d 100644
--- a/tests/test_system_upgrade.py
+++ b/tests/test_system_upgrade.py
@@ -322,7 +322,7 @@ class RebootCheckCommandTestCase(CommandTestCaseBase):
def check_reboot(self, status='complete', lexists=False, command='system-upgrade',
state_command='system-upgrade'):
with patch('system_upgrade.os.path.lexists') as lexists_func:
- self.command.state.state_version = 2
+ self.command.state.state_version = 3
self.command.state.download_status = status
self.command.opts = mock.MagicMock()
self.command.opts.command = command
@@ -356,6 +356,7 @@ class RebootCheckCommandTestCase(CommandTestCaseBase):
@patch('system_upgrade.reboot')
def test_run_reboot(self, reboot, log_status, run_prepare):
self.command.opts = mock.MagicMock()
+ self.command.opts.poweroff_after = False
self.command.opts.tid = ["reboot"]
self.command.run_reboot()
run_prepare.assert_called_once_with()
@@ -363,6 +364,21 @@ class RebootCheckCommandTestCase(CommandTestCaseBase):
log_status.call_args[0][1])
self.assertTrue(reboot.called)
+ @patch('system_upgrade.SystemUpgradeCommand.run_prepare')
+ @patch('system_upgrade.SystemUpgradeCommand.log_status')
+ @patch('system_upgrade.reboot')
+ def test_reboot_poweroff_after(self, reboot, log_status, run_prepare):
+ self.command.opts = mock.MagicMock()
+ self.command.opts.tid = ["reboot"]
+ self.command.opts.poweroff_after = True
+ self.command.run_reboot()
+ run_prepare.assert_called_with()
+ self.assertEqual(system_upgrade.REBOOT_REQUESTED_ID,
+ log_status.call_args[0][1])
+ self.assertTrue(self.command.state.poweroff_after)
+ self.assertTrue(reboot.called)
+
+
@patch('system_upgrade.SystemUpgradeCommand.run_prepare')
@patch('system_upgrade.SystemUpgradeCommand.log_status')
@patch('system_upgrade.reboot')
--
2.40.1
From 52aec32ef129874dc28fc93947e5d32c78baff0c Mon Sep 17 00:00:00 2001
From: Cameron Rodriguez <rod.cam2014+dev@gmail.com>
Date: Tue, 1 Nov 2022 02:29:29 -0400
Subject: [PATCH] Add Cameron Rodriguez to AUTHORS file
---
AUTHORS | 1 +
1 file changed, 1 insertion(+)
diff --git a/AUTHORS b/AUTHORS
index f098cb6..a6102ec 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -20,6 +20,7 @@ DNF-PLUGINS-CORE CONTRIBUTORS
Adam Salih <salih.max@gmail.com>
Alexander Todorov <atodorov@otb.bg>
Anders Blomdell <anders.blomdell@gmail.com>
+ Cameron Rodriguez <rod.cam2014+dev@gmail.com>
Cyril Jouve <jv.cyril@gmail.com>
David Michael <fedora.dm0@gmail.com>
François Rigault <francois.rigault@amadeus.com>
--
2.40.1
From dd081ebd4c46a79688f81ef639628189f8b78db3 Mon Sep 17 00:00:00 2001
From: Cameron Rodriguez <rod.cam2014+dev@gmail.com>
Date: Sun, 4 Dec 2022 10:06:08 -0500
Subject: [PATCH] [offline-upgrade] Fix strings for l10n
---
plugins/system_upgrade.py | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/plugins/system_upgrade.py b/plugins/system_upgrade.py
index b99dd8a..64195fd 100644
--- a/plugins/system_upgrade.py
+++ b/plugins/system_upgrade.py
@@ -699,11 +699,13 @@ class SystemUpgradeCommand(dnf.cli.Command):
self.log_status(_("Download finished."), DOWNLOAD_FINISHED_ID)
def transaction_upgrade(self):
- power_op = "powering off" if self.state.poweroff_after else "rebooting"
+ if self.state.poweroff_after:
+ upgrade_complete_msg = _("Upgrade complete! Cleaning up and powering off...")
+ else:
+ upgrade_complete_msg = _("Upgrade complete! Cleaning up and rebooting...")
- Plymouth.message(_("Upgrade complete! Cleaning up and " + power_op + "..."))
- self.log_status(_("Upgrade complete! Cleaning up and " + power_op + "..."),
- UPGRADE_FINISHED_ID)
+ Plymouth.message(upgrade_complete_msg)
+ self.log_status(upgrade_complete_msg, UPGRADE_FINISHED_ID)
self.run_clean()
if self.opts.tid[0] == "upgrade":
--
2.40.1

@ -0,0 +1,34 @@
From 52c980f191993b61a42438a478d1e5629ea36c9f Mon Sep 17 00:00:00 2001
From: Jaroslav Mracek <jmracek@redhat.com>
Date: Mon, 27 Mar 2023 10:24:59 +0200
Subject: [PATCH] Documentation update for reposync (RhBug:2132383,2182004)
The update describe the behavior when `-n` and `--download-metadata`
is used.
https://bugzilla.redhat.com/show_bug.cgi?id=2132383
https://bugzilla.redhat.com/show_bug.cgi?id=2182004
---
doc/reposync.rst | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/doc/reposync.rst b/doc/reposync.rst
index 0df00b9..bbf714c 100644
--- a/doc/reposync.rst
+++ b/doc/reposync.rst
@@ -46,7 +46,11 @@ All general DNF options are accepted. Namely, the ``--repoid`` option can be use
Delete local packages no longer present in repository.
``--download-metadata``
- Download all repository metadata. Downloaded copy is instantly usable as a repository, no need to run createrepo_c on it.
+ Download all repository metadata. Downloaded copy is instantly usable as a repository, no need to run createrepo_c
+ on it. When the option is used with `--newest-only`, only latest packages will be downloaded, but metadata will
+ still contain older packages. It might be useful to update metadata using `createrepo_c --update` to remove
+ the packages with missing RPM files from metadata. Otherwise, DNF ends with an error due to the missing files
+ whenever it tries to download older packages.
``-g, --gpgcheck``
Remove packages that fail GPG signature checking after downloading. Exit code is ``1`` if at least one package was removed.
--
2.40.1

@ -0,0 +1,88 @@
From 169a79922d7cb8968ffd378b1c98959185ee417f Mon Sep 17 00:00:00 2001
From: Andy Baugh <andy@troglodyne.net>
Date: Fri, 28 Apr 2023 10:52:16 -0500
Subject: [PATCH] Add fix and test assertion for "no systemd unit exists for
pid"
= changelog =
msg: Catch exception in needs-restarting.py when no systemd unit exists for pid
type: bugfix
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2122587
related: None
---
plugins/needs_restarting.py | 18 ++++++++++++++----
tests/test_needs_restarting.py | 15 +++++++++++++--
2 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/plugins/needs_restarting.py b/plugins/needs_restarting.py
index 03831fa..8dbc965 100644
--- a/plugins/needs_restarting.py
+++ b/plugins/needs_restarting.py
@@ -138,10 +138,20 @@ def get_service_dbus(pid):
systemd_manager_object,
'org.freedesktop.systemd1.Manager'
)
- service_proxy = bus.get_object(
- 'org.freedesktop.systemd1',
- systemd_manager_interface.GetUnitByPID(pid)
- )
+ service_proxy = None
+ try:
+ service_proxy = bus.get_object(
+ 'org.freedesktop.systemd1',
+ systemd_manager_interface.GetUnitByPID(pid)
+ )
+ except dbus.DBusException as e:
+ # There is no unit for the pid. Usually error is 'NoUnitForPid'.
+ # Considering what we do at the bottom (just return if not service)
+ # Then there's really no reason to exit here on that exception.
+ # Log what's happened then move on.
+ msg = str(e)
+ logger.warning("Failed to get systemd unit for PID {}: {}".format(pid, msg))
+ return
service_properties = dbus.Interface(
service_proxy, dbus_interface="org.freedesktop.DBus.Properties")
name = service_properties.Get(
diff --git a/tests/test_needs_restarting.py b/tests/test_needs_restarting.py
index 0ad70a5..7b629b4 100644
--- a/tests/test_needs_restarting.py
+++ b/tests/test_needs_restarting.py
@@ -20,6 +20,8 @@ from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals
+from unittest.mock import patch, Mock
+import dbus
import needs_restarting
import tests.support
@@ -29,8 +31,6 @@ MM_FILE = '7fc4e1168000-7fc4e1169000 rw-s 1096dd000 00:05 7749' \
' /dev/dri/card0'
SO_FILE = '30efe06000-30efe07000 r--p 00006000 08:02 139936' \
' /usr/lib64/libSM.so.6.0.1'
-
-
class NeedsRestartingTest(tests.support.TestCase):
def test_smap2opened_file(self):
func = needs_restarting.smap2opened_file
@@ -46,6 +46,17 @@ class NeedsRestartingTest(tests.support.TestCase):
self.assertTrue(ofile.deleted)
self.assertEqual(ofile.name, '/usr/lib64/libXfont.so.1.4.1;5408628d')
+ def test_get_service_dbus_nounitforpid(self):
+ func = needs_restarting.get_service_dbus
+ # So, This is gonna look kinda screwy unless you are aware of what
+ # this proxies interface is actually doing. The GetUnitByPid function
+ # is normally "dynamically" defined by the get_dbus_method at runtime.
+ # As such there's no actual way to mock it out in any meaningful way
+ # without create=True.
+ with patch( "dbus.proxies.Interface.GetUnitByPID", create=True, side_effect=dbus.DBusException('org.freedesktop.systemd1.NoUnitForPID: PID 1234 does not belong to any loaded unit.') ), \
+ patch( "dbus.SystemBus", return_value=Mock(spec=dbus.Bus) ), \
+ patch( "dbus.bus.BusConnection.__new__", side_effect=dbus.DBusException("Never should hit this exception if mock above works")):
+ self.assertIsNone(func(1234))
class OpenedFileTest(tests.support.TestCase):
def test_presumed_name(self):
--
2.40.1

@ -0,0 +1,32 @@
From 7475f8df6d903764eaf8baaa87ec7a3a1a4d888c Mon Sep 17 00:00:00 2001
From: Jan Kolarik <jkolarik@redhat.com>
Date: Fri, 9 Jun 2023 11:57:33 +0000
Subject: [PATCH] system-upgrade: Wait until the upgrade is done before
poweroff (RhBug:2211844)
Add a systemd dependency to wait until upgrade service is finished before executing the poweroff when passing the `--poweroff` option in `system-upgrade` plugin.
= changelog =
msg: Fix systemd dependencies when using --poweroff option in system-upgrade plugin
type: bugfix
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2211844
---
etc/systemd/dnf-system-upgrade.service | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/etc/systemd/dnf-system-upgrade.service b/etc/systemd/dnf-system-upgrade.service
index 2d23cfe..3e15920 100644
--- a/etc/systemd/dnf-system-upgrade.service
+++ b/etc/systemd/dnf-system-upgrade.service
@@ -6,7 +6,7 @@ Documentation=http://www.freedesktop.org/wiki/Software/systemd/SystemUpdates
DefaultDependencies=no
Requires=sysinit.target
After=sysinit.target systemd-journald.socket system-update-pre.target
-Before=shutdown.target system-update.target
+Before=poweroff.target reboot.target shutdown.target system-update.target
OnFailure=dnf-system-upgrade-cleanup.service
[Service]
--
2.40.1

File diff suppressed because it is too large Load Diff

@ -1,6 +1,6 @@
%{?!dnf_lowest_compatible: %global dnf_lowest_compatible 4.19.0}
%{?!dnf_lowest_compatible: %global dnf_lowest_compatible 4.11.0}
%global dnf_plugins_extra 2.0.0
%global hawkey_version 0.73.0
%global hawkey_version 0.64.0
%global yum_utils_subpackage_name dnf-utils
%if 0%{?rhel} > 7
%global yum_utils_subpackage_name yum-utils
@ -8,14 +8,6 @@
%define __cmake_in_source_build 1
%bcond dnf5_obsoletes_dnf %[0%{?fedora} > 40 || 0%{?rhel} > 11]
%if (0%{?fedora} && 0%{?fedora} >= 41) || (0%{?rhel} && 0%{?rhel} >= 10)
%bcond_with debug_plugin
%else
%bcond_without debug_plugin
%endif
%if 0%{?rhel} && 0%{?rhel} <= 7
%bcond_with python3
%else
@ -41,17 +33,24 @@
%endif
Name: dnf-plugins-core
Version: 4.7.0
Release: 6%{?dist}
Version: 4.3.0
Release: 11%{?dist}
Summary: Core Plugins for DNF
License: GPL-2.0-or-later
License: GPLv2+
URL: https://github.com/rpm-software-management/dnf-plugins-core
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Patch1: 0001-needs-restarting-Revert-using-systemd-start-time.patch
Patch2: 0002-spec-Fix-symbolic-links-to-packaged-files.patch
Patch3: 0003-build-Disable-debug-plugin-on-Fedora-40-and-RHEL-9.patch
Patch4: 0004-s-Differnt-Different.patch
Patch5: 0005-Enable-leaves-and-show-leaves-plugins-for-RHEL.patch
Patch1: 0001-Move-system-upgrade-plugin-to-core-RhBug-2054235.patch
Patch2: 0002-Add-a-warning-when-using-system-upgrade-on-RHEL.patch
Patch3: 0003-offline-upgrade-Add-security-filters.patch
Patch4: 0004-system-upgrade-Show-warning-always-for-a-downstream.patch
Patch5: 0005-Update-translations.patch
Patch6: 0006-Fix-boot-time-derivation-for-systems-with-no-rtc.patch
Patch7: 0007-system-upgrade-Add-poweroff-option-to-reboot-subcomm.patch
Patch8: 0008-Doc-update-for-reposync-RhBug-2132383-2182004.patch
Patch9: 0009-Add-fix-and-test-assertion-for-no-systemd-unit-exist.patch
Patch10: 0010-sys-upgrade_Wait_until_upgrade_done_before_poweoff.patch
Patch11: 0011-Update-translations-RHEL-9.3.patch
BuildArch: noarch
BuildRequires: cmake
BuildRequires: gettext
@ -67,10 +66,8 @@ Provides: dnf-command(builddep)
Provides: dnf-command(changelog)
Provides: dnf-command(config-manager)
Provides: dnf-command(copr)
%if %{with debug_plugin}
Provides: dnf-command(debug-dump)
Provides: dnf-command(debug-restore)
%endif
Provides: dnf-command(debuginfo-install)
Provides: dnf-command(download)
Provides: dnf-command(groups-manager)
@ -82,9 +79,7 @@ Provides: dnf-command(repodiff)
Provides: dnf-command(system-upgrade)
Provides: dnf-command(offline-upgrade)
Provides: dnf-command(offline-distrosync)
%if %{with debug_plugin}
Provides: dnf-plugins-extras-debug = %{version}-%{release}
%endif
Provides: dnf-plugins-extras-repoclosure = %{version}-%{release}
Provides: dnf-plugins-extras-repograph = %{version}-%{release}
Provides: dnf-plugins-extras-repomanage = %{version}-%{release}
@ -110,7 +105,7 @@ Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra}
%description
Core Plugins for DNF. This package enhances DNF with builddep, config-manager,
copr, %{?with_debug_plugin:debug, }debuginfo-install, download, needs-restarting, groups-manager, repoclosure,
copr, debug, debuginfo-install, download, needs-restarting, groups-manager, repoclosure,
repograph, repomanage, reposync, changelog and repodiff commands. Additionally
provides generate_completion_cache passive plugin.
@ -137,15 +132,11 @@ Requires: python-dateutil
Requires: python2-dbus
Requires: python2-dateutil
%endif
%if %{with debug_plugin}
Provides: python2-dnf-plugins-extras-debug = %{version}-%{release}
%endif
Provides: python2-dnf-plugins-extras-repoclosure = %{version}-%{release}
Provides: python2-dnf-plugins-extras-repograph = %{version}-%{release}
Provides: python2-dnf-plugins-extras-repomanage = %{version}-%{release}
%if %{with debug_plugin}
Obsoletes: python2-dnf-plugins-extras-debug < %{dnf_plugins_extra}
%endif
Obsoletes: python2-dnf-plugins-extras-repoclosure < %{dnf_plugins_extra}
Obsoletes: python2-dnf-plugins-extras-repograph < %{dnf_plugins_extra}
Obsoletes: python2-dnf-plugins-extras-repomanage < %{dnf_plugins_extra}
@ -157,7 +148,7 @@ Conflicts: python-%{name} < %{version}-%{release}
%description -n python2-%{name}
Core Plugins for DNF, Python 2 interface. This package enhances DNF with builddep,
config-manager, copr, %{?with_debug_plugin:debug, }debuginfo-install, download, needs-restarting,
config-manager, copr, degug, debuginfo-install, download, needs-restarting,
groups-manager, repoclosure, repograph, repomanage, reposync, changelog,
repodiff, system-upgrade, offline-upgrade and offline-distrosync commands.
Additionally provides generate_completion_cache passive plugin.
@ -182,16 +173,12 @@ Requires: python3-dnf >= %{dnf_lowest_compatible}
Requires: python3-hawkey >= %{hawkey_version}
Requires: python3-dateutil
Requires: python3-systemd
%if %{with debug_plugin}
Provides: python3-dnf-plugins-extras-debug = %{version}-%{release}
%endif
Provides: python3-dnf-plugins-extras-repoclosure = %{version}-%{release}
Provides: python3-dnf-plugins-extras-repograph = %{version}-%{release}
Provides: python3-dnf-plugins-extras-repomanage = %{version}-%{release}
Provides: python3-dnf-plugin-system-upgrade = %{version}-%{release}
%if %{with debug_plugin}
Obsoletes: python3-dnf-plugins-extras-debug < %{dnf_plugins_extra}
%endif
Obsoletes: python3-dnf-plugins-extras-repoclosure < %{dnf_plugins_extra}
Obsoletes: python3-dnf-plugins-extras-repograph < %{dnf_plugins_extra}
Obsoletes: python3-dnf-plugins-extras-repomanage < %{dnf_plugins_extra}
@ -204,7 +191,7 @@ Conflicts: python-%{name} < %{version}-%{release}
%description -n python3-%{name}
Core Plugins for DNF, Python 3 interface. This package enhances DNF with builddep,
config-manager, copr, %{?with_debug_plugin:debug, }debuginfo-install, download, needs-restarting,
config-manager, copr, debug, debuginfo-install, download, needs-restarting,
groups-manager, repoclosure, repograph, repomanage, reposync, changelog,
repodiff, system-upgrade, offline-upgrade and offline-distrosync commands.
Additionally provides generate_completion_cache passive plugin.
@ -221,6 +208,7 @@ Provides: yum-utils = %{version}-%{release}
Provides: dnf-utils = %{version}-%{release}
Obsoletes: dnf-utils < %{version}-%{release}
%endif
Requires: dnf >= %{dnf_lowest_compatible}
Requires: %{name} = %{version}-%{release}
%if %{with python3}
Requires: python3-dnf >= %{dnf_lowest_compatible}
@ -232,7 +220,7 @@ Summary: Yum-utils CLI compatibility layer
%description -n %{yum_utils_subpackage_name}
As a Yum-utils CLI compatibility layer, supplies in CLI shims for
debuginfo-install, repograph, package-cleanup, repoclosure, repomanage,
repoquery, reposync, repotrack, repodiff, builddep, config-manager,%{?with_debug_plugin: debug,}
repoquery, reposync, repotrack, repodiff, builddep, config-manager, debug,
download and yum-groups-manager that use new implementations using DNF.
%endif
@ -353,34 +341,6 @@ Post transaction actions Plugin for DNF, Python 3 version. Plugin runs actions
files.
%endif
%if %{with python2}
%package -n python2-dnf-plugin-pre-transaction-actions
Summary: Pre transaction actions Plugin for DNF
Requires: python2-%{name} = %{version}-%{release}
%if !%{with python3}
Provides: dnf-plugin-pre-transaction-actions = %{version}-%{release}
%endif
Conflicts: python3-dnf-plugin-pre-transaction-actions < %{version}-%{release}
%description -n python2-dnf-plugin-pre-transaction-actions
Pre transaction actions Plugin for DNF, Python 2 version. Plugin runs actions
(shell commands) before transaction is completed. Actions are defined in action
files.
%endif
%if %{with python3}
%package -n python3-dnf-plugin-pre-transaction-actions
Summary: Pre transaction actions Plugin for DNF
Requires: python3-%{name} = %{version}-%{release}
Provides: dnf-plugin-pre-transaction-actions = %{version}-%{release}
Conflicts: python2-dnf-plugin-pre-transaction-actions < %{version}-%{release}
%description -n python3-dnf-plugin-pre-transaction-actions
Pre transaction actions Plugin for DNF, Python 3 version. Plugin runs actions
(shell commands) before transaction is completed. Actions are defined in action
files.
%endif
%if %{with python2}
%package -n python2-dnf-plugin-show-leaves
Summary: Leaves Plugin for DNF
@ -490,18 +450,14 @@ mkdir build-py3
%build
%if %{with python2}
pushd build-py2
%cmake ../ -DPYTHON_DESIRED:FILEPATH=%{__python2} \
-DWITHOUT_DEBUG:str=0%{!?with_debug_plugin:1} \
-DWITHOUT_LOCAL:str=0%{?rhel}
%cmake ../ -DPYTHON_DESIRED:FILEPATH=%{__python2} -DWITHOUT_LOCAL:str=0%{?rhel}
%make_build
make doc-man
popd
%endif
%if %{with python3}
pushd build-py3
%cmake ../ -DPYTHON_DESIRED:FILEPATH=%{__python3} \
-DWITHOUT_DEBUG:str=0%{!?with_debug_plugin:1} \
-DWITHOUT_LOCAL:str=0%{?rhel}
%cmake ../ -DPYTHON_DESIRED:FILEPATH=%{__python3} -DWITHOUT_LOCAL:str=0%{?rhel}
%make_build
make doc-man
popd
@ -525,16 +481,8 @@ pushd %{buildroot}%{_unitdir}/system-update.target.wants/
ln -sr ../dnf-system-upgrade.service
popd
ln -sf dnf4-system-upgrade.8.gz %{buildroot}%{_mandir}/man8/dnf4-offline-upgrade.8.gz
ln -sf dnf4-system-upgrade.8.gz %{buildroot}%{_mandir}/man8/dnf4-offline-distrosync.8.gz
%endif
%if %{without dnf5_obsoletes_dnf}
for file in %{buildroot}%{_mandir}/man8/dnf4[-.]*; do
dir=$(dirname $file)
filename=$(basename $file)
ln -sf $filename $dir/${filename/dnf4/dnf}
done
ln -sf %{_mandir}/man8/dnf-system-upgrade.8.gz %{buildroot}%{_mandir}/man8/dnf-offline-upgrade.8.gz
ln -sf %{_mandir}/man8/dnf-system-upgrade.8.gz %{buildroot}%{_mandir}/man8/dnf-offline-distrosync.8.gz
%endif
%find_lang %{name}
@ -549,30 +497,28 @@ rm -vf %{buildroot}%{_libexecdir}/dnf-utils-*
%if %{with yumutils}
mkdir -p %{buildroot}%{_bindir}
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/debuginfo-install
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/needs-restarting
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/find-repos-of-install
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repo-graph
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/package-cleanup
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repoclosure
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repodiff
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repomanage
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repoquery
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/reposync
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repotrack
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-builddep
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-config-manager
%if %{with debug_plugin}
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-dump
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-restore
%endif
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-groups-manager
ln -srf %{buildroot}%{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yumdownloader
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/debuginfo-install
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/needs-restarting
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/find-repos-of-install
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repo-graph
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/package-cleanup
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repoclosure
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repodiff
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repomanage
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repoquery
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/reposync
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repotrack
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-builddep
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-config-manager
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-dump
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-restore
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-groups-manager
ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yumdownloader
# These commands don't have a dedicated man page, so let's just point them
# to the utils page which contains their descriptions.
ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/find-repos-of-install.1.gz
ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repoquery.1.gz
ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1.gz
ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/find-repos-of-install.1.gz
ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repoquery.1.gz
ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1.gz
%endif
%check
@ -588,26 +534,24 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%endif
%files
%{_mandir}/man8/dnf*-builddep.*
%{_mandir}/man8/dnf*-changelog.*
%{_mandir}/man8/dnf*-config-manager.*
%{_mandir}/man8/dnf*-copr.*
%if %{with debug_plugin}
%{_mandir}/man8/dnf*-debug.*
%endif
%{_mandir}/man8/dnf*-debuginfo-install.*
%{_mandir}/man8/dnf*-download.*
%{_mandir}/man8/dnf*-generate_completion_cache.*
%{_mandir}/man8/dnf*-groups-manager.*
%{_mandir}/man8/dnf*-needs-restarting.*
%{_mandir}/man8/dnf*-repoclosure.*
%{_mandir}/man8/dnf*-repodiff.*
%{_mandir}/man8/dnf*-repograph.*
%{_mandir}/man8/dnf*-repomanage.*
%{_mandir}/man8/dnf*-reposync.*
%{_mandir}/man8/dnf*-system-upgrade.*
%{_mandir}/man8/dnf*-offline-upgrade.*
%{_mandir}/man8/dnf*-offline-distrosync.*
%{_mandir}/man8/dnf-builddep.*
%{_mandir}/man8/dnf-changelog.*
%{_mandir}/man8/dnf-config-manager.*
%{_mandir}/man8/dnf-copr.*
%{_mandir}/man8/dnf-debug.*
%{_mandir}/man8/dnf-debuginfo-install.*
%{_mandir}/man8/dnf-download.*
%{_mandir}/man8/dnf-generate_completion_cache.*
%{_mandir}/man8/dnf-groups-manager.*
%{_mandir}/man8/dnf-needs-restarting.*
%{_mandir}/man8/dnf-repoclosure.*
%{_mandir}/man8/dnf-repodiff.*
%{_mandir}/man8/dnf-repograph.*
%{_mandir}/man8/dnf-repomanage.*
%{_mandir}/man8/dnf-reposync.*
%{_mandir}/man8/dnf-system-upgrade.*
%{_mandir}/man8/dnf-offline-upgrade.*
%{_mandir}/man8/dnf-offline-distrosync.*
%if %{with yumcompatibility}
%{_mandir}/man1/yum-changelog.*
%{_mandir}/man8/yum-copr.*
@ -628,9 +572,7 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{python2_sitelib}/dnf-plugins/changelog.*
%{python2_sitelib}/dnf-plugins/config_manager.*
%{python2_sitelib}/dnf-plugins/copr.*
%if %{with debug_plugin}
%{python2_sitelib}/dnf-plugins/debug.*
%endif
%{python2_sitelib}/dnf-plugins/debuginfo-install.*
%{python2_sitelib}/dnf-plugins/download.*
%{python2_sitelib}/dnf-plugins/generate_completion_cache.*
@ -656,9 +598,7 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{python3_sitelib}/dnf-plugins/changelog.py
%{python3_sitelib}/dnf-plugins/config_manager.py
%{python3_sitelib}/dnf-plugins/copr.py
%if %{with debug_plugin}
%{python3_sitelib}/dnf-plugins/debug.py
%endif
%{python3_sitelib}/dnf-plugins/debuginfo-install.py
%{python3_sitelib}/dnf-plugins/download.py
%{python3_sitelib}/dnf-plugins/generate_completion_cache.py
@ -674,9 +614,7 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{python3_sitelib}/dnf-plugins/__pycache__/changelog.*
%{python3_sitelib}/dnf-plugins/__pycache__/config_manager.*
%{python3_sitelib}/dnf-plugins/__pycache__/copr.*
%if %{with debug_plugin}
%{python3_sitelib}/dnf-plugins/__pycache__/debug.*
%endif
%{python3_sitelib}/dnf-plugins/__pycache__/debuginfo-install.*
%{python3_sitelib}/dnf-plugins/__pycache__/download.*
%{python3_sitelib}/dnf-plugins/__pycache__/generate_completion_cache.*
@ -710,10 +648,8 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{_bindir}/repotrack
%{_bindir}/yum-builddep
%{_bindir}/yum-config-manager
%if %{with debug_plugin}
%{_bindir}/yum-debug-dump
%{_bindir}/yum-debug-restore
%endif
%{_bindir}/yum-groups-manager
%{_bindir}/yumdownloader
%{_mandir}/man1/debuginfo-install.*
@ -725,10 +661,8 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%{_mandir}/man1/reposync.*
%{_mandir}/man1/yum-builddep.*
%{_mandir}/man1/yum-config-manager.*
%if %{with debug_plugin}
%{_mandir}/man1/yum-debug-dump.*
%{_mandir}/man1/yum-debug-restore.*
%endif
%{_mandir}/man1/yum-groups-manager.*
%{_mandir}/man1/yumdownloader.*
%{_mandir}/man1/package-cleanup.*
@ -749,10 +683,8 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%exclude %{_mandir}/man1/reposync.*
%exclude %{_mandir}/man1/yum-builddep.*
%exclude %{_mandir}/man1/yum-config-manager.*
%if %{with debug_plugin}
%exclude %{_mandir}/man1/yum-debug-dump.*
%exclude %{_mandir}/man1/yum-debug-restore.*
%endif
%exclude %{_mandir}/man1/yum-groups-manager.*
%exclude %{_mandir}/man1/yumdownloader.*
%exclude %{_mandir}/man1/package-cleanup.*
@ -763,21 +695,21 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%if %{with python2}
%files -n python2-dnf-plugin-leaves
%{python2_sitelib}/dnf-plugins/leaves.*
%{_mandir}/man8/dnf*-leaves.*
%{_mandir}/man8/dnf-leaves.*
%endif
%if %{with python3}
%files -n python3-dnf-plugin-leaves
%{python3_sitelib}/dnf-plugins/leaves.*
%{python3_sitelib}/dnf-plugins/__pycache__/leaves.*
%{_mandir}/man8/dnf*-leaves.*
%{_mandir}/man8/dnf-leaves.*
%endif
%if 0%{?rhel} == 0 && %{with python2}
%files -n python2-dnf-plugin-local
%config(noreplace) %{_sysconfdir}/dnf/plugins/local.conf
%{python2_sitelib}/dnf-plugins/local.*
%{_mandir}/man8/dnf*-local.*
%{_mandir}/man8/dnf-local.*
%endif
%if %{with python3} && 0%{?rhel} == 0
@ -785,7 +717,7 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%config(noreplace) %{_sysconfdir}/dnf/plugins/local.conf
%{python3_sitelib}/dnf-plugins/local.*
%{python3_sitelib}/dnf-plugins/__pycache__/local.*
%{_mandir}/man8/dnf*-local.*
%{_mandir}/man8/dnf-local.*
%endif
%if %{with python2}
@ -801,7 +733,7 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%config(noreplace) %{_sysconfdir}/dnf/plugins/post-transaction-actions.conf
%config(noreplace) %{_sysconfdir}/dnf/plugins/post-transaction-actions.d
%{python2_sitelib}/dnf-plugins/post-transaction-actions.*
%{_mandir}/man8/dnf*-post-transaction-actions.*
%{_mandir}/man8/dnf-post-transaction-actions.*
%endif
%if %{with python3}
@ -810,37 +742,20 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%config(noreplace) %{_sysconfdir}/dnf/plugins/post-transaction-actions.d
%{python3_sitelib}/dnf-plugins/post-transaction-actions.*
%{python3_sitelib}/dnf-plugins/__pycache__/post-transaction-actions.*
%{_mandir}/man8/dnf*-post-transaction-actions.*
%endif
%if %{with python2}
%files -n python2-dnf-plugin-pre-transaction-actions
%config(noreplace) %{_sysconfdir}/dnf/plugins/pre-transaction-actions.conf
%config(noreplace) %{_sysconfdir}/dnf/plugins/pre-transaction-actions.d
%{python2_sitelib}/dnf-plugins/pre-transaction-actions.*
%{_mandir}/man8/dnf*-pre-transaction-actions.*
%endif
%if %{with python3}
%files -n python3-dnf-plugin-pre-transaction-actions
%config(noreplace) %{_sysconfdir}/dnf/plugins/pre-transaction-actions.conf
%config(noreplace) %{_sysconfdir}/dnf/plugins/pre-transaction-actions.d
%{python3_sitelib}/dnf-plugins/pre-transaction-actions.*
%{python3_sitelib}/dnf-plugins/__pycache__/pre-transaction-actions.*
%{_mandir}/man8/dnf*-pre-transaction-actions.*
%{_mandir}/man8/dnf-post-transaction-actions.*
%endif
%if %{with python2}
%files -n python2-dnf-plugin-show-leaves
%{python2_sitelib}/dnf-plugins/show_leaves.*
%{_mandir}/man8/dnf*-show-leaves.*
%{_mandir}/man8/dnf-show-leaves.*
%endif
%if %{with python3}
%files -n python3-dnf-plugin-show-leaves
%{python3_sitelib}/dnf-plugins/show_leaves.*
%{python3_sitelib}/dnf-plugins/__pycache__/show_leaves.*
%{_mandir}/man8/dnf*-show-leaves.*
%{_mandir}/man8/dnf-show-leaves.*
%endif
%if %{with python2}
@ -848,7 +763,7 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.conf
%config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.list
%{python2_sitelib}/dnf-plugins/versionlock.*
%{_mandir}/man8/dnf*-versionlock.*
%{_mandir}/man8/dnf-versionlock.*
%if %{with yumcompatibility}
%{_mandir}/man8/yum-versionlock.*
%{_mandir}/man5/yum-versionlock.*
@ -864,7 +779,7 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.list
%{python3_sitelib}/dnf-plugins/versionlock.*
%{python3_sitelib}/dnf-plugins/__pycache__/versionlock.*
%{_mandir}/man8/dnf*-versionlock.*
%{_mandir}/man8/dnf-versionlock.*
%if %{with yumcompatibility}
%{_mandir}/man8/yum-versionlock.*
%{_mandir}/man5/yum-versionlock.*
@ -878,172 +793,101 @@ ln -sf %{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1
%files -n python3-dnf-plugin-modulesync
%{python3_sitelib}/dnf-plugins/modulesync.*
%{python3_sitelib}/dnf-plugins/__pycache__/modulesync.*
%{_mandir}/man8/dnf*-modulesync.*
%{_mandir}/man8/dnf-modulesync.*
%endif
%changelog
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 4.7.0-6
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Tue Jul 09 2024 Petr Pisar <ppisar@redhat.com> - 4.7.0-5
- Remove debug plugin (i.e. dnf debug-dump and and debug-restore commands)
(RHEL-23706)
- Enable leaves and show-leaves plugins (RHEL-44922)
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 4.7.0-4
- Bump release for June 2024 mass rebuild
* Fri Jun 14 2024 Petr Pisar <ppisar@redhat.com> - 4.7.0-3
- Fix symbolic links to packaged files (RHEL-40564)
* Thu Jun 06 2024 Petr Pisar <ppisar@redhat.com> - 4.7.0-2
- Revert using systemd start time in needs-restarting (RHEL-35577)
* Wed Apr 24 2024 Jan Kolarik <jkolarik@redhat.com> - 4.7.0-1
- Update to 4.7.0 (RHEL-38831)
- docs: Documentation of needs-restarting boot time (RHEL-35577)
- man: Prepare pages for dnf5 switch
- spec: Prepare for switch of dnf5 in Rawhide
* Tue Mar 26 2024 Evan Goode <egoode@redhat.com> - 4.6.0-1
- Update to 4.6.0 (RHEL-38831)
- Added pre-transaction plugin
- needs-restarting: get systemd boot time from UnitsLoadStartTimestamp
(RHEL-35577)
* Thu Feb 08 2024 Jan Kolarik <jkolarik@redhat.com> - 4.5.0-1
- Update to 4.5.0
- Request filelists metadata for plugins needing that
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Dec 08 2023 Jan Kolarik <jkolarik@redhat.com> - 4.4.4-1
- Update to 4.4.4
- needs-restarting: Add microcode_ctl to a reboot list
* Fri Oct 06 2023 Jan Kolarik <jkolarik@redhat.com> - 4.4.3-1
- Update to 4.4.3
- needs-restarting: Avoid issue with garbage smaps chars (RhBug:2212953)
- needs-restarting: Add kernel-core to reboot list
- Update translations
* Fri Sep 08 2023 Marek Blaha <mblaha@redhat.com> - 4.3.0-11
- Rebuild in correct target
* Thu Jul 27 2023 Nicola Sella <nsella@redhat.com> - 4.4.2-1
- Update to 4.4.2
- Fixed copr.vendor.conf not loading
- "dnf copr enable" on "Asahi Fedora Linux Remix" guesses epel..x86_64
- system-upgrade: change http to https in unit file
- Fix systemd dependencies when using --poweroff option in system-upgrade plugin (RhBug:2211844)
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 4.4.1-4
- Rebuilt for Python 3.12
* Wed May 17 2023 Jan Kolarik <jkolarik@redhat.com> - 4.4.1-3
- Rebuild for rpm-4.18.90-4
* Tue May 16 2023 Jan Kolarik <jkolarik@redhat.com> - 4.4.1-2
- Rebuild for rpm-4.18.90
* Mon May 15 2023 Jan Kolarik <jkolarik@redhat.com> - 4.4.1-1
- Update to 4.4.1
- reposync: Implement --safe-write-path option (RhBug:1898089)
- needs-restarting: Catch exception when no systemd unit exists for pid (RhBug:2122587)
- post-transaction-actions: Fix ConfigParser.substitute call
- builddep: Avoid using obsolete RPM API
- yum-utils: Only depend on python3-dnf, not dnf
* Wed Apr 05 2023 Jan Kolarik <jkolarik@redhat.com> - 4.4.0-1
- Update to 4.4.0
- system-upgrade: Move from extras to core (RhBug:2054235)
- system-upgrade: Add support for security filters in offline-upgrade (RhBug:1939975)
- needs-restarting: Fix boot time derivation for systems with no rtc (RhBug:2137935)
- system-upgrade: Add --poweroff option to reboot
- download: Skip downloading weak deps when install_weak_deps=False
- copr: Switch to reading a copr.vendor.conf file to determine a vendor ID
- config-manager: Allow to specify the "main" section
- reposync: Documentation update (RhBug:2132383, 2182004)
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Sep 23 2022 Jaroslav Rohel <jrohel@redhat.com> - 4.3.1-1
- Update to 4.3.1
- Update translations (fix RhBug:2127011)
* Fri Sep 09 2022 Jaroslav Rohel <jrohel@redhat.com> - 4.3.0-1
- Update to 4.3.0
- [repomanage] Modules are used only when they belong to target repo (RhBug:2072441)
- copr: Guess EPEL chroots for CentOS Stream (RhBug:2058471)
- builddep: Warning when using macros with source rpms (RhBug:2077820)
- Update documentation for config-manager used with subscription-manager (RhBug:2075366)
* Thu Sep 07 2023 Marek Blaha <mblaha@redhat.com> - 4.3.0-10
- Update translations RHEL 9.3
* Mon Jun 26 2023 Jaroslav Rohel <jrohel@redhat.com> - 4.3.0-9
- system-upgrade: Wait until the upgrade is done before poweroff (RhBug:2214510)
* Wed May 31 2023 Nicola Sella <nsella@redhat.com> - 4.3.0-8
- Add fix and test assertion for "no systemd unit exists for pid"
* Wed May 17 2023 Jaroslav Rohel <jrohel@redhat.com> - 4.3.0-7
- Remove patch: "reposync: Implement --safe-write-path option (RhBug:1898089,2203766)" (RhBug:2207946)
* Mon May 15 2023 Jaroslav Rohel <jrohel@redhat.com> - 4.3.0-6
- Fix boot time derivation for systems with no rtc (RhBug:2166444,2182157)
- system-upgrade: Add --poweroff option to reboot subcommand (RhBug:2157844)
- Doc update for reposync (RhBug:2132383,2182004)
- reposync: Implement --safe-write-path option (RhBug:1898089,2203766)
- Enable the leaves and show-leaves DNF plugins (RhBug:2134638)
* Wed Mar 15 2023 Marek Blaha <mblaha@redhat.com> - 4.3.0-5
- Update translations
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jan 06 2023 Nicola Sella <nsella@redhat.com> - 4.3.0-4
- Remove requirement of python3-distro (fix specfile)
* Thu Jan 05 2023 Nicola Sella <nsella@redhat.com> - 4.3.0-3
- Remove requirement of python3-distro
* Wed Jun 15 2022 Python Maint <python-maint@redhat.com> - 4.2.1-2
- Rebuilt for Python 3.11
* Wed Dec 03 2022 Nicola Sella <nsella@redhat.com> - 4.3.0-2
- Move system-upgrade plugin to core (RhBug:2054235)
- offline-upgrade: add support for security filters (RhBug:1939975)
* Fri May 27 2022 Jaroslav Rohel <jrohel@redhat.com> - 4.2.1-1
- Update to 4.2.1
- Skip all non rpm tsi for transaction_action plugins (rhbug:2023652)
* Thu Sep 22 2022 Lukas Hrazky <lhrazky@redhat.com> - 4.3.0-1
- Update to 4.3.0
- [config-manager] Update documentation (RhBug:2075366)
- [builddep] Warning when using macros with source rpms (RhBug:2077820)
- [repomanage] Use modules only from repo they are handling (RhBug:2072441)
- Skip all non rpm transaction items for transaction_action plugins (rhbug:2023652)
- feat(repomanage): Add new option --oldonly
* Wed Sep 14 2022 Marek Blaha <mblaha@redhat.com> - 4.1.0-3
- Update translations
* Thu May 05 2022 Jaroslav Rohel <jrohel@redhat.com> - 4.2.0-1
- Update to 4.2.0
- repomanage: Add new option --oldonly (RhBug:2034736,2058676)
* Tue Jul 19 2022 Lukas Hrazky <lhrazky@redhat.com> - 4.1.0-2
- [copr] Guess EPEL chroots for CentOS Stream
* Mon Mar 14 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 4.1.0-1
* Thu Apr 28 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 4.1.0-1
- Add a new subpackage with modulesync command. The command downloads packages from modules and/or creates a repository with modular data. (RhBug:1868047)
- [groups-manager] Use full NEVRA (not only name) for matching packages (RhBug:2013633)
- [repoclosure] Print counts of missing dependencies
- [reposync] Do not stop downloading packages on the first error (RhBug:2009894)
- [versionlock] Fix: Multiple package-name-spec arguments don't lock correctly (RhBug:2001039) (RhBug:2013324)
- [versionlock] Update documentation for adding specifi version (RhBug:2013332)
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.24-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Feb 07 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 4.0.24-3
- Backport patch with new way to determine rpmdb version
* Thu Oct 21 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.0.24-1
- Update to 4.0.24
- [copr] on CentOS Stream, enable centos stream chroot instead of not epel 8 (RhBug:1994154)
- [copr] Avoid using deprecated function distro.linux_distribution() (RhBug:2011550)
- [copr] don't traceback on empty lines in /etc/os-release
* Thu Sep 23 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.0.23-1
- Update to 4.0.23
- [leaves] Show strongly connected components
- [needs-restarting] Fix wrong boot time (RhBug:1960437)
- [playground] Disable playground command, since it doesn't work
* Fri Jul 23 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.0.22-3
- Fix 'dnf copr enable' on Fedora 35
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.22-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Dec 09 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.0.24-2
- [groups-manager] Use full NEVRA for matching packages instead of only name (RhBug:2029864)
- [versionlock] Fix: Multiple package-name-spec arguments don't lock (RhBug:2029871)
- [versionlock] Update documentation for adding specifi version (RhBug:2013332)
* Tue Jun 15 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.0.22-1
- Update to 4.0.22
* Mon Oct 25 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.0.24-1
- Update to 4.0.24
- [repomanage] Allow running only with metadata
- [repomanage] Enhance documentation (RhBug:1898293)
- [versionlock] Locking obsoleted package does not make the obsoleter unavailable (RhBug:1957280)
- [versionlock] Work correctly with packages with minorbump part of release (RhBug:1961217)
- [leaves] Show strongly connected components
- [needs-restarting] Fix wrong boot time (RhBug:1960437)
- [playground] Disable playground command, since it doesn't work
- [copr] on CentOS Stream, enable centos stream chroot instead of not epel 8 (RhBug:1994154)
- [copr] Avoid using deprecated function distro.linux_distribution() (RhBug:2011550)
- [copr] don't traceback on empty lines in /etc/os-release
* Thu Jun 03 2021 Python Maint <python-maint@redhat.com> - 4.0.21-2
- Rebuilt for Python 3.10
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 4.0.21-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Apr 16 2021 Nicola Sella <nsella@redhat.com> - 4.0.21-1
* Wed Jun 02 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.0.21-1
- Update to 4.0.21
- Removed dependency on dnf.yum.misc.Checksum class (RhBug:1935465)
- Add missing command line option to documentation
- doc: add packages to needs-restarting conf
- Set blacklist subcommand as deprecated
- Bugs fixed (RhBug:1914827,1916782)
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 4.0.19-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Thu Jan 28 2021 Nicola Sella <nsella@redhat.com> - 4.0.19-1
- Update to 4.0.19
- copr: allow only 2 arguments with copr enable command

Loading…
Cancel
Save