70432b6
Name:           python-rpm-generators
ad70cab
Summary:        Dependency generators for Python RPMs
197a88b
Version:        14
223b71b
Release:        10%{?dist}
ad70cab
f9b21ec
Url:            https://src.fedoraproject.org/rpms/python-rpm-generators
50768e7
50768e7
# Originally the following files were part of RPM, so the license is inherited: GPL-2.0-or-later
50768e7
# The COPYING file is grabbed from the last commit that changed the files
ad70cab
Source0:        https://raw.githubusercontent.com/rpm-software-management/rpm/102eab50b3d0d6546dfe082eac0ade21e6b3dbf1/COPYING
ad70cab
Source1:        python.attr
dc64d7b
Source2:        pythondist.attr
50768e7
# This was crafted in-place as a fork of python.attr, hence also GPL-2.0-or-later
bbfe493
Source3:        pythonname.attr
50768e7
# This one is also originally from RPM, but it has its own license declaration: LGPL-2.1-or-later
bbfe493
Source4:        pythondistdeps.py
50768e7
# This was crafted in-place with the following license declaration:
50768e7
#  LicenseRef-Fedora-Public-Domain OR CC0-1.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
50768e7
# Note that CC0-1.0 is not allowed for code in Fedora, so we skip it in the package License tag
48c0de3
Source5:        pythonbundles.py
70432b6
50768e7
# See individual licenses above Source declarations
50768e7
# Originally, this was simplified to GPL-2.0-or-later, but "effective license" analysis is no longer allowed
50768e7
License:        GPL-2.0-or-later AND LGPL-2.1-or-later AND (LicenseRef-Fedora-Public-Domain OR LGPL-2.1-or-later OR GPL-2.0-or-later)
50768e7
70432b6
BuildArch:      noarch
70432b6
70432b6
%description
ad70cab
%{summary}.
70432b6
ad70cab
%package -n python3-rpm-generators
70432b6
Summary:        %{summary}
438d8d3
Requires:       python3-packaging
ff7b9b1
# We have parametric macro generators, we need RPM 4.16 (4.15.90+ is 4.16 alpha)
ff7b9b1
Requires:       rpm > 4.15.90-0
33358b9
# This contains the Lua functions we use:
b1fa63b
Requires:       python-srpm-macros >= 3.10-15
70432b6
70432b6
%description -n python3-rpm-generators
ad70cab
%{summary}.
70432b6
70432b6
%prep
ad70cab
%autosetup -c -T
ad70cab
cp -a %{sources} .
70432b6
70432b6
%install
bbfe493
install -Dpm0644 -t %{buildroot}%{_fileattrsdir} *.attr
48c0de3
install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} *.py
70432b6
70432b6
%files -n python3-rpm-generators
d3fea05
%license COPYING
70432b6
%{_fileattrsdir}/python.attr
1d1b5f8
%{_fileattrsdir}/pythondist.attr
bbfe493
%{_fileattrsdir}/pythonname.attr
70432b6
%{_rpmconfigdir}/pythondistdeps.py
48c0de3
%{_rpmconfigdir}/pythonbundles.py
70432b6
70432b6
%changelog
223b71b
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 14-10
223b71b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
223b71b
f3d6832
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 14-9
f3d6832
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
f3d6832
52372a4
* Tue Oct 03 2023 Miro Hrončok <mhroncok@redhat.com> - 14-8
52372a4
- Avoid DeprecationWarning: Implicit None on return values is deprecated and will raise KeyErrors
52372a4
8fe27ad
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 14-7
8fe27ad
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
8fe27ad
f9b21ec
* Wed May 24 2023 Todd Zullinger <tmz@pobox.com> - 14-6
f9b21ec
- Fix URL tag
f9b21ec
50768e7
* Fri May 05 2023 Miro Hrončok <mhroncok@redhat.com> - 14-5
50768e7
- Declare the license via a complex SPDX expression rather than "effective license"
50768e7
47a0b37
* Mon Apr 17 2023 Kalev Lember <klember@redhat.com> - 14-4
47a0b37
- Generate provides for /app-installed flatpak builds
47a0b37
279638a
* Tue Mar 07 2023 Miro Hrončok <mhroncok@redhat.com> - 14-3
279638a
- Avoid needless pkg_resources import in pythonbundles.py
079b71a
- Ignore environment markers in pythonbundles.py
279638a
9d7ca94
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 14-2
9d7ca94
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
9d7ca94
197a88b
* Thu Dec 22 2022 Karolina Surma <ksurma@redhat.com> - 14-1
197a88b
- https://fedoraproject.org/wiki/Changes/Prevent-Providing-python3dist(pkg)=0
197a88b
7b3e3b3
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 13-2
7b3e3b3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
7b3e3b3
cf65060
* Thu Jun 02 2022 Miro Hrončok <mhroncok@redhat.com> - 13-1
cf65060
- https://fedoraproject.org/wiki/Changes/PythonDistPEP503ProvidesOnly
cf65060
0bd051d
* Fri May 27 2022 Miro Hrončok <mhroncok@redhat.com> - 12-15
0bd051d
- Don't include all requirements with True-evaluating markers in extras subpackages
0bd051d
- Fixes: rhbz#2090186
0bd051d
76e71de
* Thu Feb 10 2022 Sandro Mani <manisandro@gmail.com> - 12-14
76e71de
- Add namespace option to pythodistdeps.py to allow mingw-python generatros
76e71de
b1fa63b
* Wed Jan 26 2022 Tomas Orsava <torsava@redhat.com> - 12-13
b1fa63b
- From `python3-foo` packages automatically generate `python3.X-foo` Obsoletes
b1fa63b
  tags on CentOS/RHEL
