From a933643f792933caebe77c3561accd549e18b9ee Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Mar 01 2022 10:07:58 +0000 Subject: import python-rpm-generators-12-8.el9 --- diff --git a/SOURCES/pythonname.attr b/SOURCES/pythonname.attr index 85969d7..07d8df5 100644 --- a/SOURCES/pythonname.attr +++ b/SOURCES/pythonname.attr @@ -8,7 +8,7 @@ local provides = python.python_altprovides_once(name, evr) -- provides is either an array/table or nil -- nil means the function was already called with the same arguments: - -- either with another file in %1 or manually via %py_provide + -- either with another file in %1 or manually via %py_provides if provides then for i, provide in ipairs(provides) do print(provide .. ' ') @@ -16,4 +16,27 @@ end } +%__pythonname_obsoletes() %{?rhel:%{lua: + -- On CentOS/RHEL we automatically generate Obsoletes tags in the form: + -- package python3-foo -> Obsoletes: python3.XY-foo + -- This provides a clean upgrade path between major versions of CentOS/RHEL. + -- In Fedora this is not needed as we don't ship ecosystem packages + -- for alternative Python interpreters. + local python = require 'fedora.srpm.python' + -- this macro is called for each file in a package, the path being in %1 + -- but we don't need to know the path, so we would get for each file: Macro %1 defined but not used within scope + -- in here, we expand %name conditionally on %1 to suppress the warning + local name = rpm.expand('%{?1:%{name}}') + local evr = rpm.expand('%{?epoch:%{epoch}:}%{version}-%{release}') + local obsoletes = python.python_altobsoletes_once(name, evr) + -- obsoletes is either an array/table or nil + -- nil means the function was already called with the same arguments: + -- either with another file in %1 or manually via %py_provides + if obsoletes then + for i, obsolete in ipairs(obsoletes) do + print(obsolete .. ' ') + end + end +}} + %__pythonname_path ^/ diff --git a/SPECS/python-rpm-generators.spec b/SPECS/python-rpm-generators.spec index ea5002e..8999c5d 100644 --- a/SPECS/python-rpm-generators.spec +++ b/SPECS/python-rpm-generators.spec @@ -1,7 +1,7 @@ Name: python-rpm-generators Summary: Dependency generators for Python RPMs Version: 12 -Release: 7%{?dist} +Release: 8%{?dist} # Originally all those files were part of RPM, so license is kept here License: GPLv2+ @@ -25,7 +25,7 @@ Requires: python3-packaging # We have parametric macro generators, we need RPM 4.16 (4.15.90+ is 4.16 alpha) Requires: rpm > 4.15.90-0 # This contains the Lua functions we use: -Requires: python-srpm-macros >= 3.8-5 +Requires: python-srpm-macros >= 3.9-49 %description -n python3-rpm-generators %{summary}. @@ -47,6 +47,11 @@ install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} *.py %{_rpmconfigdir}/pythonbundles.py %changelog +* Wed Jan 26 2022 Tomas Orsava - 12-8 +- From `python3-foo` packages automatically generate `python3.X-foo` Obsoletes + tags on CentOS/RHEL +- Resolves: rhbz#1990421 + * Tue Aug 10 2021 Mohan Boddu - 12-7 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688