Script to generate an RPM changelog from a git repo
Find a file
2024-09-12 12:43:37 +00:00
rpmautospec Wrap overly long lines 2020-02-26 10:13:56 +01:00
tests Move RPM, Koji code into misc module 2020-02-26 10:13:50 +01:00
LICENSE Specify the license of the code hosted here: CC0 2020-01-28 11:33:16 +01:00
pyproject.toml Add pyproject.toml to set line length for black 2020-02-21 18:22:12 +01:00
README.rst Fix the README syntax 2024-09-12 12:43:37 +00:00
rpmautospec.py Move things to rpmautospec Python package 2020-02-21 18:24:16 +01:00
setup.cfg Move things to rpmautospec Python package 2020-02-21 18:24:16 +01:00
test_requirements.txt Test next_build.py 2020-01-31 19:07:03 +01:00

.. warning::
   This project is now archived and the repository is set to read only.

Testbed for Automatically Generating RPM Release Fields and Changelogs
======================================================================

This project hosts the `rpmautospec` python package and script, which attempt to automatically
calculate release numbers and generate an RPM changelog from the dist-git repository of a package
and the information available in the Koji build system.

Dependencies:

* python3
* python3-pygit2

General
-------

The script `rpmautospec.py` allows testing the various algorithms for automatic release and
changelog generation. It accepts normal CLI options, run `python 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 rpmautospec.py generate-changelog guake


Note: You can also generate a good basic changelog using::

  git log --after=2018-01-28 --pretty=oneline \
    --format='%w(1000)**%h**%n* %cd %an <%ae>%n%w(60,0,2)- %s%n' \
    --date="format:%a %b %d %Y"


Calculating the Next Value for the Release Field
------------------------------------------------

Calculate the next value for the RPM release field (i.e. to be used for the next build) by running
the script this way:

::

  python rpmautospec.py calculate-release [--algorithm ...] <pkgname> <disttag> [<evr>]

E.g.:

::

  python rpmautospec.py calculate-release bash fc31

::

  python rpmautospec.py --algorithm holistic_heuristic gimp fc30


---

License: CC0