public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
To: git-commits@fedoraproject.org
Subject: [rpms/dnf5] rawhide: Disable modularity on RHEL >= 11
Date: Wed, 08 Jul 2026 13:38:38 GMT [thread overview]
Message-ID: <178351791866.1.538858162052825488.rpms-dnf5-93f30cde3468@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/dnf5
Branch : rawhide
Commit : 93f30cde34686ca2add962472bb46cd961d383c9
Author : Petr Písař <ppisar@redhat.com>
Date : 2026-07-08T15:02:47+02:00
Stats : +267/-4 in 3 file(s)
URL : https://src.fedoraproject.org/rpms/dnf5/c/93f30cde34686ca2add962472bb46cd961d383c9?branch=rawhide
Log:
Disable modularity on RHEL >= 11
---
diff --git a/0003-spec-Disable-modularity-on-RHEL-11.patch b/0003-spec-Disable-modularity-on-RHEL-11.patch
new file mode 100644
index 0000000..e7703a5
--- /dev/null
+++ b/0003-spec-Disable-modularity-on-RHEL-11.patch
@@ -0,0 +1,30 @@
+From f252a9fbe6730c248d9c3756d74ea67ea817eb05 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Fri, 19 Jun 2026 09:55:22 +0200
+Subject: [PATCH] spec: Disable modularity on RHEL >= 11
+
+---
+ dnf5.spec | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/dnf5.spec b/dnf5.spec
+index 8bad60ec..8ae53f3a 100644
+--- a/dnf5.spec
++++ b/dnf5.spec
+@@ -95,7 +95,13 @@ Provides: dnf5-command(versionlock)
+
+ %bcond_without acl
+ %bcond_without comps
++
++%if 0%{?rhel} >= 11
++%bcond_with modulemd
++%else
+ %bcond_without modulemd
++%endif
++
+ %bcond_without systemd
+
+ %bcond_with html
+--
+2.55.0
+
diff --git a/0004-Build-If-modularity-is-disabled-leave-out-artefacts-.patch b/0004-Build-If-modularity-is-disabled-leave-out-artefacts-.patch
new file mode 100644
index 0000000..e131501
--- /dev/null
+++ b/0004-Build-If-modularity-is-disabled-leave-out-artefacts-.patch
@@ -0,0 +1,207 @@
+From df5367c33058847da659e9f45beba724712011be Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Fri, 26 Jun 2026 10:22:25 +0200
+Subject: [PATCH] Build: If modularity is disabled, leave out artefacts related
+ to modulariy
+
+Do not install modularity manual pages, state files, RPM provides.
+Adjust RPM package description.
+
+(Paragraphs about modularity in otherwise relevant manual pages will
+be removed later after introducing a preprocesor to the documentation
+files.)
+---
+ dnf5.spec | 35 ++++++++++++++++++++++++++---------
+ doc/CMakeLists.txt | 6 +++++-
+ doc/conf.py.in | 6 ++++--
+ 3 files changed, 35 insertions(+), 12 deletions(-)
+
+diff --git a/dnf5.spec b/dnf5.spec
+index 8ae53f3a..408a702d 100644
+--- a/dnf5.spec
++++ b/dnf5.spec
+@@ -5,6 +5,12 @@
+
+ %bcond dnf5_obsoletes_dnf %[0%{?fedora} > 40 || 0%{?rhel} > 10]
+
++%if 0%{?rhel} >= 11
++%bcond_with modulemd
++%else
++%bcond_without modulemd
++%endif
++
+ Name: dnf5
+ Version: %{project_version_prime}.%{project_version_major}.%{project_version_minor}.%{project_version_micro}
+ Release: 1%{?dist}
+@@ -58,7 +64,9 @@ Provides: dnf5-command(leaves)
+ Provides: dnf5-command(list)
+ Provides: dnf5-command(makecache)
+ Provides: dnf5-command(mark)
++%if %{with modulemd}
+ Provides: dnf5-command(module)
++%endif
+ Provides: dnf5-command(offline)
+ Provides: dnf5-command(provides)
+ Provides: dnf5-command(reinstall)
+@@ -96,12 +104,6 @@ Provides: dnf5-command(versionlock)
+ %bcond_without acl
+ %bcond_without comps
+
+-%if 0%{?rhel} >= 11
+-%bcond_with modulemd
+-%else
+-%bcond_without modulemd
+-%endif
+-
+ %bcond_without systemd
+
+ %bcond_with html
+@@ -136,7 +138,9 @@ Provides: dnf5-command(versionlock)
+
+ # ========== versions of dependencies ==========
+
++%if %{with modulemd}
+ %global libmodulemd_version 2.5.0
++%endif
+ %global librepo_version 1.20.0
+ %global libsolv_version 0.7.36
+ %global sqlite_version 3.35.0
+@@ -271,7 +275,7 @@ BuildRequires: python3-devel
+ %description
+ DNF5 is a command-line package manager that automates the process of installing,
+ upgrading, configuring, and removing computer programs in a consistent manner.
+-It supports RPM packages, modulemd modules, and comps groups & environments.
++It supports RPM packages%{?with_modulemd:, modulemd modules,} and comps groups & environments.
+
+ %post
+ %if %{with dnf5_obsoletes_dnf}
+@@ -348,7 +352,9 @@ It supports RPM packages, modulemd modules, and comps groups & environments.
+ %{_mandir}/man8/dnf5-list.8.*
+ %{_mandir}/man8/dnf5-makecache.8.*
+ %{_mandir}/man8/dnf5-mark.8.*
++%if %{with modulemd}
+ %{_mandir}/man8/dnf5-module.8.*
++%endif
+ %{_mandir}/man8/dnf5-offline.8.*
+ %{_mandir}/man8/dnf5-provides.8.*
+ %{_mandir}/man8/dnf5-reinstall.8.*
+@@ -367,7 +373,9 @@ It supports RPM packages, modulemd modules, and comps groups & environments.
+ %{_mandir}/man7/dnf5-filtering.7.*
+ %{_mandir}/man7/dnf5-forcearch.7.*
+ %{_mandir}/man7/dnf5-installroot.7.*
++%if %{with modulemd}
+ %{_mandir}/man7/dnf5-modularity.7.*
++%endif
+ %{_mandir}/man7/dnf5-specs.7.*
+ %{_mandir}/man7/dnf5-system-state.7.*
+ %{_mandir}/man7/dnf5-changes-from-dnf4.7.*
+@@ -398,7 +406,9 @@ It supports RPM packages, modulemd modules, and comps groups & environments.
+ %{_mandir}/man8/dnf-list.8.*
+ %{_mandir}/man8/dnf-makecache.8.*
+ %{_mandir}/man8/dnf-mark.8.*
++%if %{with modulemd}
+ %{_mandir}/man8/dnf-module.8.*
++%endif
+ %{_mandir}/man8/dnf-offline.8.*
+ %{_mandir}/man8/dnf-provides.8.*
+ %{_mandir}/man8/dnf-reinstall.8.*
+@@ -417,7 +427,9 @@ It supports RPM packages, modulemd modules, and comps groups & environments.
+ %{_mandir}/man7/dnf-filtering.7.*
+ %{_mandir}/man7/dnf-forcearch.7.*
+ %{_mandir}/man7/dnf-installroot.7.*
++%if %{with modulemd}
+ %{_mandir}/man7/dnf-modularity.7.*
++%endif
+ %{_mandir}/man7/dnf-specs.7.*
+ %{_mandir}/man7/dnf-system-state.7.*
+ %{_mandir}/man7/dnf-changes-from-dnf4.7.*
+@@ -443,7 +455,6 @@ It supports RPM packages, modulemd modules, and comps groups & environments.
+ %package -n libdnf5
+ Summary: Package management library
+ License: LGPL-2.1-or-later
+-#Requires: libmodulemd{?_isa} >= {libmodulemd_version}
+ Requires: libsolv%{?_isa} >= %{libsolv_version}
+ Requires: librepo%{?_isa} >= %{librepo_version}
+ %if 0%{?fedora} >= 43 || 0%{?rhel} >= 11
+@@ -484,7 +495,9 @@ Package management library.
+ %attr(0755, root, root) %ghost %dir %{_prefix}/lib/sysimage/libdnf5/comps_groups/groups
+ %verify(not md5 size mtime) %attr(0644, root, root) %ghost %{_prefix}/lib/sysimage/libdnf5/environments.toml
+ %verify(not md5 size mtime) %attr(0644, root, root) %ghost %{_prefix}/lib/sysimage/libdnf5/groups.toml
++%if %{with modulemd}
+ %verify(not md5 size mtime) %attr(0644, root, root) %ghost %{_prefix}/lib/sysimage/libdnf5/modules.toml
++%endif
+ %verify(not md5 size mtime) %attr(0644, root, root) %ghost %{_prefix}/lib/sysimage/libdnf5/nevras.toml
+ %attr(0755, root, root) %ghost %dir %{_prefix}/lib/sysimage/libdnf5/offline
+ %verify(not md5 size mtime) %attr(0644, root, root) %ghost %{_prefix}/lib/sysimage/libdnf5/offline/offline-transaction-state.toml
+@@ -1093,7 +1106,11 @@ ln -s dnf-makecache.timer %{buildroot}%{_unitdir}/dnf5-makecache.timer
+ # own dirs and files that dnf5 creates on runtime
+ mkdir -p %{buildroot}%{_prefix}/lib/sysimage/libdnf5
+ for file in \
+- environments.toml groups.toml modules.toml nevras.toml packages.toml \
++ environments.toml groups.toml \
++%if %{with modulemd}
++ modules.toml \
++%endif
++ nevras.toml packages.toml \
+ system.toml \
+ transaction_history.sqlite transaction_history.sqlite-shm \
+ transaction_history.sqlite-wal
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 18b74f28..ad0eafcf 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -89,7 +89,9 @@ if(WITH_MAN)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-list.8 DESTINATION share/man/man8)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-makecache.8 DESTINATION share/man/man8)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-mark.8 DESTINATION share/man/man8)
++ if(WITH_MODULEMD)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-module.8 DESTINATION share/man/man8)
++ endif()
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-offline.8 DESTINATION share/man/man8)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-provides.8 DESTINATION share/man/man8)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-reinstall.8 DESTINATION share/man/man8)
+@@ -108,7 +110,9 @@ if(WITH_MAN)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-filtering.7 DESTINATION share/man/man7)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-forcearch.7 DESTINATION share/man/man7)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-installroot.7 DESTINATION share/man/man7)
+- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-modularity.7 DESTINATION share/man/man7)
++ if(WITH_MODULEMD)
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-modularity.7 DESTINATION share/man/man7)
++ endif()
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-specs.7 DESTINATION share/man/man7)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-system-state.7 DESTINATION share/man/man7)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/dnf5-changes-from-dnf4.7 DESTINATION share/man/man7)
+diff --git a/doc/conf.py.in b/doc/conf.py.in
+index fdd120f2..6ad57986 100644
+--- a/doc/conf.py.in
++++ b/doc/conf.py.in
+@@ -138,7 +138,6 @@ man_pages = [
+ ('commands/list.8', 'dnf5-list', 'List Command', AUTHORS, 8),
+ ('commands/makecache.8', 'dnf5-makecache', 'Makecache Command', AUTHORS, 8),
+ ('commands/mark.8', 'dnf5-mark', ' Mark Command', AUTHORS, 8),
+- ('commands/module.8', 'dnf5-module', ' Module Command', AUTHORS, 8),
+ ('commands/offline.8', 'dnf5-offline', ' Offline Command', AUTHORS, 8),
+ ('commands/provides.8', 'dnf5-provides', 'Provides Command', AUTHORS, 8),
+ ('commands/reinstall.8', 'dnf5-reinstall', 'Reinstall Command', AUTHORS, 8),
+@@ -170,7 +169,6 @@ man_pages = [
+ ('misc/filtering.7', 'dnf5-filtering', 'Packages Filtering', AUTHORS, 7),
+ ('misc/forcearch.7', 'dnf5-forcearch', 'Forcearch Parameter', AUTHORS, 7),
+ ('misc/installroot.7', 'dnf5-installroot', 'Installroot Parameter', AUTHORS, 7),
+- ('misc/modularity.7', 'dnf5-modularity', 'Modularity Overview', AUTHORS, 7),
+ ('misc/specs.7', 'dnf5-specs', 'Patterns Specification', AUTHORS, 7),
+ ('misc/system-state.7', 'dnf5-system-state', 'System state', AUTHORS, 7),
+ ('changes_from_dnf4.7', 'dnf5-changes-from-dnf4', 'Changes from the DNF4', AUTHORS, 7),
+@@ -184,6 +182,10 @@ man_pages = [
+ ('dnf5.conf-todo.5', 'dnf5.conf-todo', 'Options that are documented/implemented in DNF but not in DNF5', AUTHORS, 5),
+ ('dnf5.conf-deprecated.5', 'dnf5.conf-deprecated', 'Config Options that are deprecated in DNF5', AUTHORS, 5),
+ ]
++if "@WITH_MODULEMD@" == "ON":
++ man_pages.append(('commands/module.8', 'dnf5-module', ' Module Command', AUTHORS, 8))
++ man_pages.append(('misc/modularity.7', 'dnf5-modularity', 'Modularity Overview', AUTHORS, 7))
++
+
+ dnf_makecache_timer_name = "dnf-makecache.timer" if "@WITH_DNF5_OBSOLETES_DNF@" == "ON" else "dnf5-makecache.timer"
+ dnf_makecache_service_name = "dnf-makecache.service" if "@WITH_DNF5_OBSOLETES_DNF@" == "ON" else "dnf5-makecache.service"
+--
+2.55.0
+
diff --git a/dnf5.spec b/dnf5.spec
index 46f4c1a..ec84f27 100644
--- a/dnf5.spec
+++ b/dnf5.spec
@@ -5,6 +5,12 @@
%bcond dnf5_obsoletes_dnf %[0%{?fedora} > 40 || 0%{?rhel} > 10]
+%if 0%{?rhel} >= 11
+%bcond_with modulemd
+%else
+%bcond_without modulemd
+%endif
+
Name: dnf5
Version: %{project_version_prime}.%{project_version_major}.%{project_version_minor}.%{project_version_micro}
Release: 6%{?dist}
@@ -14,6 +20,8 @@ URL: https://github.com/rpm-software-management/dnf5
Source0: %{url}/archive/%{version}/dnf5-%{version}.tar.gz
Patch0: 0001-copr-update-detection-of-ELN.patch
Patch1: 0002-transaction-use-system_clock-to_time_t-for-start-tim.patch
+Patch2: 0003-spec-Disable-modularity-on-RHEL-11.patch
+Patch3: 0004-Build-If-modularity-is-disabled-leave-out-artefacts-.patch
Requires: libdnf5%{?_isa} = %{version}-%{release}
Requires: libdnf5-cli%{?_isa} = %{version}-%{release}
@@ -60,7 +68,9 @@ Provides: dnf5-command(leaves)
Provides: dnf5-command(list)
Provides: dnf5-command(makecache)
Provides: dnf5-command(mark)
+%if %{with modulemd}
Provides: dnf5-command(module)
+%endif
Provides: dnf5-command(offline)
Provides: dnf5-command(provides)
Provides: dnf5-command(reinstall)
@@ -97,7 +107,7 @@ Provides: dnf5-command(versionlock)
%bcond_without acl
%bcond_without comps
-%bcond_without modulemd
+
%bcond_without systemd
%bcond_with html
@@ -132,7 +142,9 @@ Provides: dnf5-command(versionlock)
# ========== versions of dependencies ==========
+%if %{with modulemd}
%global libmodulemd_version 2.5.0
+%endif
%global librepo_version 1.20.0
%global libsolv_version 0.7.36
%global sqlite_version 3.35.0
@@ -268,7 +280,7 @@ BuildRequires: python3-devel
%description
DNF5 is a command-line package manager that automates the process of installing,
upgrading, configuring, and removing computer programs in a consistent manner.
-It supports RPM packages, modulemd modules, and comps groups & environments.
+It supports RPM packages%{?with_modulemd:, modulemd modules,} and comps groups & environments.
%post
%if %{with dnf5_obsoletes_dnf}
@@ -345,7 +357,9 @@ It supports RPM packages, modulemd modules, and comps groups & environments.
%{_mandir}/man8/dnf5-list.8.*
%{_mandir}/man8/dnf5-makecache.8.*
%{_mandir}/man8/dnf5-mark.8.*
+%if %{with modulemd}
%{_mandir}/man8/dnf5-module.8.*
+%endif
%{_mandir}/man8/dnf5-offline.8.*
%{_mandir}/man8/dnf5-provides.8.*
%{_mandir}/man8/dnf5-reinstall.8.*
@@ -364,7 +378,9 @@ It supports RPM packages, modulemd modules, and comps groups & environments.
%{_mandir}/man7/dnf5-filtering.7.*
%{_mandir}/man7/dnf5-forcearch.7.*
%{_mandir}/man7/dnf5-installroot.7.*
+%if %{with modulemd}
%{_mandir}/man7/dnf5-modularity.7.*
+%endif
%{_mandir}/man7/dnf5-specs.7.*
%{_mandir}/man7/dnf5-system-state.7.*
%{_mandir}/man7/dnf5-changes-from-dnf4.7.*
@@ -395,7 +411,9 @@ It supports RPM packages, modulemd modules, and comps groups & environments.
%{_mandir}/man8/dnf-list.8.*
%{_mandir}/man8/dnf-makecache.8.*
%{_mandir}/man8/dnf-mark.8.*
+%if %{with modulemd}
%{_mandir}/man8/dnf-module.8.*
+%endif
%{_mandir}/man8/dnf-offline.8.*
%{_mandir}/man8/dnf-provides.8.*
%{_mandir}/man8/dnf-reinstall.8.*
@@ -414,7 +432,9 @@ It supports RPM packages, modulemd modules, and comps groups & environments.
%{_mandir}/man7/dnf-filtering.7.*
%{_mandir}/man7/dnf-forcearch.7.*
%{_mandir}/man7/dnf-installroot.7.*
+%if %{with modulemd}
%{_mandir}/man7/dnf-modularity.7.*
+%endif
%{_mandir}/man7/dnf-specs.7.*
%{_mandir}/man7/dnf-system-state.7.*
%{_mandir}/man7/dnf-changes-from-dnf4.7.*
@@ -440,7 +460,6 @@ It supports RPM packages, modulemd modules, and comps groups & environments.
%package -n libdnf5
Summary: Package management library
License: LGPL-2.1-or-later
-#Requires: libmodulemd{?_isa} >= {libmodulemd_version}
Requires: libsolv%{?_isa} >= %{libsolv_version}
Requires: librepo%{?_isa} >= %{librepo_version}
%if 0%{?fedora} >= 43 || 0%{?rhel} >= 11
@@ -481,7 +500,9 @@ Package management library.
%attr(0755, root, root) %ghost %dir %{_prefix}/lib/sysimage/libdnf5/comps_groups/groups
%verify(not md5 size mtime) %attr(0644, root, root) %ghost %{_prefix}/lib/sysimage/libdnf5/environments.toml
%verify(not md5 size mtime) %attr(0644, root, root) %ghost %{_prefix}/lib/sysimage/libdnf5/groups.toml
+%if %{with modulemd}
%verify(not md5 size mtime) %attr(0644, root, root) %ghost %{_prefix}/lib/sysimage/libdnf5/modules.toml
+%endif
%verify(not md5 size mtime) %attr(0644, root, root) %ghost %{_prefix}/lib/sysimage/libdnf5/nevras.toml
%attr(0755, root, root) %ghost %dir %{_prefix}/lib/sysimage/libdnf5/offline
%verify(not md5 size mtime) %attr(0644, root, root) %ghost %{_prefix}/lib/sysimage/libdnf5/offline/offline-transaction-state.toml
@@ -1086,7 +1107,11 @@ ln -s dnf-makecache.timer %{buildroot}%{_unitdir}/dnf5-makecache.timer
# own dirs and files that dnf5 creates on runtime
mkdir -p %{buildroot}%{_prefix}/lib/sysimage/libdnf5
for file in \
- environments.toml groups.toml modules.toml nevras.toml packages.toml \
+ environments.toml groups.toml \
+%if %{with modulemd}
+ modules.toml \
+%endif
+ nevras.toml packages.toml \
system.toml \
transaction_history.sqlite transaction_history.sqlite-shm \
transaction_history.sqlite-wal
@@ -1148,6 +1173,7 @@ mkdir -p %{buildroot}%{_libdir}/libdnf5/plugins
%changelog
* Wed Jul 08 2026 Petr Pisar <ppisar@redhat.com> - 5.4.2.1-6
- Fix building on i686 with fmt-12.1.0
+- Disable modularity on RHEL >= 11
* Thu Jun 25 2026 František Zatloukal <fzatlouk@redhat.com> - 5.4.2.1-5
- Rebuilt for fmt/spdlog
reply other threads:[~2026-07-08 13:38 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178351791866.1.538858162052825488.rpms-dnf5-93f30cde3468@fedoraproject.org \
--to=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox