Commit Graph

73 Commits

Author SHA1 Message Date
Miro Hrončok a02a1ae59f CI: More retrying for dnf, apparently 5 times 20 seconds is not enough
Related: rhbz#2060109
2022-05-06 12:19:08 +02:00
Miro Hrončok d7bc2a357f %pyproject_save_files: Support nested directories in dist-info
Related: rhbz#2060109
2022-05-06 12:19:08 +02:00
Miro Hrončok 0b9b782c5c CI specs: Never use `! ...` as a check
See https://lists.fedoraproject.org/archives/list/packaging@lists.fedoraproject.org/thread/TFQGD7CSTD5WVKVT3WDIGF5D6DID5NK6/

Related: rhbz#2060109
2022-05-06 12:18:50 +02:00
Miro Hrončok 44772c3c74 CI: Install EPEL packages via full URL to support running tests on real RHEL
Resolves: rhbz#2065590
2022-03-23 16:46:15 +01:00
Miro Hrončok a9aa69f463 CI: Move one %files section to test different order
Related: rhbz#2060109
2022-03-23 15:13:17 +01:00
Miro Hrončok be050ad171 Prefix paths of intermediate files (such as %{pyproject_files}) with NVRA
Apparently, when you repeatedly run `rpmbuild -ba`, files in %_builddir are not cleaned.
This way, we at least make sure the files are unique between different NVRAs,
so 2 unrelated builds don't share the files between each other.

Keeping files contained in the build subdirectory is the more common way of doing this,
but we cannot technically do that, because we don't know what's it gonna be (before %prep).

Should be backwards compatible, as we only modify underscore-prefixed macros and %{pyproject_files},
where the exact value should not matter to the packagers.

Resolves: rhbz#2060109
2022-03-23 15:13:05 +01:00
Miro Hrončok 797cac8d85 CI: Make most of the tests work on EPEL 9
Resolves: rhbz#2065590
2022-03-18 10:50:33 +01:00
Miro Hrončok 3e4bfeffd8 CI: Skip some tests that would be to useless with reduced dependencies
Resolves: rhbz#2065590
2022-03-18 10:50:33 +01:00
Miro Hrončok fc08e7cf3e CI: Determine mock chroot for centos-stream+epel, try not to break Fedora
Resolves: rhbz#2065590
2022-03-18 10:50:30 +01:00
Miro Hrončok 76dc49fd1e CI: Enable EPEL Next
The ansible thing that installs packages does that one by one.

Hence, the assumption is that by installing epel-next-release first,
mock should be available next.

Resolves: rhbz#2065590
2022-03-18 10:50:16 +01:00
Miro Hrončok 71c4eaabf4 Release final version 1.0.0
There are no code changes.

Resolves: rhbz#2060109
2022-03-02 18:33:50 +01:00
Lumir Balhar 17cd08d6a0 Updated compatibility with tox4
Related: rhbz#2060109
2022-03-02 18:33:48 +01:00
Miro Hrončok 3c5fe19ca1 CI tests: Workaround python-ldap missing support fro OpenLDAP 2.5+
Related: rhbz#2060109
2022-03-02 18:33:45 +01:00
Miro Hrončok 600c6d59a7 CI tests: Sed ipykernel to declare missing dependency on ipython_genutils
Related: rhbz#2060109
2022-03-02 18:33:25 +01:00
Miro Hrončok 4977b39d62 Disable certain rpminspect inspections not relevant to this package
Related: rhbz#1950291
2022-01-26 12:59:00 +01:00
Miro Hrončok 127a259768 Release version 1.0.0, first release candidate
Related: rhbz#1950291
2022-01-26 12:58:21 +01:00
Miro Hrončok 71dcd3ad74 %pyproject_buildrequires: Generate BuildRequires for this package
This package is already installed -- otherwise the macro would not even exist.

However, since python3-devel has started to Require pyproject-rpm-macros,
it is no longer possible to use `repoquery --whatrequires pyproject-rpm-macros`
to get a reliable list of packages that use the macros.

