Commit Graph

165 Commits

Author SHA1 Message Date
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
Miro Hrončok
9422982693 Use tomli for older Pythons, now when RHEL 9 has it
Related: rhbz#2208971
2023-05-31 09:52:27 +02:00
Miro Hrončok
9e4b88057b CI: Make python-virtualenv.spec EL9-compatible
Related: rhbz#2208971
2023-05-30 13:11:41 +02:00
Miro Hrončok
05fdbf4192 Make %pyproject_build_lib work with RPM 4.16
Related: rhbz#2208971
2023-05-30 11:24:39 +02:00
Miro Hrončok
1d24fae689 Bump the release for ELN dependency changes
Related: rhbz#2208971
2023-05-30 10:43:55 +02:00
Miro Hrončok
fb1cb520d9 Don't run tox tests on RHEL by default, as tox is unwanted in RHEL
See https://github.com/fedora-eln/eln/issues/126

Related: rhbz#2208971
2023-05-30 10:43:53 +02:00
Miro Hrončok
146f0ece2e Use lowercase tox in test case names, as upstream wants it
Related: rhbz#2208971
2023-05-30 10:43:52 +02:00
0dd9e91f43 don't use pytest-xdist in RHEL
Relates: https://github.com/fedora-eln/eln/issues/125

Related: rhbz#2208971
2023-05-30 10:43:49 +02:00
Miro Hrončok
a7a8d6bda0 In %check, assert the two signatures of %pyproject_buildrequires match exactly
Related: rhbz#2208971
2023-05-30 10:43:47 +02:00
Miro Hrončok
3fae95fe3a Tests: Make them pass with setuptools < 60
This makes the tests work on EL 9 and Fedora 36.

 - Move metadata to setup.cfg in self-referential extras tests
 - Skip tests for pyproject.toml [project] metadata when setuptools < 60

Related: rhbz#2208971
2023-05-30 10:43:44 +02:00
Miro Hrončok
500d43c1c0 %pyproject_buildrequires: Add support for self-referential extras requirements
Related: rhbz#2208971
2023-05-30 10:43:42 +02:00
Miro Hrončok
ccc11a3af7 Deprecate the provisional %{pyproject_build_lib} macro
There is no scheduled removal.

See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/HMLOPAU3RZLXD4BOJHTIPKI3I4U6U7OE/

Related: rhbz#2208971
2023-05-30 10:43:39 +02:00
Maxwell G
fb9a851ec3 Simplify assertion in tests
Related: rhbz#2208971
2023-05-30 10:43:37 +02:00
Miro Hrončok
e9b491535c Redirect stdout to stderr via Shell
Dependencies are recorded to a text file that is catted at the end.

This should prevent subtle bugs like https://bugzilla.redhat.com/2183519 in the future.

Related: rhbz#2208971
2023-05-30 10:43:35 +02:00
Miro Hrončok
000ca45f91 Remove duplicate import
Related: rhbz#2208971
2023-05-30 10:43:25 +02:00
Miro Hrončok
5ddb72e141 Acknowledge the license is MIT even in SPDX
$ askalono identify LICENSE
    License: MIT (original text)
    Score: 1.000

Related: rhbz#2208971
2023-05-30 10:39:13 +02:00