Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package dnf for openSUSE:Factory checked in 
at 2026-01-23 17:30:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dnf (Old)
 and      /work/SRC/openSUSE:Factory/.dnf.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dnf"

Fri Jan 23 17:30:58 2026 rev:42 rq:1328526 version:4.23.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/dnf/dnf.changes  2025-03-20 19:23:59.183143872 
+0100
+++ /work/SRC/openSUSE:Factory/.dnf.new.1928/dnf.changes        2026-01-23 
17:31:05.305065551 +0100
@@ -1,0 +2,5 @@
+Tue Jan 20 21:27:50 UTC 2026 - Neal Gompa <[email protected]>
+
+- Add logic to support coexistence with dnf5 being the primary DNF 
implementation
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dnf.spec ++++++
--- /var/tmp/diff_new_pack.YL1QmU/_old  2026-01-23 17:31:08.529199317 +0100
+++ /var/tmp/diff_new_pack.YL1QmU/_new  2026-01-23 17:31:08.533199483 +0100
@@ -2,7 +2,7 @@
 # spec file for package dnf
 #
 # Copyright (c) 2024 SUSE LLC
-# Copyright (c) 2021-2023 Neal Gompa <[email protected]>.
+# Copyright (c) 2021-2026 Neal Gompa <[email protected]>.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -44,6 +44,16 @@
 %global yum_subpackage_name dnf-yum
 %endif
 
+# De-conflict dnf with dnf5 and allow dnf5
+# to replace dnf as primary implementation
+%bcond_without dnf5_obsoletes_dnf
+
+%if %{with dnf5_obsoletes_dnf}
+%global dnf_package_name dnf4
+%else
+%global dnf_package_name dnf
+%endif
+
 # Tests fail (possibly due to failures in libdnf tests on SUSE)
 # Until those are resolved, these will remain disabled
 %bcond_with tests
@@ -73,6 +83,9 @@
 BuildRequires:  python3-bugzilla
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  pkgconfig(bash-completion)
+BuildArch:      noarch
+
+%if %{without dnf5_obsoletes_dnf}
 Requires:       python3-dnf = %{version}-%{release}
 Recommends:     %{yum_subpackage_name}
 Recommends:     dnf-plugins-core
@@ -100,16 +113,55 @@
 Provides:       dnf-command(search)
 Provides:       dnf-command(updateinfo)
 Provides:       dnf-command(upgrade)
-BuildArch:      noarch
 %{?systemd_ordering}
+%endif
 
 %description
 DNF is a package manager for RPM systems that was forked from Yum. Among the
 many improvements, it uses libsolv as a dependency resolver.
 
+%if %{with dnf5_obsoletes_dnf}
+%package -n %{dnf_package_name}
+Summary:        Package manager forked from Yum, using libsolv as a dependency 
resolver
+Requires:       python3-dnf = %{version}-%{release}
+Recommends:     %{yum_subpackage_name}
+Recommends:     dnf-plugins-core
+Conflicts:      dnf-plugins-core < %{min_plugins_core}
+Provides:       dnf-command(alias)
+Provides:       dnf-command(autoremove)
+Provides:       dnf-command(check-update)
+Provides:       dnf-command(clean)
+Provides:       dnf-command(distro-sync)
+Provides:       dnf-command(downgrade)
+Provides:       dnf-command(group)
+Provides:       dnf-command(history)
+Provides:       dnf-command(info)
+Provides:       dnf-command(install)
+Provides:       dnf-command(list)
+Provides:       dnf-command(makecache)
+Provides:       dnf-command(mark)
+Provides:       dnf-command(provides)
+Provides:       dnf-command(reinstall)
+Provides:       dnf-command(remove)
+Provides:       dnf-command(repolist)
+Provides:       dnf-command(repoquery)
+Provides:       dnf-command(repository-packages)
+Provides:       dnf-command(search)
+Provides:       dnf-command(updateinfo)
+Provides:       dnf-command(upgrade)
+%{?systemd_ordering}
+
+%description -n %{dnf_package_name}
+DNF is a package manager for RPM systems that was forked from Yum. Among the
+many improvements, it uses libsolv as a dependency resolver.
+%endif
+
 %package data
 Summary:        Common data and configuration files for DNF
 Group:          System/Packages