This was, all packages that use %pyproject_buildrequires will BuildRequire the macros explicitly.

(In the future, we could even include a stub version of %pyproject_buildrequires
in pyproject-srpm-macros (always installed in the buildroot),
that only echoes this package,
so packagers would not need to manually BuildRequire anything at all.)

Related: rhbz#1950291
2022-01-26 11:44:53 +01:00
Karolina Surma 2be56ab379 Include compressed manpages correctly in the RPM package
Compressed manpages have different extension than those listed in the RECORD file,
so they were not recognized when %%pyproject_save_files '+auto' flag
was provided.
To enable the path recognition, if the manpage extension matches the one
listed in brp-compres, the extension is removed, and an asterisk is now added
to the manpages filenames.
Source: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages

Related: rhbz#1950291
2022-01-26 11:44:41 +01:00
Miro Hrončok 93cf48f615 %pyproject_buildrequires: Make -r (include runtime) the default, use -R to opt-out
See the proposal:
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/2R6NKELTHAWE6PI3CCZBVW5PMGO5VPDG/

 - -N now implies -R
 - the macro still guards against -Nr and now also against -Rr

Related: rhbz#1950291
2022-01-26 11:41:43 +01:00
Hunor Csomortáni 3f5f8e46c1 docs: Don't BuildRequire these macros in Fedora and EPEL 9
`python3-devel` already requires `pyproject-rpm-macros` in Fedora and
EPEL 9. Update the usage docs to reflect this.

Related: rhbz#1950291

Signed-off-by: Hunor Csomortáni <csomh@redhat.com>
2022-01-26 11:40:43 +01:00
Gordon Messmer 2abd0036ea Handle legacy version specifiers that would previously raise exceptions.
Related: rhbz#1950291
2022-01-26 11:36:40 +01:00
Miro Hrončok 5513c410bf Define provisional %pyproject_build_lib
Related: rhbz#1950291
2022-01-26 11:35:49 +01:00
Miro Hrončok f768e230c1 Require sed, as we use it
Related: rhbz#1950291
2022-01-26 11:34:03 +01:00
Miro Hrončok 93fa18572e CI tests: Update setuptools_scm to fix FTBFS on rawhide
Related: rhbz#1950291
2022-01-26 11:33:32 +01:00
Miro Hrončok 67d567b8c6 CI tests: Remove Fedora 33 compatibility shims, as F33 reaches EOL
Related: rhbz#1950291
2022-01-26 11:32:53 +01:00
Gordon Messmer f8c2fede5b Sync dependency conversion with upstream pyreq2rpm.
Improve handling of > operator, preventing post-release from satisfying most rpm requirements.
Improve handling of < operator, preventing pre-release from satisfying rpm requirement.
Improve handling of != operator with prefix matching, preventing pre-release from satisfying rpm requirements.

Related: rhbz#1950291
2022-01-26 11:32:17 +01:00
Karolina Surma d427052f40 Introduce %%pyproject_check_import
%%pyproject_save_files newly saves also a list of importable modules.
The list is used by %%pyproject_check_import to invoke the import test
on each module name.
%%pyproject_check_import accepts two options:
-t: filter only top-level modules
-e: exclude module names matching the given glob from the import check

