Compare commits
10 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b284634b22 | ||
|
|
0bb99dc9e9 | ||
|
|
db95d6e735 | ||
|
|
03fc0de4ac | ||
|
|
91729cf8a0 | ||
|
|
02ef9fde40 | ||
|
|
223b71bb5e | ||
|
|
f3d6832f4d | ||
|
|
592400f58b | ||
|
|
52372a464c |
8 changed files with 75 additions and 64 deletions
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
1
|
||||||
45
plan.fmf
Normal file
45
plan.fmf
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
execute:
|
||||||
|
how: tmt
|
||||||
|
|
||||||
|
discover:
|
||||||
|
- name: same_repo
|
||||||
|
how: shell
|
||||||
|
dist-git-source: true
|
||||||
|
dist-git-download-only: true
|
||||||
|
tests:
|
||||||
|
- name: pythonabi
|
||||||
|
path: /tests
|
||||||
|
test: ./pythonabi.sh
|
||||||
|
- name: pythonname
|
||||||
|
path: /tests
|
||||||
|
test: ./pythonname.sh
|
||||||
|
- name: pythondist
|
||||||
|
path: /tests
|
||||||
|
test: ./pythondist.sh
|
||||||
|
- name: console_script
|
||||||
|
path: /tests
|
||||||
|
test: ./console_script.sh
|
||||||
|
- name: pytest
|
||||||
|
test: cd $TMT_SOURCE_DIR && ./tests/download_data_and_run_pytest.sh
|
||||||
|
|
||||||
|
prepare:
|
||||||
|
- name: Install dependencies
|
||||||
|
how: install
|
||||||
|
package:
|
||||||
|
- rpm-build
|
||||||
|
- rpmdevtools
|
||||||
|
- fedpkg-minimal
|
||||||
|
- python3-devel
|
||||||
|
- python3-pip
|
||||||
|
- python3-pytest
|
||||||
|
- python3-pyyaml
|
||||||
|
- python3-setuptools
|
||||||
|
- python3-wheel
|
||||||
|
- dnf
|
||||||
|
- name: Update packages
|
||||||
|
how: shell
|
||||||
|
script: dnf upgrade -y
|
||||||
|
- name: rpm_qa
|
||||||
|
order: 100
|
||||||
|
how: shell
|
||||||
|
script: rpm -qa | sort | tee $TMT_PLAN_DATA/rpmqa.txt
|
||||||
|
|
@ -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: 14
|
Version: 14
|
||||||
Release: 7%{?dist}
|
Release: 13%{?dist}
|
||||||
|
|
||||||
Url: https://src.fedoraproject.org/rpms/python-rpm-generators
|
Url: https://src.fedoraproject.org/rpms/python-rpm-generators
|
||||||
|
|
||||||
|
|
@ -56,6 +56,24 @@ install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} *.py
|
||||||
%{_rpmconfigdir}/pythonbundles.py
|
%{_rpmconfigdir}/pythonbundles.py
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 14-13
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 14-12
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 14-11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 14-10
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 14-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Oct 03 2023 Miro Hrončok <mhroncok@redhat.com> - 14-8
|
||||||
|
- Avoid DeprecationWarning: Implicit None on return values is deprecated and will raise KeyErrors
|
||||||
|
|
||||||
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 14-7
|
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 14-7
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -94,8 +94,8 @@ class Distribution(PathDistribution):
|
||||||
# that it works also on previous Python/importlib_metadata versions.
|
# that it works also on previous Python/importlib_metadata versions.
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
"""Return the 'Name' metadata for the distribution package."""
|
"""Return the 'Name' metadata for the distribution package or None."""
|
||||||
return self.metadata['Name']
|
return self.metadata.get('Name')
|
||||||
|
|
||||||
def _parse_py_version(self, path):
|
def _parse_py_version(self, path):
|
||||||
# Try to parse the Python version from the path the metadata
|
# Try to parse the Python version from the path the metadata
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
%__pythonname_provides() %{lua:
|
%__pythonname_provides() %{lua:
|
||||||
local python = require 'fedora.srpm.python'
|
local python = require 'fedora.srpm.python'
|
||||||
-- this macro is called for each file in a package, the path being in %1
|
local name = rpm.expand('%{name}')
|
||||||
-- 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 evr = rpm.expand('%{?epoch:%{epoch}:}%{version}-%{release}')
|
||||||
local provides = python.python_altprovides_once(name, evr)
|
local provides = python.python_altprovides_once(name, evr)
|
||||||
-- provides is either an array/table or nil
|
-- provides is either an array/table or nil
|
||||||
|
|
@ -23,10 +20,7 @@
|
||||||
-- In Fedora this is not needed as we don't ship ecosystem packages
|
-- In Fedora this is not needed as we don't ship ecosystem packages
|
||||||
-- for alternative Python interpreters.
|
-- for alternative Python interpreters.
|
||||||
local python = require 'fedora.srpm.python'
|
local python = require 'fedora.srpm.python'
|
||||||
-- this macro is called for each file in a package, the path being in %1
|
local name = rpm.expand('%{name}')
|
||||||
-- 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 evr = rpm.expand('%{?epoch:%{epoch}:}%{version}-%{release}')
|
||||||
local obsoletes = python.python_altobsoletes_once(name, evr)
|
local obsoletes = python.python_altobsoletes_once(name, evr)
|
||||||
-- obsoletes is either an array/table or nil
|
-- obsoletes is either an array/table or nil
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,11 @@
|
||||||
# When the tests run in python-rpm-generators,
|
# When the tests run in python-rpm-generators,
|
||||||
# the structure on disk does not match the dist-git repository.
|
# the structure on disk does not match the dist-git repository.
|
||||||
# We apparently must use the standard-test-source role to grab the sources.
|
# We apparently must use the standard-test-source role to grab the sources.
|
||||||
# OTOH in other packages, we must use fedpkg(-minimal).
|
# OTOH in other packages, we must use fedpkg(-minimal) or centpkg(-minimal),
|
||||||
# The --force flag is required in full-blown fedpkg (the source is unused in spec),
|
# depending on the destination OS.
|
||||||
# and it is ignored in fedpkg-minimal (all sources are always downloaded).
|
# The --force flag is required in full-blown fedpkg/centpkg (the source is unused in spec),
|
||||||
test -f test-sources-*.tar.gz || fedpkg sources --force
|
# and it is ignored in fedpkg/centpkg-minimal (all sources are always downloaded).
|
||||||
|
test -f test-sources-*.tar.gz || fedpkg sources --force || centpkg sources --force
|
||||||
|
|
||||||
tar -xvf test-sources-*.tar.gz -C ./tests/data/scripts_pythondistdeps/
|
tar -xvf test-sources-*.tar.gz -C ./tests/data/scripts_pythondistdeps/
|
||||||
cd tests/
|
cd tests/
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ test $(rpm -qp --obsoletes ${RPMDIR}/python${X_Y}-foo-0-0.noarch.rpm | wc -l) -e
|
||||||
echo "Obsoletes for python3-foo"
|
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
|
||||||
# In ELN/RHEL the pythonX.Y-* Obsoletes is generated, but not in Fedora, so we check for it explicitly.
|
# In ELN/RHEL the pythonX.Y-* Obsoletes is generated, but not in Fedora, so we check for it explicitly.
|
||||||
rpm -qp --obsoletes ${RPMDIR}/python3-foo-0-0.noarch.rpm | grep -q '^python'${X_Y}'-py_provides < 0-0$' && exit 1 || true
|
rpm -qp --obsoletes ${RPMDIR}/python3-foo-0-0.noarch.rpm | grep -q '^python'${X_Y}'-foo < 0-0$' && exit 1 || true
|
||||||
test $(rpm -qp --obsoletes ${RPMDIR}/python3-foo-0-0.noarch.rpm | wc -l) -eq 0
|
test $(rpm -qp --obsoletes ${RPMDIR}/python3-foo-0-0.noarch.rpm | wc -l) -eq 0
|
||||||
|
|
||||||
echo "Obsoletes for python2-foo"
|
echo "Obsoletes for python2-foo"
|
||||||
|
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
---
|
|
||||||
- hosts: localhost
|
|
||||||
tags:
|
|
||||||
- classic
|
|
||||||
tasks:
|
|
||||||
- dnf:
|
|
||||||
name: "*"
|
|
||||||
state: latest
|
|
||||||
|
|
||||||
- hosts: localhost
|
|
||||||
tags:
|
|
||||||
- classic
|
|
||||||
pre_tasks:
|
|
||||||
- import_role:
|
|
||||||
name: standard-test-source
|
|
||||||
vars:
|
|
||||||
fetch_only: True
|
|
||||||
roles:
|
|
||||||
- role: standard-test-basic
|
|
||||||
tests:
|
|
||||||
- rpm_qa:
|
|
||||||
dir: .
|
|
||||||
run: rpm -qa | sort
|
|
||||||
- pythonabi:
|
|
||||||
dir: .
|
|
||||||
run: ./pythonabi.sh
|
|
||||||
- pythonname:
|
|
||||||
dir: .
|
|
||||||
run: ./pythonname.sh
|
|
||||||
- pythondist:
|
|
||||||
dir: .
|
|
||||||
run: ./pythondist.sh
|
|
||||||
- console_script:
|
|
||||||
dir: .
|
|
||||||
run: ./console_script.sh
|
|
||||||
- pytest:
|
|
||||||
dir: .
|
|
||||||
run: ./download_data_and_run_pytest.sh
|
|
||||||
required_packages:
|
|
||||||
- rpm-build
|
|
||||||
- rpmdevtools
|
|
||||||
- fedpkg-minimal
|
|
||||||
- python3-devel
|
|
||||||
- python3-pip
|
|
||||||
- python3-pytest
|
|
||||||
- python3-pyyaml
|
|
||||||
- python3-setuptools
|
|
||||||
- python3-wheel
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue