Commit Graph

180 Commits

Author SHA1 Message Date
Miro Hrončok
55957facfa CI: python-virtualenv: Drop an unused dependency on python3-flaky
We don't have flaky in EL 10 yet.

(cherry picked from commit 89374b9107)
2024-11-15 00:29:10 +01:00
Miro Hrončok
4133370dea CI: Use poetry-core in python-clikit.spec for EL10 compatibility
(cherry picked from commit 4a4614d13a)
2024-11-15 00:29:10 +01:00
Miro Hrončok
388f35a082 CI: Use flit_core in python-entrypoints.spec for EL10 compatibility
(cherry picked from commit 32a3b5613f)
2024-11-15 00:29:10 +01:00
Miro Hrončok
07644782c4 CI: Use tomli rather than toml in fake-requirements.spec
toml is deprecated and not available on EL10.

(cherry picked from commit dddc9bf556)
2024-11-14 17:18:28 +01:00
Lumir Balhar
e161cd449e Mark the license in the specfile as SPDX formula
(cherry picked from commit c8abf80acd)
2024-11-14 17:18:21 +01:00
Miro Hrončok
e4aa6401af CI: There is no EPEL 10 Next, use plain EPEL mock chroots on RHEL 10+
(cherry picked from commit 6f1ac1b126)
2024-11-14 17:18:03 +01:00
Miro Hrončok
fdb5b80341 Extend rpmlintrc to filer out further non-errors
We got:

    pyproject-srpm-macros.noarch: W: unexpanded-macro Summary(C) %pyproject_buildrequires
    pyproject-srpm-macros.noarch: W: unexpanded-macro %description -l C %pyproject_buildrequires
    pyproject-srpm-macros.noarch: W: unexpanded-macro %description -l C %generate_buildrequires
    pyproject-rpm-macros.noarch: E: spelling-error ('cfg', '%description -l en_US cfg -> cf, cg, cog')
    pyproject-rpm-macros.noarch: E: spelling-error ('toml', '%description -l en_US toml -> tom, tome, toms')
    pyproject-rpm-macros.noarch: E: spelling-error ('setuptools', '%description -l en_US setuptools -> setup tools, setup-tools, footstools')
    pyproject-rpm-macros.src: E: spelling-error ('cfg', '%description -l en_US cfg -> cf, cg, cog')
    pyproject-rpm-macros.src: E: spelling-error ('toml', '%description -l en_US toml -> tom, tome, toms')
    pyproject-rpm-macros.src: E: spelling-error ('setuptools', '%description -l en_US setuptools -> setup tools, setup-tools, footstools')
    pyproject-srpm-macros.noarch: E: spelling-error ('buildrequires', 'Summary(en_US) buildrequires -> build requires, build-requires, requirements')
    pyproject-srpm-macros.noarch: E: spelling-error ('buildrequires', '%description -l en_US buildrequires -> build requires, build-requires, requirements')
    pyproject-srpm-macros.noarch: W: no-documentation

(cherry picked from commit 1278dd8dbd)
2024-11-14 17:17:50 +01:00
Miro Hrončok
082234e671 CI: Make python-pluggy build on Fedora 41+
(cherry picked from commit 7c4ffdcf84)
2024-11-14 17:16:35 +01:00
Miro Hrončok
bc854977a6 CI: Allow platformdirs 4 in python-virtualenv.spec
(cherry picked from commit 3539b832c8)
2024-11-14 17:16:08 +01:00
Miro Hrončok
4669de1250 Add a provisional RPM Declarative Buildsystem (RPM 4.20+)
(cherry picked from commit e7b37d02f8)
2024-11-14 17:16:04 +01:00
Fedora Release Engineering
c8de77f22e Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
(cherry picked from commit bc3d8013a4)
2024-11-14 17:15:59 +01:00
Miro Hrončok
4dc9dd6f33 Revert the temporary workaround for RPM 4.20 alpha 2 leaking \x1f (unit separators)
This reverts commit 996ac31b46.