+%if %{with dnf5_obsoletes_dnf}
+Requires:       /etc/dnf/dnf.conf
+%endif
 Obsoletes:      dnf-conf < 4.4.2
 Provides:       dnf-conf = %{version}-%{release}
 Recommends:     logrotate
@@ -186,7 +238,7 @@
 %description -n python3-dnf
 This package provides the Python 3 interface to DNF.
 
-%lang_package
+%lang_package -n %{dnf_package_name}
 
 %package automatic
 Summary:        Alternative CLI to "dnf upgrade" suitable for automatic, 
regular execution
@@ -231,7 +283,7 @@
 mkdir -p %{buildroot}%{_var}/cache/dnf
 touch %{buildroot}%{_localstatedir}/log/%{name}.log
 
-
+%if %{without dnf5_obsoletes_dnf}
 ln -sr %{buildroot}%{_bindir}/dnf-3 %{buildroot}%{_bindir}/dnf
 ln -sr %{buildroot}%{_datadir}/bash-completion/completions/dnf-3 
%{buildroot}%{_datadir}/bash-completion/completions/dnf
 for file in %{buildroot}%{_mandir}/man[578]/dnf4[-.]*; do
@@ -239,15 +291,37 @@
     filename=$(basename $file)
     mv $file $dir/${filename/dnf4/dnf}
 done
+%endif
 
 ln -sr %{buildroot}%{_bindir}/dnf-3 %{buildroot}%{_bindir}/dnf4
+%if %{without dnf5_obsoletes_dnf}
 mv %{buildroot}%{_bindir}/dnf-automatic-3 %{buildroot}%{_bindir}/dnf-automatic
+%endif
 rm -vf %{buildroot}%{_bindir}/dnf-automatic-*
 
+%if %{without dnf5_obsoletes_dnf}
 # Create protected.d file for dnf
 echo "dnf" > %{buildroot}%{confdir}/protected.d/dnf.conf
+%endif
 
-%if %{with as_yum}
+%if %{with dnf5_obsoletes_dnf}
+rm %{buildroot}%{confdir}/automatic.conf
+rm %{buildroot}%{confdir}/%{name}.conf
+rm %{buildroot}%{_mandir}/man8/%{name}-automatic.8*
+rm %{buildroot}%{_mandir}/man8/yum2dnf.8*
+rm %{buildroot}%{_unitdir}/%{name}-automatic.service
+rm %{buildroot}%{_unitdir}/%{name}-automatic.timer
+rm %{buildroot}%{_unitdir}/%{name}-automatic-notifyonly.service
+rm %{buildroot}%{_unitdir}/%{name}-automatic-notifyonly.timer
+rm %{buildroot}%{_unitdir}/%{name}-automatic-download.service
+rm %{buildroot}%{_unitdir}/%{name}-automatic-download.timer
+rm %{buildroot}%{_unitdir}/%{name}-automatic-install.service
+rm %{buildroot}%{_unitdir}/%{name}-automatic-install.timer
+rm %{buildroot}%{_unitdir}/%{name}-makecache.service
+rm %{buildroot}%{_unitdir}/%{name}-makecache.timer
+%endif
+
+%if %{with as_yum} && %{without dnf5_obsoletes_dnf}
 ln -sr %{buildroot}%{_bindir}/dnf-3 %{buildroot}%{_bindir}/yum
 mkdir -p %{buildroot}%{_sysconfdir}/yum
 ln -sr  %{buildroot}%{confdir}/%{name}.conf 