Related: rhbz#1950291
2022-01-26 11:31:17 +01:00
Miro Hrončok 655f6dda0e %pyproject_buildrequires: Accept installed pre-releases for all requirements
Related: rhbz#1950291
2022-01-26 11:27:08 +01:00
Miro Hrončok 3b7d5da2b4 CI: Update the dns-lexiocn package so it also builds on Fedora 36+
Related: rhbz#1950291
2022-01-26 11:19:37 +01:00
Miro Hrončok 0d8d5ecd2e %pyproject_save_files: Add a workaround error for spaces and [brackets]
See the added links for details.
We cannot fix this for now,
so we error out early instead of producing a broken filelist.
Related: rhbz#1950291
2022-01-26 11:18:45 +01:00
Miro Hrončok 41fc715cc4 %pyproject_save_files: Expand the namespace error message, also display it with /
Related: rhbz#1950291
2022-01-26 11:11:52 +01:00
Miro Hrončok e269f4d6e9 Fedora CI: Update pytest so it still builds on Fedora 36 with pluggy 1.0
Related: rhbz#1950291
2022-01-26 11:09:14 +01:00
Lukas Zachar 59e1f5b06a Gate rhel-9 on STI tests 2021-08-24 11:38:01 +00:00
Benjamin A. Beasley 21166f584a Change “requirement file” to match “requirements file[s]” elsewhere
Related: rhbz#1950291
2021-08-10 10:52:23 +02:00
Benjamin A. Beasley 4d93e74bf2 Fix two misspellings of “requirements,” one user-visible
Related: rhbz#1950291
2021-08-10 10:52:23 +02:00
Tomas Hrnciar bc3b3a778a Automatically detect LICENSE files and mark them with %license macro
Related: rhbz#1950291
2021-08-10 10:52:23 +02:00
Miro Hrončok 1bd13b6928 Fix a typo in README
Related: rhbz#1950291
2021-08-10 10:52:23 +02:00
Miro Hrončok 309172f9a8 Rename %_pyproject_ghost_distinfo and %_pyproject_record to indicate they are private
Related: rhbz#1950291
2021-08-10 10:52:23 +02:00
Petr Viktorin a3a1caf32a Split requirements.txt parsing to its own module; test & improve it
Related: rhbz#1950291
2021-08-10 10:52:23 +02:00
Miro Hrončok f190b5b225 %pyproject_buildrequires now fails when it encounters an invalid requirement
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1983053

Related: rhbz#1950291
2021-08-10 10:52:23 +02:00
Fedora Release Engineering 9fb8a6bd2b - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>

Related: rhbz#1950291
2021-08-10 10:52:23 +02:00
Miro Hrončok b3b3c84091 All supported Fedoras can have dependencies on extras
Related: rhbz#1950291
2021-08-10 10:52:23 +02:00
Miro Hrončok cbbb515b42 Explicitly require the "basic" Python RPM macros
Related: rhbz#1950291
2021-08-10 10:52:21 +02:00
Tomas Hrnciar d74e61b485 %pyproject_buildrequires: Fallback to setuptools.build_meta:__legacy__ only if setup.py exists
Fixes: rhbz#1976459

Related: rhbz#1950291
2021-08-10 10:52:05 +02:00
Miro Hrončok a4b3946fbf CI tests: Skip failing tests of python-httpbin
The tests are failing on Fedora 35+ for reasons beyond pyproject-rpm-macros.

Related: rhbz#1950291
2021-08-10 10:51:48 +02:00
Miro Hrončok 7602b9a77a %pyproject_buildrequires: Support x.* versions
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1981558

Related: rhbz#1950291
2021-08-10 10:51:46 +02:00
Miro Hrončok be3e9d3b71 Escape weird paths generated by %pyproject_save_files
Related: rhbz#1950291
2021-08-10 10:51:23 +02:00
Miro Hrončok 2e21ac738a CI tests: Update pytest's patch for Python 3.10.0b4+
Related: rhbz#1950291
2021-08-10 10:50:33 +02:00
Mohan Boddu 8365fb6c2c Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2021-08-10 00:06:40 +00:00
Tomas Hrnciar aac0af8401 Generate BuildRequires from file
%pyproject_buildrequires macro now accepts multiple file names to load
additional dependencies from them.

New option -N was added to disable automatical generation of requirements
in case package does not use build system. Option -N cannot be used in
combination with options -r, -e, -t, -x.

Co-authored-by: Miro Hrončok <miro@hroncok.cz>

Related: rhbz#1950291
2021-07-09 17:30:46 +02:00