Compare commits

...
Sign in to create a new pull request.

10 commits

Author SHA1 Message Date
Lukáš Zachar
b284634b22 Drop STI and use tmt instead
Resolves: rhbz#2383043
2025-08-15 17:33:08 +02:00
Fedora Release Engineering
0bb99dc9e9 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 10:14:53 +00:00
Fedora Release Engineering
db95d6e735 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 18:59:56 +00:00
Karolina Surma
03fc0de4ac Add centpkg to use in CentOS Stream
If tests are run in this repository, they exist.
Other packages in Fedora require fedpkg-minimal to download the sources.
We also want to run this test in CentOS Stream where fedpkg-minimal is
not available, hence adding centpkg invocation.
The change will have no effect in this repository, but is essential for
the smooth tests run of other components.
2024-11-06 12:31:35 +01:00
Karolina Surma
91729cf8a0 CI: Look for the correct obsolete name in tests 2024-08-19 14:24:39 +02:00
Fedora Release Engineering
02ef9fde40 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 15:32:13 +00:00
Fedora Release Engineering
223b71bb5e Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 10:19:05 +00:00
Fedora Release Engineering
f3d6832f4d Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 06:41:25 +00:00
Miro Hrončok
592400f58b Remove a no longer needed workaround for RPM <= 4.16 warning
This removes an ugly hack that was used to get rid of:

    warning: Macro %1 defined but not used within scope

I've noticed the %_pythonname_obsoletes generator does not expand %1
on non-RHELs and yet the warning is not shown.
When debugging the missing warning,
I've noticed it is never shown at all.

According to RPM upstream, the warning was an undesired artifact:
https://github.com/rpm-software-management/rpm/discussions/2501

It was purposefully removed starting with RPM 4.17.
2023-10-06 11:59:15 +02:00
Miro Hrončok
52372a464c Avoid DeprecationWarning: Implicit None on return values is deprecated and will raise KeyErrors
The warning only happened on corrupted metadata.

The warning originates in 880a6219a1
2023-10-03 12:07:49 +02:00
8 changed files with 75 additions and 64 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

45
plan.fmf Normal file
View 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

View file

@ -1,7 +1,7 @@
Name: python-rpm-generators
Summary: Dependency generators for Python RPMs
Version: 14
Release: 7%{?dist}
Release: 13%{?dist}
Url: https://src.fedoraproject.org/rpms/python-rpm-generators
@ -56,6 +56,24 @@ install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} *.py
%{_rpmconfigdir}/pythonbundles.py
%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
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

View file

@ -94,8 +94,8 @@ class Distribution(PathDistribution):
# that it works also on previous Python/importlib_metadata versions.
@property
def name(self):
"""Return the 'Name' metadata for the distribution package."""
return self.metadata['Name']
"""Return the 'Name' metadata for the distribution package or None."""
return self.metadata.get('Name')
def _parse_py_version(self, path):
# Try to parse the Python version from the path the metadata

View file

@ -1,9 +1,6 @@
%__pythonname_provides() %{lua:
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 name = rpm.expand('%{name}')
local evr = rpm.expand('%{?epoch:%{epoch}:}%{version}-%{release}')
local provides = python.python_altprovides_once(name, evr)
-- 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
-- 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 name = rpm.expand('%{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

View file

@ -4,10 +4,11 @@
# When the tests run in python-rpm-generators,
# the structure on disk does not match the dist-git repository.
# We apparently must use the standard-test-source role to grab the sources.
# OTOH in other packages, we must use fedpkg(-minimal).
# The --force flag is required in full-blown fedpkg (the source is unused in spec),
# and it is ignored in fedpkg-minimal (all sources are always downloaded).
test -f test-sources-*.tar.gz || fedpkg sources --force
# OTOH in other packages, we must use fedpkg(-minimal) or centpkg(-minimal),
# depending on the destination OS.
# The --force flag is required in full-blown fedpkg/centpkg (the source is unused in spec),
# 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/
cd tests/

View file

@ -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"
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.
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
echo "Obsoletes for python2-foo"

View file

@ -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