b1fa63b
2ff265d
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 12-12
2ff265d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
2ff265d
2c2f8bd
* Sun Dec 19 2021 Gordon Messmer <gordon.messmer@gmail.com> - 12-11
2c2f8bd
- Handle legacy version specifiers that would previously raise exceptions.
2c2f8bd
a3ad67b
* Fri Oct 29 2021 Gordon Messmer <gordon.messmer@gmail.com> - 12-10
a3ad67b
- Additional fix for dev releases.
a3ad67b
27f9733
* Thu Oct 28 2021 Gordon Messmer <gordon.messmer@gmail.com> - 12-9
27f9733
- Sync dependency conversion with upstream pyreq2rpm.
27f9733
- Improve handling of > and < operators, and != operator with prefix matching
27f9733
98fa009
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 12-8
98fa009
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
98fa009
cc489bd
* Tue May 25 2021 Tomas Orsava <torsava@redhat.com> - 12-7
cc489bd
- pythondistdeps.py: Detect missing or corrupted metadata
cc489bd
- pythondistdeps.py: Catch all exceptions and terminate the build if one is raised
cc489bd
20f8b2c
* Mon Apr 19 2021 Miro Hrončok <mhroncok@redhat.com> - 12-6
20f8b2c
- Get rid of distutils deprecation warning (by not using it)
20f8b2c
- The distutils module is deprecated in Python 3.10+
20f8b2c
- https://www.python.org/dev/peps/pep-0632/
20f8b2c
0a12aa5
* Wed Mar 31 2021 Miro Hrončok <mhroncok@redhat.com> - 12-5
0a12aa5
- Do not generate setuptools requirement for console_scripts on Python 3.10+
0a12aa5
- See https://fedoraproject.org/wiki/Changes/Reduce_dependencies_on_python3-setuptools
0a12aa5
3a4efad
* Thu Mar 11 2021 Tomas Orsava <torsava@redhat.com> - 12-4
3a4efad
- scripts/pythondistdeps: Treat extras names case-insensitively and always
3a4efad
  output them in lower case (#1936875)
3a4efad
48510ee
* Mon Feb 22 2021 Tomas Orsava <torsava@redhat.com> - 12-3
48510ee
- scripts/pythondistdeps: Fix for Python 3.10
48510ee
438d8d3
* Wed Feb 17 2021 Tomas Orsava <torsava@redhat.com> - 12-2
438d8d3
- scripts/pythondistdeps: Switch from using pkg_resources to importlib.metadata
438d8d3
  for reading the egg/dist-info metadata
438d8d3
- The script no longer requires setuptools but instead requires packaging
438d8d3
8c2a1c0
* Wed Feb 03 2021 Miro Hrončok <mhroncok@redhat.com> - 12-1
8c2a1c0
- Disable the dist generators for Python 2
8c2a1c0
- https://fedoraproject.org/wiki/Changes/Disable_Python_2_Dist_RPM_Generators_and_Freeze_Python_2_Macros
8c2a1c0
b65cf85
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11-13
b65cf85
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
b65cf85
d77d134
* Mon Oct 19 2020 Tomas Orsava <torsava@redhat.com> - 11-12
d77d134
- Run scripts in an isolated Python environment (#1889080)
d77d134
df7ed92
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 11-11
df7ed92
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
df7ed92
7398b71
* Tue Jul 21 2020 Miro Hrončok <mhroncok@redhat.com> - 11-10
7398b71
- pythondistdeps: Split Python Extras names after the rightmost plus sign
fbe1c77
- pythondistdeps: Handle edge cases of version comparisons more closely to
fbe1c77
  upstream, despite irrationality
fbe1c77
  See: https://github.com/pypa/packaging/issues/320
7398b71
098c48d
* Fri Jul 10 2020 Tomas Orsava <torsava@redhat.com> - 11-9
b6e0638
- pythondistdeps: Implement provides/requires for extras packages
b6e0638
- Enable --require-extras-subpackages
d1a02fd
- Adapt Python version marker workaround for setuptools 42+
b6e0638
48c0de3
* Fri Jun 26 2020 Miro Hrončok <mhroncok@redhat.com> - 11-8
e78c420
- Fix python(abi) requires generator, it picked files from almost good directories
48c0de3
- Add a script to generate Python bundled provides
e78c420
3a396fb
* Thu May 21 2020 Miro Hrončok <mhroncok@redhat.com> - 11-7
3a396fb
- Use PEP 503 names for requires
3a396fb
33358b9
* Tue May 05 2020 Miro Hrončok <mhroncok@redhat.com> - 11-6
33358b9
- Deduplicate automatically provided names trough Python RPM Lua macros
33358b9
54e4aa7
* Wed Apr 29 2020 Tomas Orsava <torsava@redhat.com> - 11-5
54e4aa7
- Backporting proposed upstream changes
54e4aa7
  https://github.com/rpm-software-management/rpm/pull/1195
54e4aa7
  - Only provide python3dist(..) for the main Python versions (BZ#1812083)
54e4aa7
  - Preparation for the proper handling of normalized names (BZ#1791530)
54e4aa7
  - Add a test suite (and enable it in Fedora CI)
54e4aa7
  - Better error messages for unsupported package versions
54e4aa7
  - Fix sorting of dev versions
54e4aa7
c824910
* Tue Apr 28 2020 Miro Hrončok <mhroncok@redhat.com> - 11-4
c824910
- Don't define global Lua variables from Python generator
c824910
0ec8581
* Mon Apr 20 2020 Gordon Messmer <gordon.messmer@gmail.com> - 11-3
0ec8581
- Handle all-zero versions without crashing
0ec8581
8eef42c
* Tue Apr 07 2020 Miro Hrončok <mhroncok@redhat.com> - 11-2
8eef42c
- Use dynamic %%_prefix value when matching files for python(abi) provides
783dcc7
- Sync with upstream RPM dist generator
8eef42c
ff7b9b1
* Wed Apr 01 2020 Miro Hrončok <mhroncok@redhat.com> - 11-1
ff7b9b1
- Rewrite python(abi) generators to Lua to make them faster
ff7b9b1
- RPM 4.16+ is needed
bbfe493
- Automatically call %%python_provide
ff7b9b1
caccd3e
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10-4
caccd3e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
caccd3e
7d819e0
* Fri Jan 17 2020 Miro Hrončok <mhroncok@redhat.com> - 10-3
7d819e0
- Also provide pythonXdist() with PEP 503 normalized names (#1791530)
7d819e0
724a52a
* Fri Jan 03 2020 Miro Hrončok <mhroncok@redhat.com> - 10-2
724a52a
- Fix more complicated requirement expressions by adding parenthesis
724a52a
ca811db
* Wed Jan 01 2020 Miro Hrončok <mhroncok@redhat.com> - 10-1
ca811db
- Handle version ending with ".*" (#1758141)
ca811db
- Handle compatible-release operator "~=" (#1758141)
ca811db
- Use rich deps for semantically versioned dependencies
ca811db
- Match Python version if minor has multiple digits (e.g. 3.10, #1777382)
ca811db
- Only add setuptools requirement for egg-info packages
ca811db
b9fe0e7
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 9-2
b9fe0e7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
b9fe0e7
ff085a0
* Mon Jun 24 2019 Tomas Orsava <torsava@redhat.com> - 9-1
ff085a0
- Canonicalize Python versions and properly handle != spec
ff085a0
70b3ebc
* Wed Apr 17 2019 Miro Hrončok <mhroncok@redhat.com> - 8-1
70b3ebc
- console_scripts entry points to require setuptools
70b3ebc
  https://github.com/rpm-software-management/rpm/pull/666
70b3ebc
67cc59d
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7-2
67cc59d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
67cc59d
e745e14
* Thu Dec 20 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 7-1
e745e14
- Enable requires generator
e745e14
9f6f709
* Wed Oct 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6-1
9f6f709
- Tighten regex for depgen
9f6f709
1879d8a
* Sat Jul 28 2018 Miro Hrončok <mhroncok@redhat.com> - 5-4
1879d8a
- Use nonstandardlib for purelib definition (#1609492)
1879d8a
dc64d7b
* Sat Jul 28 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5-3
dc64d7b
- Add pythondist generator
dc64d7b
0fb3620
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5-2
0fb3620
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
0fb3620
ad70cab
* Sun Feb 11 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5-1
ad70cab
- Fork upstream generators
5aa670b
- "Fix" support of environment markers
ad70cab
f3aa226
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.14.0-2.1
f3aa226
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
f3aa226
17d4b25
* Tue Nov 28 2017 Tomas Orsava <torsava@redhat.com> - 4.14.0-2
17d4b25
- Switch bootsrapping macro to a bcond for modularity
17d4b25
eee8ac4
* Fri Oct 20 2017 Tomas Orsava <torsava@redhat.com> - 4.14.0-1
eee8ac4
- Rebase to rpm 4.14.0 final (http://rpm.org/wiki/Releases/4.14.0)
eee8ac4
- Re-synchronize version/release macros with the rpm Fedora package
eee8ac4
97d7b2f
* Mon Sep 18 2017 Tomas Orsava <torsava@redhat.com> - 4.14.0-0.rc1.1
97d7b2f
- Update to a new upstream version of RPM
97d7b2f
- Drop upstreamed patches
97d7b2f
- Renumber remaining patches
97d7b2f
d64bb3e
* Thu Aug 24 2017 Miro Hrončok <mhroncok@redhat.com> - 4.13.0.1-4
d64bb3e
- Add patch 10: Do not provide pythonXdist for platform-python packages (rhbz#1484607)
d64bb3e
Iryna Shcherbina ea8d0d4
* Tue Aug 08 2017 Tomas Orsava <torsava@redhat.com> - 4.13.0.1-3
Iryna Shcherbina ea8d0d4
- Add patch 9: Generate requires and provides for platform-python(abi)
Iryna Shcherbina ea8d0d4
  (https://fedoraproject.org/wiki/Changes/Platform_Python_Stack)
Iryna Shcherbina ea8d0d4
16e4203
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.13.0.1-2.1
16e4203
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
16e4203
d3fea05
* Thu May 18 2017 Tomas Orsava <torsava@redhat.com> - 4.13.0.1-2
d3fea05
- Added a license file
d3fea05
- Added a dependency on rpm for the proper directory structure
d3fea05
- Properly owning the __pycache__ directory
d3fea05
70432b6
* Tue May 02 2017 Tomas Orsava <torsava@redhat.com> - 4.13.0.1-1
70432b6
- Splitting Python RPM generators from the `rpm` package to standalone one