(Created page with "= Patches in Forge macros - Auto macros - Detached rpm changelogs = == Summary == redhat-rpm-config will be updated so users of the auto framework get automated release and...") |
|||
Line 28: | Line 28: | ||
* Tracker bug: <will be assigned by the Wrangler> | * Tracker bug: <will be assigned by the Wrangler> | ||
* Release notes tracker: <will be assigned by the Wrangler> | * Release notes tracker: <will be assigned by the Wrangler> | ||
* FPC issue: https://pagure.io/packaging-committee/issue/998 | |||
== Detailed Description == | == Detailed Description == |
Revision as of 16:17, 30 June 2020
Patches in Forge macros - Auto macros - Detached rpm changelogs
Summary
redhat-rpm-config will be updated so users of the auto framework get automated release and changelog bumping.
Owner
- Name: Nicolas Mailhot
- Email: <nicolas.mailhot at laposte.net>
Current status
- Targeted release: Fedora 34
- Last updated: 2020-06-30
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
- FPC issue: https://pagure.io/packaging-committee/issue/998
Detailed Description
The change is market as system-wide because all packages build with redhat-rpm-config, but it only concerns packages that opted to use this part of redhat-rpm-config (auto framework).
I will make those packages auto-bump and auto-changelog at the rpm level, in an infrastructure-independant way.
Feedback
Benefit to Fedora
Autobumping removes a huge packager shore and makes timestamping in changelogs more reliable.
Scope
- Proposal owners: The feature is coded and works at the rpm level. Unfortunately, mock filters away the srpms containing the bump state, so it does not work in upper layers.
- Other developers: The feature requires buy-in by mock developers (and probably koji developers) to lift the restrictions that block it above the rpm level. Also, it requires a mecanism to pass the user name and email that will be used in bumped changelogs (defining two variables in ~/.rpmmacros is sufficient at rpm level)
- Release engineering: #Releng issue number (a check of an impact with Release Engineering is needed)
- Policies and guidelines:
Forge guidelines will need some rework (mostly simplification, because the new syntax is both more powerful and more regular). For the average packager, the new syntax is the same old syntax with little naming adjustments (for example, %{forgeurl} becomes %{forge_url}, %forgemeta is subsumed into %auto_init, etc)
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
This is a pure build tooling update, it changes how things are built not what is built.
How To Test
A redhat-rpm-config packages with the changes and some example packages are available in
https://copr.fedorainfracloud.org/coprs/nim/refactoring-forge-patches-auto-call-bump-changelog-fonts/builds/
Since the mock/copr layer is currently blocking the feature, you need to install the redhat-rpm-config and forge macro packages available in this repo locally. Afterwards you can take any of the example packages in the repo and rebuild them with rpmbuild -ba to your heart content, and see the releases bump and the changelogs being updated accordingly.
To get beautiful changelogs, you also need to add
%buildsys_name Your name %buildsys_email Your email
in ~/.rpmmacros
User Experience
N/A Packager experience change only
Dependencies
The change is a spin-off of
Therefore, it depends on the success of that other change and will probably need rebasing if the code in this other change evolves during the redhat-rpm-config merge.
It also depends on mock / copr/ koji buy-in and changes, that may add their own requirements.
Contingency Plan
There is no contingency plan because the change will happen or not at all.
Documentation
There is as much documentation as the average redhat-rpm-config change (ie comments in the macro files themselves)
Release Notes
N/A Packager productivity change only