mirror of
https://github.com/danieldemus/pyp2spec.git
synced 2026-07-27 21:00:37 +02:00
6.8 KiB
6.8 KiB
Changelog
[0.13.0] - 2025-07-31
Added
- Support for generating spec files from a local path
[0.12.2] - 2025-04-15
Fixed
- Also avoid crashing when you get a specifically None
project_urlsfrom the json
[0.12.1] - 2025-04-07
Fixed
- If no
project_urlsare present in the package data, tryproject_urland fall back topackage_url
[0.12.0] - 2025-03-03
Added
- Support for compat packages of various granularity (eg. '7', '7.2').
Invoke with
--compat <compat-version-string> - Support for pyproject declarative buildsystem, rpm documentation, pyproject-rpm-macros documentation
- section 'Provisional: Declarative Buildsystem (RPM 4.20+)'.
Changed
- Package extras are now primarily read from
provides_extra, only after that's empty fromrequires_dist - Updated the list of Trove License Classifiers
[0.11.1] - 2024-11-21
Changed
- Bring back the processing of the legacy sdist filenames (removed in v0.11.0).
[0.11.0] - 2024-10-22
Added
- For packages that publish METADATA with
License-Filefield on PyPI, the generated spec files contain a flag%pyproject_save_files -lwhich asserts the presence of license files in the distribution during the RPM build
Changed
- Implemented PEP 625: only the standardized sdist filenames are now supported
[0.10.0] - 2024-10-10
Added
- CLI
--automode,-ato create buildable spec files (suitable for automated environments)
Changed
- In the default mode of pyp2spec create a spec file that requires a human input
The top-level modules cannot be easily detected, hence
%pyproject_save_fileshas to be filled in by a packager - Continue with creating the spec files even if the license is not detected, leave the field blank to fill in by the packager
Removed
- Many CLI options and manual config entries. The tool now only takes care of what it can detect from the package data.
[0.9.0] - 2024-04-11
Added
- Added a possibility to create spec files for specific Python versions
Use a new command-line option
-p, --python-alt-versionto set it.
[0.8.0] - 2023-10-11
Added
- Automatically detect whether a package is archful or not based on a wheel name.
If so,
BuildArch: noarchis not used in the resulting spec file. If so,BuildRequires: gccis automatically added to the resulting spec file. - Automatically detect the package extras, provided that an extra contains at least one additional requirement The detected extras are declared as RPM subpackages and required in the build time.
Changed
- Use project version JSON API available at PyPI to obtain package metadata. This ensures all the fields are relevant for the requested package version
Removed
- CLI
--archfulswitch - it's detected automatically now manual_build_requiresconfig optionextra_build_requiresconfig optionextra_tox_envconfig option- support for Python 3.8
[0.7.0] - 2023-05-03
Changed
- rpmautospec macros (
%autochangelogand%autorelease) are now used to populate the respective fields in the generated specfile. The CLI options for defining custom values have been removed - Convert the Python classifiers to Fedora SPDX expressions (where possible, based on PEP 639)
- When
--fedora-compliantoption is set, a check of the converted license expressions is performed to determine whether the license is allowed in Fedora. Data is provided by the Fedora Legal team - tomllib library is used to read toml files from Python 3.11 on
Fixed
- pyp2spec quits when a package is not found on PyPI
[0.6.1] - 2022-08-01
Fixed
- Include LICENSE-MIT-0 in the sdist and fix license metadata
[0.6.0] - 2022-08-01
Changed
- template.spec and the files created by pyp2spec are relicensed under MIT-0 (No attribution) license
- PyPI package names are normalized according to PEP 503 to better conform with Library naming guidelines
- "Initial package" is the new default changelog message, which better reflects the needs of packagers
[0.5.0] - 2022-06-15
Changed
- Clearly state in version that project is in the alpha maturity phase, its API may be subject of change
[0.4.0] - 2022-05-23
Added
- It's possible to declare archful package via CLI (
--archful, -a) - the generated spec file will not containBuildArch: noarchline - Package version compatible with PEP 440 is now converted to RPM scheme, version not following the specification remains unchanged. For that, a modified part of pyreq2rpm is used
Changed
- Requirement to generate the runtime requirements is no longer passed as an
-rflag, this was made the default option as of pyproject-rpm-macros 0-53 - Sources are no longer enumerated as per this change in Fedora's Packaging Guidelines
Fixed
- CLI
--spec-outputoption has got a short version-o.-sis valid for--summary
[0.3.3] - 2022-01-11
Fixed
- Prevent creating spec file without summary (fill in placeholder
...) - Prevent creating spec file with multiline summary value (fill in placeholder
...) - Don't create a spec file when the upstream
licensefield contains the whole license text instead of the keyword - error and end the program. - Add a comment in the generated spec file that the
descriptionfield should be filled in by the packager - Created spec files now contain a newline at the end of file
[0.3.2] - 2021-12-10
Fixed
- If no
project_urlsare present in the package data, fall back topackage_urlwhich always lists the PyPI package URL
[0.3.1] - 2021-12-09
Fixed
- When sdist is in
zipformat, it %{pypi_source} is now correctly called with all arguments: name, version and format
[0.3.0] - 2021-12-08
Added
zipis recognized as a valid sdist format and used to create source macro- Description lines are now wrapped at 79 characters, so they don't annoy rpmlint
MANIFEST.into include tests in sdist
Fixed
- Cassettes were reloaded so that tests don't send real HTTP requests
- 'OSI Approved' License classifier is ignored now, it's a top-level category that doesn't bring any meaningful information
[0.2.0] - 2021-11-29
Added
- Explicit comment in template.spec that "'*' +auto" is not allowed in Fedora
- Command-line option
--top-levelto filter only top-level modules during the check phase
Changed
- Proprietary licenses are declared as "BAD" for Fedora, not "UNKNOWN"
- Minor README corrections
[0.1.0] - 2021-11-19
Added
- pyp2spec: First published version