Commit Graph

291 Commits

Author SHA1 Message Date
Miro Hrončok
6d455af4dc Properly escape weird characters from paths in %{pyproject_files} (RPM 4.19+ only) 2024-07-02 23:53:19 +02:00
Cristian Le
d74914ec13 %pyproject_extras_subpkg: Allow passing -a or -A to %python_extras_subpkg
Co-Authored-By: Miro Hrončok <miro@hroncok.cz>
2024-06-25 12:27:56 +02:00
Miro Hrončok
996ac31b46 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.
2024-06-04 10:46:50 +02:00
Miro Hrončok
d0a66a2871 README: Add a missing link 2024-05-22 20:38:10 +02:00
Miro Hrončok
fa7c91c65d 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
2024-04-11 13:32:17 +02:00
Miro Hrončok
3667fcd240 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
2024-02-06 10:48:01 +01:00
Miro Hrončok
a069958530 Document why we generate a dependency on wheel when the default build backend is used 2024-02-05 17:20:54 +01:00
Miro Hrončok
5aca0a6034 Namespace pyproject-rpm-macros generated text files with %{python3_pkgversion} 2024-01-26 09:45:58 +01:00
Miro Hrončok
f987ccf2ee CI: Skip httpbin %tox on F40+ 2024-01-26 09:45:58 +01:00
Fedora Release Engineering
48d8f4493a Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 00:40:39 +00:00
Fedora Release Engineering
e9d0e2578a Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 22:48:05 +00:00
Miro Hrončok
900c578fc8 Fix %pyproject_buildrequires -w when the build backend is already installed and pip isn't
Fixes: https://bugzilla.redhat.com/2169855
2023-12-13 17:19:14 +01:00
Miro Hrončok
89c9b407fa Show a better error message when %pyproject_install finds no wheel
Fixes: https://bugzilla.redhat.com/2242452
2023-12-13 17:18:40 +01:00
Miro Hrončok
89f2408342 Prevent incorrect usage of %pyproject_buildrequires -R with -x/-e/-t
Fixes: https://bugzilla.redhat.com/2244282
2023-12-13 17:17:33 +01:00
Miro Hrončok
1d00ed8155 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+.
2023-12-11 15:09:35 +01:00
Miro Hrončok
f39261901c 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>
2023-12-11 13:16:09 +01:00
Miro Hrončok
0ce790d763 Fix a typo in an error message 2023-11-19 21:02:56 +01:00
Miro Hrončok
633cfd6634 Fix a typo in the latest changelog entry 2023-09-27 18:17:58 +02:00
Miro Hrončok
089e2518ea 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.
2023-09-27 16:08:45 +02:00
Miro Hrončok
15acb6ee5b 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.
2023-09-27 11:51:03 +00:00
Karolina Surma
97a7574518 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>
2023-09-26 10:23:49 +00:00
Carl George
a39d658f0f Fix PEP number typo 2023-09-25 16:32:54 -05:00
Miro Hrončok
4b32bbb939 Use %rpmversion to check if we are on RPM 4.19+ 2023-08-31 09:28:36 +00:00
Miro Hrončok
5ffc27bdf7 CI: Don't treat DeprecationWarnings in setuptools_scm's %check as errors 2023-08-30 23:11:42 +02:00
Miro Hrončok
0ae2849f20 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.
2023-08-30 23:07:40 +02:00
Miro Hrončok
479a6b3669 CI: Update poetry-core to workaround a weird FTBFS on Fedora 39+
This still builds on previous Fedoras and EPEL 9.
2023-08-30 22:40:37 +02:00
Miro Hrončok
9c358ccecb 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.
2023-08-30 22:23:25 +02:00
Miro Hrončok
3607591aa8 CI: Apply a FTBFS fix from Fedora 39 to the virtualenv spec 2023-08-30 22:00:18 +02:00
Miro Hrončok
3a8bea86f8 CI: Make pytest build on Fedora 37 to 39 as well as EPEL 9 2023-08-30 21:48:33 +02:00
Miro Hrončok
bd1022e422 CI: Run mock in verbose mode to see the logs 2023-08-21 22:41:19 +02:00
Fedora Release Engineering
53c81f57c1 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 06:47:19 +00:00
Miro Hrončok
4f16920edb CI: Adjust a couple of specs to allow Python 3.11 builds on RHEL 9
This allows running CI tests as:

    ./mocktest.sh python-isort --define 'python3_pkgversion 3.11'

Which only makes sense in RHEL, and hence is not done here.

The purpose of this change in Fedora is to make the test spec files identical to c9s,
for easier future synchronization.

Related c9s commit:
e8933acb12
2023-06-15 19:03:54 +02:00
Miro Hrončok
d14a2dbc54 Accept multiple values for the same config settings 2023-06-01 21:24:39 +02:00
590154b68c document config_settings support 2023-06-01 21:24:39 +02:00
1dd43533b8
buildrequires: make -C and -N mutually exclusive 2023-05-31 19:26:33 +00:00
156e2fc8fe
Allow passing config_settings to the build backend
Resolves: https://bugzilla.redhat.com/2192581
2023-05-31 19:26:32 +00:00
Miro Hrončok
638ba27daf 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.
2023-05-31 18:26:51 +02:00
Miro Hrončok
ca3771c78d 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.
2023-05-31 18:25:49 +02:00
Miro Hrončok
5ab7319ece Use tomli for older Pythons, now when RHEL 9 has it 2023-05-31 09:51:54 +02:00
Miro Hrončok
4a38795ceb CI: Make python-virtualenv.spec EL9-compatible
Related: rhbz#2208971
2023-05-30 13:11:13 +02:00
Miro Hrončok
efe31871f8 Make %pyproject_build_lib work with RPM 4.16
Related: rhbz#2208971
2023-05-30 11:25:32 +02:00
Miro Hrončok
161c16b15f
Bump the release for ELN dependency changes 2023-05-23 19:19:38 +00:00
Miro Hrončok
b05b7f600b
Don't run tox tests on RHEL by default, as tox is unwanted in RHEL
See https://github.com/fedora-eln/eln/issues/126
2023-05-23 19:19:38 +00:00
Miro Hrončok
193a077e5b
Use lowercase tox in test case names, as upstream wants it 2023-05-23 19:19:38 +00:00
aaac9203b9
don't use pytest-xdist in RHEL
Relates: https://github.com/fedora-eln/eln/issues/125
2023-05-23 19:19:38 +00:00
Miro Hrončok
17dab005cc In %check, assert the two signatures of %pyproject_buildrequires match exactly 2023-05-23 14:56:52 +02:00
Miro Hrončok
9d4e88e1a6 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
2023-04-27 18:45:43 +02:00
Miro Hrončok
bd7890110c %pyproject_buildrequires: Add support for self-referential extras requirements 2023-04-27 11:18:18 +02:00
Miro Hrončok
a5e7a3cd07 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/
2023-04-26 23:08:07 +02:00
Maxwell G
ef9a286793 Simplify assertion in tests 2023-04-17 15:32:31 +02:00