(cherry picked from commit 436695615e)
2024-11-14 17:15:53 +01:00
Miro Hrončok
1bcb45eb11 Properly escape weird characters from paths in %{pyproject_files} (RPM 4.19+ only)
(cherry picked from commit 6d455af4dc)
2024-11-14 17:15:49 +01:00
Cristian Le
244da58cb9 %pyproject_extras_subpkg: Allow passing -a or -A to %python_extras_subpkg
Co-Authored-By: Miro Hrončok <miro@hroncok.cz>
(cherry picked from commit d74914ec13)
2024-11-14 17:15:46 +01:00
Miro Hrončok
7309d3a880 Add a temporary workaround for RPM 4.20 alpha 2 leaking \x1f (unit separators)
Strip them.
This workaround is safe with RPM < 4.20 or when RPM is fixed.

(cherry picked from commit 996ac31b46)
2024-11-14 17:15:42 +01:00
Miro Hrončok
40437462c3 README: Add a missing link
(cherry picked from commit d0a66a2871)
2024-11-14 17:15:37 +01:00
Miro Hrončok
8763e77d15 CI: Regardless of the package manager, use dnf.conf in mock config
After https://github.com/rpm-software-management/mock/pull/1332

We saw:

    ERROR: Config error: /tmp/fedora-39-x86_64-ci.cfg: '{% if releasever|int >= 40 %}dnf5{% else %}dnf{% endif %}.conf'

We cannot use the templated value of package_manager in a key.

The rawhide mock config uses dnf.conf anyway, despite using dnf5.

Reported to mock in https://github.com/rpm-software-management/mock/issues/1357

(cherry picked from commit fa7c91c65d)
2024-11-14 17:15:33 +01:00
Miro Hrončok
2f641d6866 Revert "CI: Use DNF 4 in mock to workaround dnf5#1084"
This reverts commit 1d00ed8155.

https://github.com/rpm-software-management/dnf5/issues/1084 is fixed
(cherry picked from commit 3667fcd240)
2024-11-14 17:15:29 +01:00
Miro Hrončok
3ba66c0c6c Document why we generate a dependency on wheel when the default build backend is used
(cherry picked from commit a069958530)
2024-11-14 17:15:24 +01:00
Miro Hrončok
345517d213 Run tests with Python 3.12 in %check (RHEL 9 specific)
Also, add a Python 3.12 CI job (isort_c9s already contains that as well).

Resolves: RHEL-22803
2024-01-26 11:48:54 +01:00
Miro Hrončok
29eb590e45 Namespace pyproject-rpm-macros generated text files with %{python3_pkgversion} 2024-01-26 11:36:24 +01:00
Miro Hrončok
188276960b CI: Skip httpbin %tox on F40+ 2024-01-26 11:19:37 +01:00
Miro Hrončok
f8b0e925e8 Fix %pyproject_buildrequires -w when the build backend is already installed and pip isn't
Fixes: https://bugzilla.redhat.com/2169855
2024-01-26 11:19:37 +01:00
Miro Hrončok
9afde6e68e Show a better error message when %pyproject_install finds no wheel
Fixes: https://bugzilla.redhat.com/2242452
2024-01-26 11:19:37 +01:00
Miro Hrončok
b5c55d6167 Prevent incorrect usage of %pyproject_buildrequires -R with -x/-e/-t
Fixes: https://bugzilla.redhat.com/2244282
2024-01-26 11:19:37 +01:00
Miro Hrončok
d62ed44b6e CI: Use DNF 4 in mock to workaround dnf5#1084
mock-core-configs-39.3 switched the package manager for Fedora 40 to dnf5
  https://fedoraproject.org/wiki/Changes/BuildWithDNF5

dnf5 builddep cannot handle BuildRequires with square brackets,
e.g. with Python extras, leading to errors like:

  No match for argument: python3dist(setuptools-scm[toml]) >= 5
  No match for argument: python3dist(raven[flask])
  No match for argument: python3dist(ini2toml[lite]) >= 0.9

This is reported: https://github.com/rpm-software-management/dnf5/issues/1084

Until it is fixed, we explicitly use the "dnf" (i.e. DNF 4) package manager in mock,
even on Fedora 40+.
2024-01-26 11:19:37 +01:00
Miro Hrončok
22918dd2a6 Add the -l/-L flag to %pyproject_save_files
- The -l flag can be used to assert at least 1 License-File was detected
- The -L flag explicitly disables this check (which remains the default)

