[packages/rpm/rpm-4.20] - updated dependencies, library attr, cmake macro
qboosh
qboosh at pld-linux.org
Fri Sep 18 21:44:43 CEST 2026
commit fd0fc5812d9781450cdb942ad643bdf14ba97634
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Fri Sep 18 21:44:50 2026 +0200
- updated dependencies, library attr, cmake macro
elf-color.patch | 11 ++++++
rpm.spec | 109 +++++++++++++++++++++++++++++---------------------------
2 files changed, 67 insertions(+), 53 deletions(-)
---
diff --git a/rpm.spec b/rpm.spec
index 4bdbce5..43bcd3b 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -1,7 +1,4 @@
#
-# TODO:
-# - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
-#
# Conditional build:
%bcond_without apidocs # Doxygen based API documentation
%bcond_without python3 # Python (3) bindings
@@ -89,6 +86,7 @@ Patch30: no-exe-for-elf-req.patch
Patch31: check-valid-arch-early.patch
Patch32: group-lookup.patch
Patch33: disable-sysusers.patch
+Patch36: elf-color.patch
URL: https://rpm.org/
BuildRequires: acl-devel
%{?with_audit:BuildRequires: audit-libs-devel}
@@ -97,6 +95,8 @@ BuildRequires: bubblewrap
BuildRequires: cmake >= 3.18
%{?with_plugins:BuildRequires: dbus-devel >= 1.3}
BuildRequires: elfutils-devel >= 0.159
+# -fhardened
+BuildRequires: gcc >= 6:14
BuildRequires: gettext-tools >= 0.19.2
%{?with_imaevm:BuildRequires: ima-evm-utils-devel >= 1.0}
BuildRequires: libarchive-devel
@@ -109,21 +109,23 @@ BuildRequires: libmagic-devel
# needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
BuildRequires: libstdc++-devel
BuildRequires: lua-devel >= 5.2
+BuildRequires: pandoc
BuildRequires: patch >= 2.2
BuildRequires: pkgconfig
BuildRequires: popt-devel >= %{popt_ver}
-BuildRequires: python3-modules >= 1:3.2
+BuildRequires: python3-modules >= 1:3.7
%if %{with python3}
-BuildRequires: python3-devel >= 1:3.2
+BuildRequires: python3-devel >= 1:3.7
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.750
%endif
BuildRequires: readline-devel
%{?with_sequoia:BuildRequires: rpm-sequoia-devel >= 1.4.0}
BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 2.047
BuildRequires: sqlite3-devel >= 3.22.0
BuildRequires: tcl
-BuildRequires: xz-devel
+BuildRequires: xz-devel >= 1:5.2.0
BuildRequires: zlib-devel >= 1.0.5
BuildRequires: zstd-devel >= 1.3.8
%if %{with apidocs}
@@ -281,7 +283,7 @@ Requires: libsepol-devel
Requires: lua-devel >= 5.2
Requires: popt-devel >= %{popt_ver}
Requires: sqlite3-devel >= 3.22.0
-Requires: xz-devel
+Requires: xz-devel >= 1:5.2.0
Requires: zlib-devel >= 1.0.5
Requires: zstd-devel >= 1.3.8
Obsoletes: rpm-static < 1:4.15
@@ -387,7 +389,7 @@ Requires: sh-utils
Requires: tar >= 1:1.22
Requires: textutils
Requires: which
-Requires: xz
+Requires: xz >= 1:5.2.0
Provides: rpmbuild(noauto) = 3
%ifarch %{x8664}
Conflicts: automake < 1:1.7.9-2
@@ -421,7 +423,7 @@ Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a
Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM
Group: Development/Languages/Python
Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: python3
+Requires: python3 >= 1:3.7
Obsoletes: python-rpm < 1:4.16.0
Obsoletes: rpm-python < 4.0.2-50
@@ -648,6 +650,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
%patch -P 31 -p1
%patch -P 32 -p1
%patch -P 33 -p1
+%patch -P 36 -p1
# generate Group translations to *.po
awk -f %{SOURCE6} %{SOURCE5}
@@ -667,31 +670,29 @@ __CXX=$(which $(c++ -dumpmachine)-g++ 2>/dev/null)
%{__sed} -i -e "s|@__CC@|$__CC|" -e "s|@__CXX@|$__CXX|" macros.in
%build
-mkdir -p build-cmake
-cd build-cmake
-%cmake ../ \
+%cmake -B build-cmake \
-DCMAKE_INSTALL_DOCDIR=%{_docdir} \
- %{cmake_on_off python3 ENABLE_PYTHON} \
- %{cmake_on_off plugins ENABLE_PLUGINS} \
- %{cmake_on_off audit WITH_AUDIT} \
- %{cmake_on_off imaevm WITH_IMAEVM} \
- %{cmake_on_off selinux WITH_SELINUX} \
- %{cmake_on_off dbus WITH_DBUS} \
- %{cmake_on_off fsverity WITH_FSVERITY} \
- %{cmake_on_off apidocs WITH_DOXYGEN} \
- %{cmake_on_off sequoia WITH_SEQUOIA} \
- %{!?with_sequoia:-DWITH_LEGACY_OPENPGP=ON} \
- -DMKTREE_BACKEND=rootfs \
- -DENABLE_SQLITE=ON \
- -DENABLE_NDB=ON \
-DENABLE_BDB_RO=ON \
+ -DENABLE_NDB=ON \
+ -DENABLE_PYTHON=%{__ON_OFF python3} \
+ -DENABLE_PLUGINS=%{__ON_OFF plugins} \
+ -DENABLE_SQLITE=ON \
+ -DMKTREE_BACKEND=rootfs \
+ -DRPM_VENDOR=pld \
+ -DWITH_ACL=ON \
+ -DWITH_AUDIT=%{__ON_OFF audit} \
-DWITH_CAP=ON \
+ -DWITH_DBUS=%{__ON_OFF dbus} \
+ -DWITH_DOXYGEN=%{__ON_OFF apidocs} \
-DWITH_FAPOLICYD=ON \
- -DWITH_ACL=ON \
- -DWITH_ZSTD=ON \
- -DRPM_VENDOR=pld
+ -DWITH_FSVERITY=%{__ON_OFF fsverity} \
+ -DWITH_IMAEVM=%{__ON_OFF imaevm} \
+ %{!?with_sequoia:-DWITH_LEGACY_OPENPGP=ON} \
+ -DWITH_SELINUX=%{__ON_OFF selinux} \
+ -DWITH_SEQUOIA=%{__ON_OFF sequoia} \
+ -DWITH_ZSTD=ON
-%{__make}
+%{__make} -C build-cmake
%install
rm -rf $RPM_BUILD_ROOT
@@ -950,22 +951,24 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
%files lib
%defattr(644,root,root,755)
-%attr(755,root,root) %ghost /%{_lib}/librpm.so.10
-%attr(755,root,root) /%{_lib}/librpm.so.*.*.*
-%attr(755,root,root) %ghost /%{_lib}/librpmbuild.so.10
-%attr(755,root,root) /%{_lib}/librpmbuild.so.*.*.*
-%attr(755,root,root) %ghost /%{_lib}/librpmio.so.10
-%attr(755,root,root) /%{_lib}/librpmio.so.*.*.*
-%attr(755,root,root) %ghost /%{_lib}/librpmsign.so.10
-%attr(755,root,root) /%{_lib}/librpmsign.so.*.*.*
-%{?with_plugins:%dir %{_libdir}/rpm-plugins}
+%ghost /%{_lib}/librpm.so.10
+/%{_lib}/librpm.so.*.*.*
+%ghost /%{_lib}/librpmbuild.so.10
+/%{_lib}/librpmbuild.so.*.*.*
+%ghost /%{_lib}/librpmio.so.10
+/%{_lib}/librpmio.so.*.*.*
+%ghost /%{_lib}/librpmsign.so.10
+/%{_lib}/librpmsign.so.*.*.*
+%if %{with plugins}
+%dir %{_libdir}/rpm-plugins
+%endif
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/librpm.so
-%attr(755,root,root) %{_libdir}/librpmbuild.so
-%attr(755,root,root) %{_libdir}/librpmio.so
-%attr(755,root,root) %{_libdir}/librpmsign.so
+%{_libdir}/librpm.so
+%{_libdir}/librpmbuild.so
+%{_libdir}/librpmio.so
+%{_libdir}/librpmsign.so
%{_includedir}/rpm
%{_pkgconfigdir}/rpm.pc
%{_libdir}/cmake/rpm
@@ -1033,7 +1036,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
%files -n python3-rpm
%defattr(644,root,root,755)
%dir %{py3_sitedir}/rpm
-%attr(755,root,root) %{py3_sitedir}/rpm/*.so
+%{py3_sitedir}/rpm/*.so
%{py3_sitedir}/rpm/*.py
%{py3_sitedir}/rpm-%{version}-py*.egg-info
%{py3_sitedir}/rpm/__pycache__
@@ -1043,20 +1046,20 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
%files plugin-audit
%defattr(644,root,root,755)
%{_rpmlibdir}/macros.d/macros.transaction_audit
-%attr(755,root,root) %{_libdir}/rpm-plugins/audit.so
+%{_libdir}/rpm-plugins/audit.so
%{_mandir}/man8/rpm-plugin-audit.8*
%files plugin-syslog
%defattr(644,root,root,755)
%{_rpmlibdir}/macros.d/macros.transaction_syslog
-%attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so
+%{_libdir}/rpm-plugins/syslog.so
%{_mandir}/man8/rpm-plugin-syslog.8*
%if %{with dbus}
%files plugin-systemd-inhibit
%defattr(644,root,root,755)
%{_rpmlibdir}/macros.d/macros.transaction_systemd_inhibit
-%attr(755,root,root) %{_libdir}/rpm-plugins/systemd_inhibit.so
+%{_libdir}/rpm-plugins/systemd_inhibit.so
%{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
%endif
@@ -1064,40 +1067,40 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
%files plugin-ima
%defattr(644,root,root,755)
%{_rpmlibdir}/macros.d/macros.transaction_ima
-%attr(755,root,root) %{_libdir}/rpm-plugins/ima.so
+%{_libdir}/rpm-plugins/ima.so
%{_mandir}/man8/rpm-plugin-ima.8*
%endif
%files plugin-prioreset
%defattr(644,root,root,755)
%{_rpmlibdir}/macros.d/macros.transaction_prioreset
-%attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so
+%{_libdir}/rpm-plugins/prioreset.so
%{_mandir}/man8/rpm-plugin-prioreset.8*
%files plugin-selinux
%defattr(644,root,root,755)
%{_rpmlibdir}/macros.d/macros.transaction_selinux
-%attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
+%{_libdir}/rpm-plugins/selinux.so
%{_mandir}/man8/rpm-plugin-selinux.8*
%if %{with fsverity}
%files plugin-fsverity
%defattr(644,root,root,755)
%{_rpmlibdir}/macros.d/macros.transaction_fsverity
-%attr(755,root,root) %{_libdir}/rpm-plugins/fsverity.so
+%{_libdir}/rpm-plugins/fsverity.so
%endif
%files plugin-fapolicyd
%defattr(644,root,root,755)
%{_rpmlibdir}/macros.d/macros.transaction_fapolicyd
-%attr(755,root,root) %{_libdir}/rpm-plugins/fapolicyd.so
+%{_libdir}/rpm-plugins/fapolicyd.so
%{_mandir}/man8/rpm-plugin-fapolicyd.8*
%if %{with dbus}
%files plugin-dbus-announce
%defattr(644,root,root,755)
%{_rpmlibdir}/macros.d/macros.transaction_dbus_announce
-%attr(755,root,root) %{_libdir}/rpm-plugins/dbus_announce.so
+%{_libdir}/rpm-plugins/dbus_announce.so
%{_mandir}/man8/rpm-plugin-dbus-announce.8*
%{_datadir}/dbus-1/system.d/org.rpm.conf
%endif
@@ -1106,7 +1109,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
%files plugin-unshare
%defattr(644,root,root,755)
%{_rpmlibdir}/macros.d/macros.transaction_unshare
-%attr(755,root,root) %{_libdir}/rpm-plugins/unshare.so
+%{_libdir}/rpm-plugins/unshare.so
%{_mandir}/man8/rpm-plugin-unshare.8*
diff --git a/elf-color.patch b/elf-color.patch
new file mode 100644
index 0000000..435ab51
--- /dev/null
+++ b/elf-color.patch
@@ -0,0 +1,11 @@
+--- rpm-4.20.1/build/rpmfc.c.orig 2025-07-19 09:52:45.568551577 +0200
++++ rpm-4.20.1/build/rpmfc.c 2026-08-09 12:58:58.340790840 +0200
+@@ -1436,7 +1436,7 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t arg
+ fc->ftype[ix] = xstrdup(ftype);
+
+ /* Add ELF colors */
+- if (S_ISREG(mode) && is_executable)
++ if (S_ISREG(mode))
+ fc->fcolor[ix] = getElfColor(s);
+ }
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/rpm.git/commitdiff/fd0fc5812d9781450cdb942ad643bdf14ba97634
More information about the pld-cvs-commit
mailing list