2019-07-02 10:41:04 +00:00
|
|
|
Name: pyproject-rpm-macros
|
2019-07-02 14:53:05 +00:00
|
|
|
Summary: RPM macros for PEP 517 Python packages
|
2019-07-02 10:41:04 +00:00
|
|
|
License: MIT
|
2019-07-02 14:53:05 +00:00
|
|
|
|
2023-05-19 20:01:17 +00:00
|
|
|
%bcond tests 1
|
2023-05-23 09:04:33 +00:00
|
|
|
# pytest-xdist and tox are not desired in RHEL
|
2023-05-19 20:01:17 +00:00
|
|
|
%bcond pytest_xdist %{undefined rhel}
|
2023-05-23 09:04:33 +00:00
|
|
|
%bcond tox_tests %{undefined rhel}
|
2019-07-17 15:34:24 +00:00
|
|
|
|
2022-01-25 15:57:17 +00:00
|
|
|
# The idea is to follow the spirit of semver
|
|
|
|
# Given version X.Y.Z:
|
|
|
|
# Increment X and reset Y.Z when there is a *major* incompatibility
|
|
|
|
# Increment Y and reset Z when new macros or features are added
|
|
|
|
# Increment Z when this is a bugfix or a cosmetic change
|
|
|
|
# Dropping support for EOL Fedoras is *not* considered a breaking change
|
2023-05-20 00:37:27 +00:00
|
|
|
Version: 1.9.0
|
2023-07-21 06:47:19 +00:00
|
|
|
Release: 2%{?dist}
|
2019-07-02 14:53:05 +00:00
|
|
|
|
2020-04-15 14:44:04 +00:00
|
|
|
# Macro files
|
|
|
|
Source001: macros.pyproject
|
2023-01-06 12:41:07 +00:00
|
|
|
Source002: macros.aaa-pyproject-srpm
|
2019-07-02 14:53:05 +00:00
|
|
|
|
2020-04-15 14:44:04 +00:00
|
|
|
# Implementation files
|
|
|
|
Source101: pyproject_buildrequires.py
|
|
|
|
Source102: pyproject_save_files.py
|
2020-09-09 04:47:51 +00:00
|
|
|
Source103: pyproject_convert.py
|
2020-09-15 06:55:44 +00:00
|
|
|
Source104: pyproject_preprocess_record.py
|
2020-11-03 10:29:50 +00:00
|
|
|
Source105: pyproject_construct_toxenv.py
|
2021-07-22 10:01:48 +00:00
|
|
|
Source106: pyproject_requirements_txt.py
|
2022-04-22 14:48:09 +00:00
|
|
|
Source107: pyproject_wheel.py
|
2019-07-02 14:53:05 +00:00
|
|
|
|
2020-04-15 14:44:04 +00:00
|
|
|
# Tests
|
|
|
|
Source201: test_pyproject_buildrequires.py
|
|
|
|
Source202: test_pyproject_save_files.py
|
2021-07-22 10:01:48 +00:00
|
|
|
Source203: test_pyproject_requirements_txt.py
|
2022-01-17 16:20:54 +00:00
|
|
|
Source204: compare_mandata.py
|
2020-04-15 14:44:04 +00:00
|
|
|
|
|
|
|
# Test data
|
|
|
|
Source301: pyproject_buildrequires_testcases.yaml
|
|
|
|
Source302: pyproject_save_files_test_data.yaml
|
|
|
|
Source303: test_RECORD
|
|
|
|
|
|
|
|
# Metadata
|
|
|
|
Source901: README.md
|
|
|
|
Source902: LICENSE
|
2019-07-17 13:44:22 +00:00
|
|
|
|
2019-07-02 11:05:10 +00:00
|
|
|
URL: https://src.fedoraproject.org/rpms/pyproject-rpm-macros
|
2019-07-02 14:53:05 +00:00
|
|
|
|
2019-07-02 10:41:04 +00:00
|
|
|
BuildArch: noarch
|
|
|
|
|
2019-07-17 15:34:24 +00:00
|
|
|
%if %{with tests}
|
2022-07-14 04:07:47 +00:00
|
|
|
BuildRequires: python3dist(pytest)
|
2023-05-19 20:01:17 +00:00
|
|
|
%if %{with pytest_xdist}
|
2023-02-05 21:23:05 +00:00
|
|
|
BuildRequires: python3dist(pytest-xdist)
|
2023-05-19 20:01:17 +00:00
|
|
|
%endif
|
2022-07-14 04:07:47 +00:00
|
|
|
BuildRequires: python3dist(pyyaml)
|
|
|
|
BuildRequires: python3dist(packaging)
|
|
|
|
BuildRequires: python3dist(pip)
|
|
|
|
BuildRequires: python3dist(setuptools)
|
2023-05-23 09:04:33 +00:00
|
|
|
%if %{with tox_tests}
|
2022-07-14 04:07:47 +00:00
|
|
|
BuildRequires: python3dist(tox-current-env) >= 0.0.6
|
2023-05-23 09:04:33 +00:00
|
|
|
%endif
|
2022-07-14 04:07:47 +00:00
|
|
|
BuildRequires: python3dist(wheel)
|
2023-05-26 12:34:32 +00:00
|
|
|
BuildRequires: (python3dist(tomli) if python3 < 3.11)
|
2019-07-17 15:34:24 +00:00
|
|
|
%endif
|
2019-07-17 13:44:22 +00:00
|
|
|
|
2021-07-17 13:05:33 +00:00
|
|
|
# We build on top of those:
|
2022-07-14 04:09:15 +00:00
|
|
|
BuildRequires: python-rpm-macros
|
|
|
|
BuildRequires: python-srpm-macros
|
|
|
|
BuildRequires: python3-rpm-macros
|
2022-07-14 04:07:47 +00:00
|
|
|
Requires: python-rpm-macros
|
|
|
|
Requires: python-srpm-macros
|
|
|
|
Requires: python3-rpm-macros
|
2023-01-06 12:41:07 +00:00
|
|
|
Requires: (pyproject-srpm-macros = %{?epoch:%{epoch}:}%{version}-%{release} if pyproject-srpm-macros)
|
2021-07-17 13:05:33 +00:00
|
|
|
|
2021-12-10 11:38:37 +00:00
|
|
|
# We use the following tools outside of coreutils
|
2022-07-14 04:07:47 +00:00
|
|
|
Requires: /usr/bin/find
|
|
|
|
Requires: /usr/bin/sed
|
2019-07-17 13:44:22 +00:00
|
|
|
|
2019-07-02 10:41:04 +00:00
|
|
|
%description
|
2021-01-15 17:47:11 +00:00
|
|
|
These macros allow projects that follow the Python packaging specifications
|
|
|
|
to be packaged as RPMs.
|
|
|
|
|
|
|
|
They work for:
|
|
|
|
|
|
|
|
* traditional Setuptools-based projects that use the setup.py file,
|
|
|
|
* newer Setuptools-based projects that have a setup.cfg file,
|
|
|
|
* general Python projects that use the PEP 517 pyproject.toml file
|
|
|
|
(which allows using any build system, such as setuptools, flit or poetry).
|
|
|
|
|
|
|
|
These macros replace %%py3_build and %%py3_install,
|
|
|
|
which only work with setup.py.
|
2019-07-02 10:41:04 +00:00
|
|
|
|
2019-07-02 14:53:05 +00:00
|
|
|
|
2023-01-06 12:41:07 +00:00
|
|
|
%package -n pyproject-srpm-macros
|
|
|
|
Summary: Minimal implementation of %%pyproject_buildrequires
|
|
|
|
Requires: (pyproject-rpm-macros = %{?epoch:%{epoch}:}%{version}-%{release} if pyproject-rpm-macros)
|
|
|
|
|
|
|
|
%description -n pyproject-srpm-macros
|
|
|
|
This package contains a minimal implementation of %%pyproject_buildrequires.
|
|
|
|
When used in %%generate_buildrequires, it will generate BuildRequires
|
|
|
|
for pyproject-rpm-macros. When both packages are installed, the full version
|
|
|
|
takes precedence.
|
|
|
|
|
|
|
|
|
2019-07-02 10:41:04 +00:00
|
|
|
%prep
|
2019-07-02 11:40:47 +00:00
|
|
|
# Not strictly necessary but allows working on file names instead
|
|
|
|
# of source numbers in install section
|
|
|
|
%setup -c -T
|
|
|
|
cp -p %{sources} .
|
2019-07-02 10:41:04 +00:00
|
|
|
|
|
|
|
%build
|
|
|
|
# nothing to do, sources are not buildable
|
|
|
|
|
|
|
|
%install
|
2019-07-02 14:53:05 +00:00
|
|
|
mkdir -p %{buildroot}%{_rpmmacrodir}
|
|
|
|
mkdir -p %{buildroot}%{_rpmconfigdir}/redhat
|
2022-07-14 04:10:35 +00:00
|
|
|
install -pm 644 macros.pyproject %{buildroot}%{_rpmmacrodir}/
|
2023-01-06 12:41:07 +00:00
|
|
|
install -pm 644 macros.aaa-pyproject-srpm %{buildroot}%{_rpmmacrodir}/
|
2022-07-14 04:10:35 +00:00
|
|
|
install -pm 644 pyproject_buildrequires.py %{buildroot}%{_rpmconfigdir}/redhat/
|
|
|
|
install -pm 644 pyproject_convert.py %{buildroot}%{_rpmconfigdir}/redhat/
|
|
|
|
install -pm 644 pyproject_save_files.py %{buildroot}%{_rpmconfigdir}/redhat/
|
|
|
|
install -pm 644 pyproject_preprocess_record.py %{buildroot}%{_rpmconfigdir}/redhat/
|
|
|
|
install -pm 644 pyproject_construct_toxenv.py %{buildroot}%{_rpmconfigdir}/redhat/
|
|
|
|
install -pm 644 pyproject_requirements_txt.py %{buildroot}%{_rpmconfigdir}/redhat/
|
|
|
|
install -pm 644 pyproject_wheel.py %{buildroot}%{_rpmconfigdir}/redhat/
|
2019-07-02 10:41:04 +00:00
|
|
|
|
2019-07-17 13:44:22 +00:00
|
|
|
%check
|
2023-05-23 10:14:31 +00:00
|
|
|
# assert the two signatures of %%pyproject_buildrequires match exactly
|
|
|
|
signature1="$(grep '^%%pyproject_buildrequires' macros.pyproject | cut -d' ' -f1)"
|
|
|
|
signature2="$(grep '^%%pyproject_buildrequires' macros.aaa-pyproject-srpm | cut -d' ' -f1)"
|
|
|
|
test "$signature1" == "$signature2"
|
|
|
|
# but also assert we are not comparing empty strings
|
|
|
|
test "$signature1" != ""
|
|
|
|
|
|
|
|
%if %{with tests}
|
2020-07-15 10:15:19 +00:00
|
|
|
export HOSTNAME="rpmbuild" # to speedup tox in network-less mock, see rhbz#1856356
|
2023-05-23 09:04:33 +00:00
|
|
|
%pytest -vv --doctest-modules %{?with_pytest_xdist:-n auto} %{!?with_tox_tests:-k "not tox"}
|
2022-01-17 16:20:54 +00:00
|
|
|
|
|
|
|
# brp-compress is provided as an argument to get the right directory macro expansion
|
|
|
|
%{python3} compare_mandata.py -f %{_rpmconfigdir}/brp-compress
|
2019-07-17 15:34:24 +00:00
|
|
|
%endif
|
2019-07-17 13:44:22 +00:00
|
|
|
|
|
|
|
|
2019-07-02 10:41:04 +00:00
|
|
|
%files
|
|
|
|
%{_rpmmacrodir}/macros.pyproject
|
2019-07-02 14:53:05 +00:00
|
|
|
%{_rpmconfigdir}/redhat/pyproject_buildrequires.py
|
2020-09-09 04:47:51 +00:00
|
|
|
%{_rpmconfigdir}/redhat/pyproject_convert.py
|
2020-04-15 14:44:04 +00:00
|
|
|
%{_rpmconfigdir}/redhat/pyproject_save_files.py
|
2020-09-15 06:55:44 +00:00
|
|
|
%{_rpmconfigdir}/redhat/pyproject_preprocess_record.py
|
2020-11-03 10:29:50 +00:00
|
|
|
%{_rpmconfigdir}/redhat/pyproject_construct_toxenv.py
|
2021-07-22 10:01:48 +00:00
|
|
|
%{_rpmconfigdir}/redhat/pyproject_requirements_txt.py
|
2022-04-22 14:48:09 +00:00
|
|
|
%{_rpmconfigdir}/redhat/pyproject_wheel.py
|
2019-07-02 10:41:04 +00:00
|
|
|
|
|
|
|
%doc README.md
|
|
|
|
%license LICENSE
|
|
|
|
|
2023-01-06 12:41:07 +00:00
|
|
|
%files -n pyproject-srpm-macros
|
|
|
|
%{_rpmmacrodir}/macros.aaa-pyproject-srpm
|
|
|
|
%license LICENSE
|
|
|
|
|
|
|
|
|
2019-07-02 10:41:04 +00:00
|
|
|
%changelog
|
2023-07-21 06:47:19 +00:00
|
|
|
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
|
|
|
2023-05-20 00:37:27 +00:00
|
|
|
* Wed May 31 2023 Maxwell G <maxwell@gtmx.me> - 1.9.0-1
|
|
|
|
- Allow passing config_settings to the build backend.
|
|
|
|
- Resolves: rhbz#2192581
|
|
|
|
|
2023-05-26 12:21:14 +00:00
|
|
|
* Wed May 31 2023 Miro Hrončok <mhroncok@redhat.com> - 1.8.1-1
|
|
|
|
- On Python older than 3.11, use tomli instead of deprecated toml
|
2023-05-26 17:10:37 +00:00
|
|
|
- Fix literal %% handling in %%{pyproject_files} on RPM 4.19
|
2023-05-26 12:21:14 +00:00
|
|
|
|
2023-05-23 12:58:16 +00:00
|
|
|
* Tue May 23 2023 Miro Hrončok <mhroncok@redhat.com> - 1.8.0-2
|
|
|
|
- Rebuilt for ELN dependency changes
|
|
|
|
|
2023-04-27 07:47:47 +00:00
|
|
|
* Thu Apr 27 2023 Miro Hrončok <mhroncok@redhat.com> - 1.8.0-1
|
|
|
|
- %%pyproject_buildrequires: Add support for self-referential extras requirements
|
|
|
|
Fixes: rhbz#2171343
|
2023-04-18 09:55:52 +00:00
|
|
|
- Deprecate the provisional %%{pyproject_build_lib} macro
|
2023-04-27 07:47:47 +00:00
|
|
|
See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/HMLOPAU3RZLXD4BOJHTIPKI3I4U6U7OE/
|
2023-04-18 09:55:52 +00:00
|
|
|
|
2023-03-31 16:57:54 +00:00
|
|
|
* Fri Mar 31 2023 Miro Hrončok <mhroncok@redhat.com> - 1.7.0-1
|
|
|
|
- %%pyproject_buildrequires: Redirect stdout to stderr via Shell
|
|
|
|
- Dependencies are recorded to a text file that is catted at the end
|
|
|
|
- Fixes: rhbz#2183519
|
|
|
|
|
2023-02-13 15:16:58 +00:00
|
|
|
* Mon Feb 13 2023 Lumír Balhar <lbalhar@redhat.com> - 1.6.3-1
|
|
|
|
- Remove .dist-info directory at the end of %%pyproject_buildrequires
|
|
|
|
- An incomplete .dist-info directory in $PWD can confuse tests in %%check
|
|
|
|
|
2023-02-08 12:42:56 +00:00
|
|
|
* Wed Feb 08 2023 Lumír Balhar <lbalhar@redhat.com> - 1.6.2-1
|
|
|
|
- Improve detection of lang files
|
|
|
|
- Fixes: rhbz#2166295
|
|
|
|
|
2023-02-03 12:40:27 +00:00
|
|
|
* Fri Feb 03 2023 Miro Hrončok <mhroncok@redhat.com> - 1.6.1-1
|
|
|
|
- %%pyproject_buildrequires: Avoid leaking stdout from subprocesses
|
|
|
|
- Fixes: rhbz#2166888
|
|
|
|
|
2023-01-06 12:41:07 +00:00
|
|
|
* Fri Jan 20 2023 Miro Hrončok <miro@hroncok.cz> - 1.6.0-1
|
|
|
|
- Add pyproject-srpm-macros with a minimal %%pyproject_buildrequires macro
|
|
|
|
|
2023-01-20 10:43:08 +00:00
|
|
|
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
|
|
|
2023-01-13 10:54:47 +00:00
|
|
|
* Fri Jan 13 2023 Miro Hrončok <mhroncok@redhat.com> - 1.5.1-1
|
|
|
|
- Adjusts %%pyproject_buildrequires tests for tox 4
|
|
|
|
- Fixes: rhbz#2160687
|
|
|
|
|
2022-11-28 15:29:34 +00:00
|
|
|
* Mon Nov 28 2022 Miro Hrončok <mhroncok@redhat.com> - 1.5.0-1
|
|
|
|
- Use %%py3_test_envvars in %%tox when available
|
|
|
|
|
2022-09-23 10:25:57 +00:00
|
|
|
* Mon Sep 19 2022 Python Maint <python-maint@redhat.com> - 1.4.0-1
|
2022-09-19 16:14:52 +00:00
|
|
|
- %%pyproject_save_files: Support License-Files installed into the *Root License Directory* from PEP 369
|
|
|
|
- Fixes: rhbz#2127946
|
2022-09-23 10:25:57 +00:00
|
|
|
- %%pyproject_check_import: Import only the modules whose top-level names
|
|
|
|
match any of the globs provided to %%pyproject_save_files
|
|
|
|
- Fixes: rhbz#2127958
|
2022-09-19 16:14:52 +00:00
|
|
|
|
2022-08-30 20:22:59 +00:00
|
|
|
* Tue Aug 30 2022 Otto Liljalaakso <otto.liljalaakso@iki.fi> - 1.3.4-1
|
|
|
|
- Fix typo in internal function name
|
|
|
|
|
2022-08-03 11:18:44 +00:00
|
|
|
* Tue Aug 09 2022 Karolina Surma <ksurma@redhat.com> - 1.3.3-1
|
|
|
|
- Don't fail %%pyproject_save_files '*' if no modules are detected
|
|
|
|
|
2022-07-22 15:51:22 +00:00
|
|
|
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.2-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
|
|
|
2022-06-15 15:43:26 +00:00
|
|
|
* Wed Jun 15 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 1.3.2-1
|
|
|
|
- Update %%pyproject_build_lib to support setuptools 62.1.0 and later
|
|
|
|
- Fixes: rhbz#2097158
|
2022-06-16 10:44:27 +00:00
|
|
|
- %%pyproject_buildrequires: When extension modules are built,
|
|
|
|
support https://fedoraproject.org/wiki/Changes/Package_information_on_ELF_objects
|
|
|
|
- Fixes: rhbz#2097535
|
2022-06-15 15:43:26 +00:00
|
|
|
|
2022-06-09 11:47:10 +00:00
|
|
|
* Fri May 27 2022 Owen Taylor <otaylor@redhat.com> - 1.3.1-1
|
2022-05-27 11:52:41 +00:00
|
|
|
- %%pyproject_install: pass %%{_prefix} explicitly to pip install
|
|
|
|
|
2022-05-12 10:42:25 +00:00
|
|
|
* Thu May 12 2022 Miro Hrončok <mhroncok@redhat.com> - 1.3.0-1
|
|
|
|
- Use tomllib from the standard library on Python 3.11+
|
|
|
|
|
2022-04-22 14:48:09 +00:00
|
|
|
* Wed Apr 27 2022 Miro Hrončok <mhroncok@redhat.com> - 1.2.0-1
|
|
|
|
- %%pyproject_buildrequires: Add provisional -w flag for build backends without
|
|
|
|
prepare_metadata_for_build_wheel hook
|
|
|
|
When used, the wheel is built in %%pyproject_buildrequires
|
|
|
|
and information about runtime requires and extras is read from that wheel.
|
|
|
|
- Fixes: rhbz#2076994
|
|
|
|
|
2022-04-12 13:34:26 +00:00
|
|
|
* Tue Apr 12 2022 Miro Hrončok <mhroncok@redhat.com> - 1.1.0-1
|
|
|
|
- %%pyproject_save_files: Support nested directories in dist-info
|
|
|
|
- Fixes: rhbz#1985340
|
|
|
|
|
2022-03-22 15:48:20 +00:00
|
|
|
* Tue Mar 22 2022 Miro Hrončok <mhroncok@redhat.com> - 1.0.1-1
|
|
|
|
- Prefix paths of intermediate files (such as %%{pyproject_files}) with NVRA
|
|
|
|
|
2022-03-01 16:12:41 +00:00
|
|
|
* Tue Mar 01 2022 Miro Hrončok <mhroncok@redhat.com> - 1.0.0-1
|
|
|
|
- Release final version 1.0.0
|
|
|
|
|
2022-02-07 11:02:50 +00:00
|
|
|
* Mon Feb 07 2022 Lumír Balhar <lbalhar@redhat.com> - 1.0.0~rc2-1
|
|
|
|
- Updated compatibility with tox4
|
|
|
|
|
2022-01-25 15:57:17 +00:00
|
|
|
* Tue Jan 25 2022 Miro Hrončok <mhroncok@redhat.com> - 1.0.0~rc1-1
|
|
|
|
- Release version 1.0.0, first release candidate
|
|
|
|
|
2022-01-10 12:32:20 +00:00
|
|
|
* Mon Jan 24 2022 Miro Hrončok <mhroncok@redhat.com> - 0-55
|
|
|
|
- %%pyproject_buildrequires: Generate BuildRequires for this package
|
|
|
|
This package is already installed, but this way, the resulting SRPM explicitly BuildRequires it
|
|
|
|
|
2022-01-17 16:20:54 +00:00
|
|
|
* Wed Jan 19 2022 Karolina Surma <ksurma@redhat.com> - 0-54
|
|
|
|
- Include compressed manpages to the package if flag '+auto' is provided to %%pyproject_save_files
|
|
|
|
- Fixes: rhbz#2033254
|
|
|
|
|
2022-01-14 15:26:40 +00:00
|
|
|
* Fri Jan 14 2022 Miro Hrončok <mhroncok@redhat.com> - 0-53
|
|
|
|
- %%pyproject_buildrequires: Make -r (include runtime) the default, use -R to opt-out
|
|
|
|
|
2021-12-19 22:09:06 +00:00
|
|
|
* Sun Dec 19 2021 Gordon Messmer <gordon.messmer@gmail.com> - 0-52
|
|
|
|
- Handle legacy version specifiers that would previously raise exceptions.
|
|
|
|
|
2021-12-08 10:07:48 +00:00
|
|
|
* Wed Dec 08 2021 Miro Hrončok <mhroncok@redhat.com> - 0-51
|
|
|
|
- Define provisional %%pyproject_build_lib
|
|
|
|
|
2021-10-22 23:30:53 +00:00
|
|
|
* Mon Nov 1 2021 Gordon Messmer <gordon.messmer@gmail.com> - 0-50
|
|
|
|
- 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
|
|
|
|
|
2021-10-27 09:28:45 +00:00
|
|
|
* Tue Oct 19 2021 Karolina Surma <ksurma@redhat.com> - 0-49
|
|
|
|
- %%pyproject_save_files: Save %%_pyproject_modules file with importable module names
|
|
|
|
- Introduce %%pyproject_check_import which passes %%_pyproject_modules to %%py3_check_import
|
|
|
|
- Introduce -t, -e filtering options to %%pyproject_check_import
|
|
|
|
|
2021-10-16 09:16:15 +00:00
|
|
|
* Sat Oct 16 2021 Miro Hrončok <mhroncok@redhat.com> - 0-48
|
|
|
|
- %%pyproject_buildrequires: Accept installed pre-releases for all requirements
|
|
|
|
- Fixes: rhbz#2014639
|
|
|
|
|
2021-09-08 21:09:54 +00:00
|
|
|
* Thu Sep 09 2021 Miro Hrončok <mhroncok@redhat.com> - 0-47
|
|
|
|
- %%pyproject_save_files: Expand the namespace error message, also display it with /
|
2021-09-08 21:14:57 +00:00
|
|
|
- %%pyproject_save_files: Add a workaround error for spaces and [brackets]
|
2021-09-08 21:09:54 +00:00
|
|
|
|
2021-07-20 13:21:35 +00:00
|
|
|
* Fri Jul 23 2021 Miro Hrončok <miro@hroncok.cz> - 0-46
|
|
|
|
- %%pyproject_buildrequires now fails when it encounters an invalid requirement
|
|
|
|
- Fixes: rhbz#1983053
|
2021-07-20 13:35:18 +00:00
|
|
|
- Rename %%_pyproject_ghost_distinfo and %%_pyproject_record to indicate they are private
|
2021-07-20 14:07:25 +00:00
|
|
|
- Automatically detect LICENSE files and mark them with %%license macro
|
2021-07-20 13:21:35 +00:00
|
|
|
|
2021-07-23 04:29:49 +00:00
|
|
|
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0-45
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
|
|
|
2021-07-14 15:13:34 +00:00
|
|
|
* Fri Jul 09 2021 Python Maint <python-maint@redhat.com> - 0-44
|
2021-07-02 11:39:24 +00:00
|
|
|
- Escape weird paths generated by %%pyproject_save_files
|
|
|
|
- Fixes rhbz#1976363
|
2021-07-12 21:24:58 +00:00
|
|
|
- Support x.* versions in %%pyproject_buildrequires
|
|
|
|
- Fixes rhbz#1981558
|
2021-07-14 15:13:34 +00:00
|
|
|
- %%pyproject_buildrequires fallbacks to setuptools only if setup.py exists
|
|
|
|
- Fixes: rhbz#1976459
|
2021-07-17 13:05:33 +00:00
|
|
|
- Explicitly require the "basic" Python RPM macros
|
2021-07-02 11:39:24 +00:00
|
|
|
|
2021-06-28 11:23:19 +00:00
|
|
|
* Thu Jul 01 2021 Tomas Hrnciar <thrnciar@redhat.com> - 0-43
|
|
|
|
- Generate BuildRequires from file
|
|
|
|
- Fixes: rhbz#1936448
|
|
|
|
|
2021-06-29 10:36:21 +00:00
|
|
|
* Tue Jun 29 2021 Miro Hrončok <mhroncok@redhat.com> - 0-42
|
|
|
|
- Don't accidentally treat "~= X.0" requirement as "~= X"
|
2021-07-02 11:34:09 +00:00
|
|
|
- Fixes rhbz#1977060
|
2021-06-29 10:36:21 +00:00
|
|
|
|
2021-06-26 14:31:09 +00:00
|
|
|
* Mon Jun 28 2021 Miro Hrončok <mhroncok@redhat.com> - 0-41
|
|
|
|
- Don't leak %%{_pyproject_builddir} to pytest collection
|
2021-07-02 11:34:09 +00:00
|
|
|
- Fixes rhbz#1935212
|
2021-06-26 14:31:09 +00:00
|
|
|
|
2021-05-27 12:59:56 +00:00
|
|
|
* Thu May 27 2021 Miro Hrončok <mhroncok@redhat.com> - 0-40
|
|
|
|
- Don't leak $TMPDIR outside of pyproject macros
|
2021-05-27 13:16:16 +00:00
|
|
|
- Set %%_pyproject_wheeldir and %%_pyproject_builddir relative to the source tree, not $PWD
|
2021-05-27 12:59:56 +00:00
|
|
|
|
2021-03-29 11:46:30 +00:00
|
|
|
* Mon Mar 29 2021 Miro Hrončok <mhroncok@redhat.com> - 0-39
|
|
|
|
- Handle tox provision (tox.requires / tox.minversion)
|
|
|
|
- Fixes: rhbz#1922495
|
2021-04-07 14:12:40 +00:00
|
|
|
- Generate BuildRequires on extras in lower case
|
|
|
|
- Fixes: rhbz#1937944
|
2021-03-29 11:46:30 +00:00
|
|
|
|
2021-02-07 19:05:47 +00:00
|
|
|
* Sun Feb 07 2021 Miro Hrončok <mhroncok@redhat.com> - 0-38
|
|
|
|
- Include nested __pycache__ directories in %%pyproject_save_files
|
|
|
|
- Fixes: rhbz#1925963
|
|
|
|
|
2021-02-02 22:03:27 +00:00
|
|
|
* Tue Feb 02 2021 Miro Hrončok <mhroncok@redhat.com> - 0-37
|
|
|
|
- Remove support for Python 3.7 from %%pyproject_buildrequires
|
2021-02-02 22:16:59 +00:00
|
|
|
- Generate python3dist(toml) BR with pyproject.toml earlier to avoid extra install round
|
2021-02-02 22:31:44 +00:00
|
|
|
- Generate python3dist(setutpools/wheel) BR without pyproject.toml earlier as well
|
2021-02-02 22:03:27 +00:00
|
|
|
|
2021-01-27 08:56:41 +00:00
|
|
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0-36
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
|
2021-01-15 17:47:11 +00:00
|
|
|
* Fri Jan 15 2021 Miro Hrončok <mhroncok@redhat.com> - 0-35
|
|
|
|
- Update the description of the package to match the new README content
|
|
|
|
|
2020-11-27 14:04:40 +00:00
|
|
|
* Fri Dec 04 2020 Miro Hrončok <miro@hroncok.cz> - 0-34
|
|
|
|
- List all files in %%pyproject_files explicitly to avoid duplicate %%lang entries
|
|
|
|
- If you amend the installed files after %%pyproject_install, %%pyproject_files might break
|
|
|
|
|
2020-11-27 15:20:16 +00:00
|
|
|
* Fri Nov 27 2020 Miro Hrončok <mhroncok@redhat.com> - 0-33
|
|
|
|
- Pass PYTHONDONTWRITEBYTECODE=1 to %%tox to avoid packaged PYTEST bytecode
|
|
|
|
|
2020-11-03 10:29:50 +00:00
|
|
|
* Tue Nov 03 2020 Miro Hrončok <mhroncok@redhat.com> - 0-32
|
|
|
|
- Allow multiple -e in %%pyproject_buildrequires
|
|
|
|
- Fixes: rhbz#1886509
|
|
|
|
|
2020-10-05 22:30:45 +00:00
|
|
|
* Mon Oct 05 2020 Miro Hrončok <mhroncok@redhat.com> - 0-31
|
|
|
|
- Support PEP 517 list based backend-path
|
|
|
|
|
2020-09-29 11:06:05 +00:00
|
|
|
* Tue Sep 29 2020 Lumír Balhar <lbalhar@redhat.com> - 0-30
|
|
|
|
- Process RECORD files in %%pyproject_install and remove them
|
2020-09-30 20:12:03 +00:00
|
|
|
- Support the extras configuration option of tox in %%pyproject_buildrequires -t
|
2020-09-30 20:31:07 +00:00
|
|
|
- Support multiple -x options for %%pyproject_buildrequires
|
2020-09-30 20:12:03 +00:00
|
|
|
- Fixes: rhbz#1877977
|
2020-09-30 20:31:07 +00:00
|
|
|
- Fixes: rhbz#1877978
|
2020-09-29 11:06:05 +00:00
|
|
|
|
2020-09-23 09:10:30 +00:00
|
|
|
* Wed Sep 23 2020 Miro Hrončok <mhroncok@redhat.com> - 0-29
|
|
|
|
- Check the requirements after installing "requires_for_build_wheel"
|
|
|
|
- If not checked, installing runtime requirements might fail
|
|
|
|
|
2020-09-12 07:53:24 +00:00
|
|
|
* Tue Sep 08 2020 Gordon Messmer <gordon.messmer@gmail.com> - 0-28
|
2020-09-09 04:47:51 +00:00
|
|
|
- Support more Python version specifiers in generated BuildRequires
|
|
|
|
- This adds support for the '~=' operator and wildcards
|
|
|
|
|
2020-09-12 07:53:24 +00:00
|
|
|
* Fri Sep 04 2020 Miro Hrončok <miro@hroncok.cz> - 0-27
|
2020-09-03 22:16:27 +00:00
|
|
|
- Make code in $PWD importable from %%pyproject_buildrequires
|
2020-09-04 09:49:36 +00:00
|
|
|
- Only require toml for projects with pyproject.toml
|
2020-09-07 09:44:48 +00:00
|
|
|
- Remove a no longer useful warning for unrecognized files in %%pyproject_save_files
|
2020-09-03 22:16:27 +00:00
|
|
|
|
2020-08-11 12:12:34 +00:00
|
|
|
* Mon Aug 24 2020 Tomas Hrnciar <thrnciar@redhat.com> - 0-26
|
|
|
|
- Implement automatic detection of %%lang files in %%pyproject_save_files
|
|
|
|
and mark them with %%lang in filelist
|
|
|
|
|
2020-08-14 12:57:40 +00:00
|
|
|
* Fri Aug 14 2020 Miro Hrončok <mhroncok@redhat.com> - 0-25
|
|
|
|
- Handle Python Extras in %%pyproject_buildrequires on Fedora 33+
|
|
|
|
|
2020-08-11 13:22:05 +00:00
|
|
|
* Tue Aug 11 2020 Miro Hrončok <mhroncok@redhat.com> - 0-24
|
|
|
|
- Allow multiple, comma-separated extras in %%pyproject_buildrequires -x
|
|
|
|
|
2020-08-10 10:05:45 +00:00
|
|
|
* Mon Aug 10 2020 Lumír Balhar <lbalhar@redhat.com> - 0-23
|
|
|
|
- Make macros more universal for alternative Python stacks
|
|
|
|
|
2020-07-01 11:34:36 +00:00
|
|
|
* Thu Aug 06 2020 Tomas Hrnciar <thrnciar@redhat.com> - 0-22
|
|
|
|
- Change %%pyproject_save_files +bindir argument to +auto
|
|
|
|
to list all unclassified files in filelist
|
|
|
|
|
2020-08-04 13:08:18 +00:00
|
|
|
* Tue Aug 04 2020 Miro Hrončok <mhroncok@redhat.com> - 0-21
|
|
|
|
- Actually implement %%pyproject_extras_subpkg
|
|
|
|
|
2020-07-29 10:49:15 +00:00
|
|
|
* Wed Jul 29 2020 Miro Hrončok <mhroncok@redhat.com> - 0-20
|
|
|
|
- Implement %%pyproject_extras_subpkg
|
|
|
|
|
2020-07-28 23:22:27 +00:00
|
|
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0-19
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
2020-07-16 11:35:02 +00:00
|
|
|
* Thu Jul 16 2020 Miro Hrončok <mhroncok@redhat.com> - 0-18
|
|
|
|
- %%pyproject_buildrequires -x (extras requires for tests) now implies -r
|
|
|
|
(runtime requires) instead of erroring without it for better UX.
|
|
|
|
|
2020-07-15 10:15:19 +00:00
|
|
|
* Wed Jul 15 2020 Miro Hrončok <mhroncok@redhat.com> - 0-17
|
|
|
|
- Set HOSTNAME to prevent tox 3.17+ from a DNS query
|
|
|
|
- Fixes rhbz#1856356
|
|
|
|
|
2020-06-19 19:49:54 +00:00
|
|
|
* Fri Jun 19 2020 Miro Hrončok <mhroncok@redhat.com> - 0-16
|
|
|
|
- Switch from upstream deprecated pytoml to toml
|
|
|
|
|
2020-05-06 10:55:13 +00:00
|
|
|
* Thu May 07 2020 Tomas Hrnciar <thrnciar@redhat.com> - 0-15
|
|
|
|
- Adapt %%pyproject_install not to create a PEP 610 direct_url.json file
|
|
|
|
|
2020-04-15 14:44:04 +00:00
|
|
|
* Wed Apr 15 2020 Patrik Kopkan <pkopkan@redhat.com> - 0-14
|
|
|
|
- Add %%pyproject_save_file macro for generating file section
|
2020-04-16 13:42:50 +00:00
|
|
|
- Handle extracting debuginfo from extension modules (#1806625)
|
2020-04-15 14:44:04 +00:00
|
|
|
|
2020-03-02 10:56:15 +00:00
|
|
|
* Mon Mar 02 2020 Miro Hrončok <mhroncok@redhat.com> - 0-13
|
|
|
|
- Tox dependency generator: Handle deps read in from a text file (#1808601)
|
|
|
|
|
Handle backends with colon, fallback to setuptools.build_meta:__legacy__
Falling back to setuptools.build_meta:__legacy__ is the standard behavior,
not setuptools.build_meta. See PEP 517:
https://www.python.org/dev/peps/pep-0517/
> If the pyproject.toml file is absent, or the build-backend key is missing,
> the source tree is not using this specification, and tools should revert
> to the legacy behaviour of running setup.py (either directly, or by
> implicitly invoking the setuptools.build_meta:__legacy__ backend).
Falling back to setuptools.build_meta had very similar results so far.,
but the behavior might change in the feature.
While working on this, I have uncovered a problem in our code.
It was not able to handle backends with ":". Looking at PEP 517 again:
> build-backend is a string naming a Python object that will be used to
> perform the build. This is formatted following the same module:object syntax
> as a setuptools entry point. For instance, if the string is "flit.api:main",
> this object would be looked up by executing the equivalent of:
>
> import flit.api
> backend = flit.api.main
>
> It's also legal to leave out the :object part, e.g.
>
> build-backend = "flit.api"
>
> which acts like:
>
> import flit.api
> backend = flit.api
We now handle such cases properly. Witch the change of the default backend,
we also test a backend with colon in our tests.
2020-02-05 12:10:51 +00:00
|
|
|
* Wed Feb 05 2020 Miro Hrončok <mhroncok@redhat.com> - 0-12
|
|
|
|
- Fallback to setuptools.build_meta:__legacy__ backend instead of setuptools.build_meta
|
|
|
|
- Properly handle backends with colon
|
2020-02-05 13:33:50 +00:00
|
|
|
- Preserve existing flags in shebangs of Python files in /usr/bin
|
Handle backends with colon, fallback to setuptools.build_meta:__legacy__
Falling back to setuptools.build_meta:__legacy__ is the standard behavior,
not setuptools.build_meta. See PEP 517:
https://www.python.org/dev/peps/pep-0517/
> If the pyproject.toml file is absent, or the build-backend key is missing,
> the source tree is not using this specification, and tools should revert
> to the legacy behaviour of running setup.py (either directly, or by
> implicitly invoking the setuptools.build_meta:__legacy__ backend).
Falling back to setuptools.build_meta had very similar results so far.,
but the behavior might change in the feature.
While working on this, I have uncovered a problem in our code.
It was not able to handle backends with ":". Looking at PEP 517 again:
> build-backend is a string naming a Python object that will be used to
> perform the build. This is formatted following the same module:object syntax
> as a setuptools entry point. For instance, if the string is "flit.api:main",
> this object would be looked up by executing the equivalent of:
>
> import flit.api
> backend = flit.api.main
>
> It's also legal to leave out the :object part, e.g.
>
> build-backend = "flit.api"
>
> which acts like:
>
> import flit.api
> backend = flit.api
We now handle such cases properly. Witch the change of the default backend,
we also test a backend with colon in our tests.
2020-02-05 12:10:51 +00:00
|
|
|
|
2020-01-30 10:14:51 +00:00
|
|
|
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0-11
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
|
2019-11-13 11:39:36 +00:00
|
|
|
* Fri Nov 15 2019 Patrik Kopkan <pkopkan@redhat.com> - 0-10
|
|
|
|
- Install wheel in '$PWD/pyproject-macros-wheeldir' to have more explicit path from which we install.
|
|
|
|
- The path can be changed by redefining %%_pyproject_wheeldir.
|
|
|
|
|
2019-11-13 11:41:31 +00:00
|
|
|
* Wed Nov 13 2019 Anna Khaitovich <akhaitov@redhat.com> - 0-9
|
|
|
|
- Remove stray __pycache__ directory from /usr/bin when running %%pyproject_install
|
|
|
|
|
When tox fails, print tox output before failing
Previously, it wasn't possible to see why tox failed:
...
Requirement satisfied: tox-current-env >= 0.0.2
(installed: tox-current-env 0.0.2)
Traceback (most recent call last):
File "/usr/lib/rpm/redhat/pyproject_buildrequires.py", line 269, in main
generate_requires(
File "/usr/lib/rpm/redhat/pyproject_buildrequires.py", line 221, in generate_requires
generate_tox_requirements(toxenv, requirements)
File "/usr/lib/rpm/redhat/pyproject_buildrequires.py", line 184, in generate_tox_requirements
r = subprocess.run(
File "/usr/lib64/python3.8/subprocess.py", line 512, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['tox', '--print-deps-to-file', '/tmp/tmp96smu4rv', '-qre', 'py38']' returned non-zero exit status 1.
Now it is:
...
Requirement satisfied: tox-current-env >= 0.0.2
(installed: tox-current-env 0.0.2)
ERROR: tox config file (either pyproject.toml, tox.ini, setup.cfg) not found
Traceback (most recent call last):
File "/usr/lib/rpm/redhat/pyproject_buildrequires.py", line 270, in main
generate_requires(
File "/usr/lib/rpm/redhat/pyproject_buildrequires.py", line 222, in generate_requires
generate_tox_requirements(toxenv, requirements)
File "/usr/lib/rpm/redhat/pyproject_buildrequires.py", line 193, in generate_tox_requirements
r.check_returncode()
File "/usr/lib64/python3.8/subprocess.py", line 444, in check_returncode
raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['tox', '--print-deps-to-file', '/tmp/tmpwp8sffv1', '-qre', 'py38']' returned non-zero exit status 1.
Inspired by https://src.fedoraproject.org/rpms/python-chaospy/pull-request/1#comment-32750
2019-10-25 14:51:01 +00:00
|
|
|
* Fri Oct 25 2019 Miro Hrončok <mhroncok@redhat.com> - 0-8
|
|
|
|
- When tox fails, print tox output before failing
|
|
|
|
|
2019-10-08 11:01:08 +00:00
|
|
|
* Tue Oct 08 2019 Miro Hrončok <mhroncok@redhat.com> - 0-7
|
|
|
|
- Move a verbose line of %%pyproject_buildrequires from stdout to stderr
|
|
|
|
|
2019-09-20 08:18:12 +00:00
|
|
|
* Fri Jul 26 2019 Petr Viktorin <pviktori@redhat.com> - 0-6
|
|
|
|
- Use importlib_metadata rather than pip freeze
|
|
|
|
|
2019-07-26 12:34:21 +00:00
|
|
|
* Fri Jul 26 2019 Miro Hrončok <mhroncok@redhat.com> - 0-5
|
|
|
|
- Allow to fetch test dependencies from tox
|
2019-07-26 15:50:36 +00:00
|
|
|
- Add %%tox macro to invoke tests
|
2019-07-26 12:34:21 +00:00
|
|
|
|
2019-07-26 11:47:03 +00:00
|
|
|
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0-4
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
|
2019-07-02 14:53:05 +00:00
|
|
|
* Tue Jul 02 2019 Miro Hrončok <mhroncok@redhat.com> - 0-3
|
|
|
|
- Add %%pyproject_buildrequires
|
|
|
|
|
2019-07-02 12:02:54 +00:00
|
|
|
* Tue Jul 02 2019 Miro Hrončok <mhroncok@redhat.com> - 0-2
|
|
|
|
- Fix shell syntax errors in %%pyproject_install
|
|
|
|
- Drop PATH warning in %%pyproject_install
|
2019-07-02 10:41:04 +00:00
|
|
|
|
|
|
|
* Fri Jun 28 2019 Patrik Kopkan <pkopkan@redhat.com> - 0-1
|
|
|
|
- created package
|