%{buildroot}%{_sysconfdir}/yum/yum.conf
@@ -256,7 +330,8 @@
 ln -sr  %{buildroot}%{confdir}/repos.d %{buildroot}%{_sysconfdir}/yum/repos.d
 ln -sr  %{buildroot}%{confdir}/vars %{buildroot}%{_sysconfdir}/yum/vars
 %else
-# We don't want this just yet...
+rm %{buildroot}%{_mandir}/man[158]/yum*
+# We don't want this...
 rm -f %{buildroot}%{confdir}/protected.d/yum.conf
 %endif
 
@@ -275,20 +350,27 @@
 popd
 %endif
 
-%files
+%files -n %{dnf_package_name}
 %license COPYING PACKAGE-LICENSING
 %doc AUTHORS README.rst
 %{_bindir}/dnf4
+%dir %{_var}/cache/dnf
+%if %{without dnf5_obsoletes_dnf}
 %{_bindir}/dnf
 %{_mandir}/man8/dnf.8*
 %{_mandir}/man8/yum2dnf.8*
 %{_mandir}/man7/dnf.modularity.7*
 %{_mandir}/man5/dnf-transaction-json.5*
-%dir %{_var}/cache/dnf
 %{_unitdir}/dnf-makecache.service
 %{_unitdir}/dnf-makecache.timer
+%else
+%{_mandir}/man8/dnf4.8*
+%{_mandir}/man5/dnf4.conf.5*
+%{_mandir}/man7/dnf4.modularity.7*
+%{_mandir}/man5/dnf4-transaction-json.5*
+%endif
 
-%files lang -f %{name}.lang
+%files -n %{dnf_package_name}-lang -f %{name}.lang
 
 %files data
 %license COPYING PACKAGE-LICENSING
@@ -301,9 +383,11 @@
 %dir %{confdir}/protected.d
 %dir %{confdir}/repos.d
 %dir %{confdir}/vars
-%config(noreplace) %{confdir}/%{name}.conf
 %config(noreplace) %{confdir}/aliases.d/zypper.conf
+%if %{without dnf5_obsoletes_dnf}
+%config(noreplace) %{confdir}/%{name}.conf
 %config(noreplace) %{confdir}/protected.d/%{name}.conf
+%endif
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
 %ghost %{_localstatedir}/log/hawkey.log
 %ghost %{_localstatedir}/log/%{name}.log
@@ -315,11 +399,14 @@
 %ghost %{persistdir}/yumdb
 %ghost %{persistdir}/history
 %ghost %{_sharedstatedir}/%{name}
+%if %{without dnf5_obsoletes_dnf}
+%{_mandir}/man5/dnf.conf.5.*
 %{_datadir}/bash-completion/completions/dnf
+%endif
 %{_datadir}/bash-completion/completions/dnf-3
-%{_mandir}/man5/dnf.conf.5.*
 %{_tmpfilesdir}/dnf.conf
 
+%if %{without dnf5_obsoletes_dnf}
 %files -n %{yum_subpackage_name}
 %license COPYING PACKAGE-LICENSING
 %doc AUTHORS README.rst
@@ -337,6 +424,7 @@
 %{_sysconfdir}/yum/vars
 %config(noreplace) %{confdir}/protected.d/yum.conf
 %endif
+%endif
 
 %files -n python3-dnf
 %license COPYING PACKAGE-LICENSING
@@ -347,6 +435,7 @@
 %{python3_sitelib}/dnf-*.dist-info/
 %dir %{py3pluginpath}
 
+%if %{without dnf5_obsoletes_dnf}
 %files automatic
 %license COPYING PACKAGE-LICENSING
 %doc AUTHORS
@@ -380,6 +469,7 @@
 
 %postun automatic
 %systemd_postun_with_restart %{name}-automatic.timer 
%{name}-automatic-notifyonly.timer %{name}-automatic-download.timer 
%{name}-automatic-install.timer
+%endif
 
 %pretrans -n %{name}-data -p <lua>
 -- Migrate DNF state data to /usr/lib/sysimage if it is still in /var/lib

Reply via email to