mirror of
https://github.com/danieldemus/pyp2spec.git
synced 2026-07-27 21:00:37 +02:00
177 lines
6.8 KiB
Markdown
177 lines
6.8 KiB
Markdown
# 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_urls` from the json
|
|
|
|
# [0.12.1] - 2025-04-07
|
|
### Fixed
|
|
- If no `project_urls` are present in the package data, try `project_url` and
|
|
fall back to `package_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](https://rpm-software-management.github.io/rpm/manual/buildsystem.html), [pyproject-rpm-macros documentation](https://src.fedoraproject.org/rpms/pyproject-rpm-macros)
|
|
- section 'Provisional: Declarative Buildsystem (RPM 4.20+)'.
|
|
|
|
### Changed
|
|
- Package extras are now primarily read from `provides_extra`, only after that's empty from `requires_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-File` field on PyPI,
|
|
the generated spec files contain a flag `%pyproject_save_files -l`
|
|
which 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`, `-a` to 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_files`
|
|
has 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-version` to 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: noarch` is not used in the resulting spec file.
|
|
If so, `BuildRequires: gcc` is 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 `--archful` switch - it's detected automatically now
|
|
- `manual_build_requires` config option
|
|
- `extra_build_requires` config option
|
|
- `extra_tox_env` config option
|
|
- support for Python 3.8
|
|
|
|
|
|
# [0.7.0] - 2023-05-03
|
|
### Changed
|
|
- rpmautospec macros (`%autochangelog` and `%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](https://peps.python.org/pep-0639/))
|
|
- When `--fedora-compliant` option 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](https://gitlab.com/fedora/legal/fedora-license-data/)
|
|
- 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](https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_naming)
|
|
- "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 contain `BuildArch: noarch` line
|
|
- 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](https://github.com/gordonmessmer/pyreq2rpm/blob/master/pyreq2rpm/pyreq2rpm.py) is used
|
|
|
|
### Changed
|
|
- Requirement to generate the runtime requirements is no longer passed as an `-r` flag,
|
|
this was made the default option as of pyproject-rpm-macros 0-53
|
|
- Sources are no longer enumerated as per [this change](https://pagure.io/packaging-committee/pull-request/1157) in Fedora's Packaging Guidelines
|
|
|
|
### Fixed
|
|
- CLI `--spec-output` option has got a short version `-o`. `-s` is 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 `license` field contains the whole license text instead of the keyword - error and end the program.
|
|
- Add a comment in the generated spec file that the `description` field 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_urls` are present in the package data, fall back to `package_url`
|
|
which always lists the PyPI package URL
|
|
|
|
|
|
## [0.3.1] - 2021-12-09
|
|
### Fixed
|
|
- When sdist is in `zip` format, it %{pypi_source} is now correctly called with all arguments: name, version and format
|
|
|
|
|
|
## [0.3.0] - 2021-12-08
|
|
### Added
|
|
- `zip` is 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.in` to 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-level` to 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
|