As a member of FESCo or an engineer working on rpmautospec,
I want that release numbers are computed by simply counting out commits since the last version change,
because this relieves the code from having to maintain GIT tags for successful builds, improving robustness.
git
heuristic holistic
The release number is defined as: the number of commits since the last time the RPM version field was changed. The commit changing the version would map to release number 1, the next 2, and so forth. In the case of non-linear history (more than 1 branch being merged since the version change), the longest branch counts.
1
2
Ideas on how to determine the version change: - Parsing RPM spec files in order to determine e.g. the Version field value will be hard and unlikely to be correct (meaning: not guaranteed to get the same result as RPM would), therefore let RPM do the heavy-lifting. - We can query spec files in kind of the same way as packages, e.g. like rpm --queryformat '%{version}\n' --specfile somepackage.spec. This will yield results for the main and all subpackages, so we'll only look at the first line of output and disregard the rest.
Version
rpm --queryformat '%{version}\n' --specfile somepackage.spec
While not everyone in the team is familiar with the existing code base, it could be implemented as a separate proof of concept first, not tightly integrated with existing code. There are helper functions like rpmautospec.misc.get_rpm_current_version(), though, which a) we should employ rather than reinvent the wheel, to b) ease integration in the main code base.
rpmautospec.misc.get_rpm_current_version()
The prototype created git tags for every so-called NEVR (name-epoch-version-release) that was built successfully (see e.g. the tag_package subcommand). The new scheme won't add git tags, or use their information anymore, so we can get rid of all code related to git tagging and doesn't force us to run important pieces in the build root when creating the SRPM in Koji.
tag_package
Metadata Update from @nphilipp: - Issue untagged with: F35 Change
Metadata Update from @nphilipp: - Issue tagged with: F35 Change
Metadata Update from @dkirwan: - Issue assigned to dkirwan
Metadata Update from @amoloney: - Issue set to the milestone: 0.2 (Stg Deployment) - Issue tagged with: Release Bumping Algorithm Functionality, Testing for Builds
Metadata Update from @dkirwan: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
Log in to comment on this ticket.