Rpmautospec (`%autorelease` and `%autochangelog`) is recommended as
the default approach.
Packaging Guidelines and other documentation are adjusted to describe
this approach first.
Various tools that provide spec file templates are adjusted.
-1 to this proposal.
As I had already written when this was first introduced, autogenerating the
changelog from git history is a bad idea, especially in Fedora dist-git
where published git history cannot ever be rewritten, so it is impossible to
fix typos in the changelog, hide fixup commits if they did not use the
proper fixup markup (or even avoid them altogether by amending the
previously pushed commit), etc., which all requires to at least be able to
edit commit messages, which unfortunately in git means you need to be able
to amend the commit altogether and force-push. As long as such force-pushes
are by design not allowed in Fedora dist-git, its (effectively immutable)
metadata is not a suitable place to maintain the changelog in.
In addition, it assumes that the commits in git use the correct format for
%autochangelog. In my current commits, I paste the full changelog entry with
date and all into the commit details field and add a one-line summary as the
commit summary. (Git-Cola automatically turns this into a commit message in
the conventional git format summary + blank line (i.e., 2 newlines) +
details.) Obviously, I do not want the date line to be pasted back into the
changelog below an automatically generated one. (My older commits from pre-
git times even had only the full changelog entry pasted with no summary
line.) In addition, sometimes, I add details to the git commit message that
are too long for the RPM changelog and hence are deliberately only in the
git commit message. (More precisely, I append to the pasted changelog entry
a blank line and one or more freeform paragraphs with the extra details.) I
do not want those to ever be automatically added to the RPM changelog
either.
Kevin Kofler