Co-Authored-By: Maxwell G <maxwell@gtmx.me>
2024-01-26 11:19:37 +01:00
Miro Hrončok
7f8db987f3 Fix a typo in an error message 2024-01-26 11:19:37 +01:00
Miro Hrončok
7e0207e048 Fix a typo in the latest changelog entry 2024-01-26 11:19:37 +01:00
Miro Hrončok
fa2855f6ce Fix handling of tox 4 provision without tox minversion
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2240590

The added test actually blows up without the fix with both tox 4 or tox 3,
so perhaps this bug also existed with tox 3.
2024-01-26 11:19:37 +01:00
Miro Hrončok
d95890489a Communicate loudly that this does not work with old RPM
I have seen several folks building this package in a RHEL 8 environment.
This won't prevent them doing so, but at least they will be forced to make changes,
acknowledging the fact that what they are doing has consequences.
2024-01-26 11:19:37 +01:00
Karolina Surma
47cfbcf6e3 Add %_pyproject_check_import_allow_no_modules
Macro which allows to pass the import check even if no Python modules
are detected in the package.
Only to be used in the automated environments.

Co-authored-by: Miro Hrončok <miro@hroncok.cz>
2024-01-26 11:19:35 +01:00
Carl George
39dc109d06 Fix PEP number typo 2024-01-26 11:16:14 +01:00
Miro Hrončok
3f1dd1c441 Use %rpmversion to check if we are on RPM 4.19+ 2024-01-26 11:15:16 +01:00
Miro Hrončok
e7332c16ab CI: Don't treat DeprecationWarnings in setuptools_scm's %check as errors 2024-01-26 11:15:16 +01:00
Miro Hrončok
a0c94e93cf CI: Update setuptools to make it build with Python 3.12
This still works on Fedora 37/38. EL 9 uses a different setuptools version for tests.
2024-01-26 11:15:16 +01:00
Miro Hrončok
ff6ed86bff CI: Update poetry-core to workaround a weird FTBFS on Fedora 39+
This still builds on previous Fedoras and EPEL 9.
2024-01-26 11:15:16 +01:00
Miro Hrončok
a594a93c9b CI: Update ipykernel to a version that no longer uses the imp module
This still works on Fedora 37 and 38. The c9s package skips this test.
2024-01-26 11:15:16 +01:00
Miro Hrončok
d24b6f418d CI: Apply a FTBFS fix from Fedora 39 to the virtualenv spec 2024-01-26 11:15:16 +01:00
Miro Hrončok
d578e3b8dc CI: Make pytest build on Fedora 37 to 39 as well as EPEL 9 2024-01-26 11:15:16 +01:00
Miro Hrončok
31f99e7ad0 CI: Run mock in verbose mode to see the logs 2024-01-26 11:15:16 +01:00
Miro Hrončok
5f5038f73e Run tests with Python 3.11 in %check (RHEL 9 specific)
Related: rhbz#2208971
2023-06-07 09:55:37 +02:00
Miro Hrončok
ab6c5538e5 CI: Run a build of pyproject-rpm-macros.spec --with tox_tests (RHEL 9 specific)
Related: rhbz#2208971
2023-06-01 21:24:22 +02:00
Miro Hrončok
e8933acb12 CI: Run a couple of Python 3.11 builds (RHEL 9 specific)
Related: rhbz#2208971
2023-06-01 21:24:22 +02:00
Miro Hrončok
6a97abbde7 Accept multiple values for the same config settings
Related: rhbz#2208971
2023-06-01 21:24:22 +02:00
604f5069e0 document config_settings support
Related: rhbz#2208971
2023-06-01 21:24:22 +02:00
adcd28cfa9 buildrequires: make -C and -N mutually exclusive
Related: rhbz#2208971
2023-05-31 21:37:01 +02:00
7f75263357 Allow passing config_settings to the build backend
Related: rhbz#2208971
2023-05-31 21:37:01 +02:00
Miro Hrončok
d5a5919a27 Fix literal % handling in %{pyproject_files} on RPM 4.19
RPM 4.19 now requires 2 %s to escape a single literal % in the filelist.

The test has been adjusted to actually run our code
instead of only verifying the assumptions.

Related: rhbz#2208971
2023-05-31 18:21:18 +02:00
Miro Hrončok
1ca4dcdce7 Fix the conditional tests-related BuildRequires for Python version
python3-devel is not installed, hence the conditional needs to be on python3.
It only "worked" with toml because toml was pulled as a transitive dependency.

Related: rhbz#2208971
2023-05-31 09:52:27 +02:00