A package and CLI tool to generate RPM release fields and changelogs.
Project description
This project hosts the rpmautospec python package and script, which has these functions:
Attempt to automatically calculate release numbers and generate an RPM changelog from the dist-git repository of a package.
Tag commits in a dist-git repository with build NEVRs (quoting certain special characters).
Dependencies:
python3
python3-pygit2
General
The script run-rpmautospec.py allows testing the various algorithms for automatic release and changelog generation. It accepts normal CLI options, run python run-rpmautospec.py --help for more information.
Generating a Changelog
This is how you can use it:
Clone a dist-git repository
fedpkg clone -a guake
Generating the changelog, pointing it to the repository cloned above
python run-rpmautospec.py generate-changelog guake
Calculating the Next Value for the Release Field
Calculate the value for the RPM release field by running the script this way:
python run-rpmautospec.py calculate-release <pkgname>
E.g.:
python run-rpmautospec.py calculate-release bash
The rpmautospec Python module is not thread/multiprocess-safe
rpmautospec redefines some RPM macros when parsing spec files or expanding macros. Those definitions are only relevant to the current instance of the rpm module imported in Python, they are not persistent. rpmautospec cleans those definitions when it is done (by reloading RPM config).
However, if another thread or process running from the same Python interpreter instance attempts to change or expand RPM macros in the meantime, the definitions might clash and the cleanup might override other changes.
In case this breaks your use case, please open an issue to discuss it. We can cooperate on some locking mechanism.
Contributing
You need to be legally allowed to submit any contribution to this project. What this means in detail is laid out in the file DCO.txt next to this file. The mechanism by which you certify this is adding a Signed-off-by trailer to git commit log messages, you can do this by using the --signoff/-s option to git commit.
—
License: MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rpmautospec-0.5.1.tar.gz.
File metadata
- Download URL: rpmautospec-0.5.1.tar.gz
- Upload date:
- Size: 97.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8cefbbd389ddfb8de09169a5432af232e059efd442f06a685a1eb0f6d0dcdc0
|
|
| MD5 |
df5ca85bc378538af8b10d84dbb231bb
|
|
| BLAKE2b-256 |
3f1f74b42a8ae54c50f404b6870071d0e9c8729b0a91221fed11d7bdf70290d0
|
File details
Details for the file rpmautospec-0.5.1-py3-none-any.whl.
File metadata
- Download URL: rpmautospec-0.5.1-py3-none-any.whl
- Upload date:
- Size: 24.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
488dc288716b4cec18aec02fa0461a26570579c012a719a454243cf022d24b9a
|
|
| MD5 |
061eb1158a1441bd10bc9dd4d64ea436
|
|
| BLAKE2b-256 |
018ed043e5c25f364c58203d2833d985b2929748009708c7f001980df8d62bc0
|