From python3-foo
packages automatically generate python3.X-foo
Obsoletes tags on CentOS/RHEL
Resolves: rhbz#1990421
This commit is contained in:
parent
a9fc87a178
commit
5afdda71e2
@ -1,7 +1,7 @@
|
|||||||
Name: python-rpm-generators
|
Name: python-rpm-generators
|
||||||
Summary: Dependency generators for Python RPMs
|
Summary: Dependency generators for Python RPMs
|
||||||
Version: 12
|
Version: 12
|
||||||
Release: 7%{?dist}
|
Release: 8%{?dist}
|
||||||
|
|
||||||
# Originally all those files were part of RPM, so license is kept here
|
# Originally all those files were part of RPM, so license is kept here
|
||||||
License: GPLv2+
|
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)
|
# We have parametric macro generators, we need RPM 4.16 (4.15.90+ is 4.16 alpha)
|
||||||
Requires: rpm > 4.15.90-0
|
Requires: rpm > 4.15.90-0
|
||||||
# This contains the Lua functions we use:
|
# 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
|
%description -n python3-rpm-generators
|
||||||
%{summary}.
|
%{summary}.
|
||||||
@ -47,6 +47,11 @@ install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} *.py
|
|||||||
%{_rpmconfigdir}/pythonbundles.py
|
%{_rpmconfigdir}/pythonbundles.py
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jan 26 2022 Tomas Orsava <torsava@redhat.com> - 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 <mboddu@redhat.com> - 12-7
|
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 12-7
|
||||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
Related: rhbz#1991688
|
Related: rhbz#1991688
|
||||||
|
@ -16,4 +16,27 @@
|
|||||||
end
|
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 ^/
|
%__pythonname_path ^/
|
||||||
|
@ -34,3 +34,41 @@ test $(rpm -qp --provides ${RPMDIR}/python3-python_provide-0-0.noarch.rpm | grep
|
|||||||
echo "Provides for python3-py_provides"
|
echo "Provides for python3-py_provides"
|
||||||
rpm -qp --provides ${RPMDIR}/python3-py_provides-0-0.noarch.rpm
|
rpm -qp --provides ${RPMDIR}/python3-py_provides-0-0.noarch.rpm
|
||||||
test $(rpm -qp --provides ${RPMDIR}/python3-py_provides-0-0.noarch.rpm | grep python-py_provides | wc -l) -eq 1
|
test $(rpm -qp --provides ${RPMDIR}/python3-py_provides-0-0.noarch.rpm | grep python-py_provides | wc -l) -eq 1
|
||||||
|
|
||||||
|
|
||||||
|
echo "Obsoletes for python${X_Y}-foo"
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python${X_Y}-foo-0-0.noarch.rpm
|
||||||
|
test $(rpm -qp --obsoletes ${RPMDIR}/python${X_Y}-foo-0-0.noarch.rpm | wc -l) -eq 0
|
||||||
|
|
||||||
|
echo "Obsoletes for python3-foo"
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python3-foo-0-0.noarch.rpm
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python3-foo-0-0.noarch.rpm | grep -q '^python39-foo < 0-0$'
|
||||||
|
test $(rpm -qp --obsoletes ${RPMDIR}/python3-foo-0-0.noarch.rpm | wc -l) -eq 1
|
||||||
|
|
||||||
|
echo "Obsoletes for python2-foo"
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python2-foo-0-0.noarch.rpm
|
||||||
|
test $(rpm -qp --obsoletes ${RPMDIR}/python2-foo-0-0.noarch.rpm | wc -l) -eq 0
|
||||||
|
|
||||||
|
echo "Obsoletes for python-foo"
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python-foo-0-0.noarch.rpm
|
||||||
|
test $(rpm -qp --obsoletes ${RPMDIR}/python-foo-0-0.noarch.rpm | wc -l) -eq 0
|
||||||
|
|
||||||
|
echo "Obsoletes for python3.5-foo"
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python3.5-foo-0-0.noarch.rpm
|
||||||
|
test $(rpm -qp --obsoletes ${RPMDIR}/python3.5-foo-0-0.noarch.rpm | wc -l) -eq 0
|
||||||
|
|
||||||
|
echo "Obsoletes for python3-python_provide"
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python3-python_provide-0-0.noarch.rpm
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python3-python_provide-0-0.noarch.rpm | grep -q '^python-python_provide < 0-0$'
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python3-python_provide-0-0.noarch.rpm | grep -q '^python39-python_provide < 0-0$'
|
||||||
|
test $(rpm -qp --obsoletes ${RPMDIR}/python3-python_provide-0-0.noarch.rpm | grep python-python_provide | wc -l) -eq 1
|
||||||
|
test $(rpm -qp --obsoletes ${RPMDIR}/python3-python_provide-0-0.noarch.rpm | grep python39-python_provide | wc -l) -eq 1
|
||||||
|
test $(rpm -qp --obsoletes ${RPMDIR}/python3-python_provide-0-0.noarch.rpm | wc -l) -eq 2
|
||||||
|
|
||||||
|
echo "Obsoletes for python3-py_provides"
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python3-py_provides-0-0.noarch.rpm
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python3-py_provides-0-0.noarch.rpm | grep -q '^python-py_provides < 0-0$' && exit 1 || true
|
||||||
|
rpm -qp --obsoletes ${RPMDIR}/python3-py_provides-0-0.noarch.rpm | grep -q '^python39-py_provides < 0-0$'
|
||||||
|
test $(rpm -qp --obsoletes ${RPMDIR}/python3-py_provides-0-0.noarch.rpm | grep python39-py_provides | wc -l) -eq 1
|
||||||
|
test $(rpm -qp --obsoletes ${RPMDIR}/python3-py_provides-0-0.noarch.rpm | wc -l) -eq 1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user