#21 Use %autochangelog and %autorelease macros
Opened 7 months ago by kkleine. Modified 7 months ago
rpms/ kkleine/python-lit rpmautospec  into  rawhide

file added
+155
@@ -0,0 +1,155 @@ 

+ * Tue Jan 11 2022 Nikita Popov <npopov@redhat.com> - 13.0.0-3

+ - Backport patch 46c947af7 for build reproducibility

+ 

+ * Thu Oct 21 2021 Konrad Kleine <kkleine@redhat.com> - 13.0.0-2

+ - Remove python 2 support

+ 

+ * Tue Oct 05 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-1

+ - 13.0.0 Release

+ 

+ * Mon Aug 09 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0~rc1-2

+ - Add missing dist tag to release

+ 

+ * Fri Aug 06 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0~rc1-1

+ - 13.0.0-rc1 Release

+ 

+ * Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 12.0.1-4

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

+ 

+ * Wed Jul 14 2021 Tom Stellard <tstellar@redhat.com> - 12.0.1-1

+ - 12.0.1 Release

+ 

+ * Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 12.0.0-3

+ - Rebuilt for Python 3.10

+ 

+ * Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 12.0.0-2

+ - Bootstrap for Python 3.10

+ 

+ * Thu May 06 2021 sguelton@redhat.com - 12.0.0-1

+ - 12.0.0 final release

+ 

+ * Tue Feb 23 2021 Pete Walter <pwalter@fedoraproject.org> - 12.0.0-0.2.rc1

+ - rebuilt

+ 

+ * Wed Feb 03 2021 sguelton@redhat.com - 12.0.0-0.1.rc1

+ - 12.0.0 rc1 Release

+ 

+ * Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.1-3.rc2

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

+ 

+ * Tue Jan 05 2021 sguelton@redhat.com - 0.11.1-2.rc2

+ - 0.11.1 rc2 Release

+ 

+ * Wed Dec 02 2020 sguelton@redhat.com - 0.11.1-1.rc1

+ - 0.11.1 rc1 Release

+ 

+ * Sun Oct 25 2020 sguelton@redhat.com - 0.11.0-1

+ - llvm 11.0.0 - final release

+ 

+ * Fri Oct 09 2020 sguelton@redhat.com - 0.11.0-0.2.rc1

+ - Correctly ship license

+ 

+ * Fri Aug 07 2020 Tom Stellard <tstellar@redhat.com> - 0.11.0-0.1.rc1

+ - 0.11.0 rc1 Release

+ 

+ * Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-4

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

+ 

+ * Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 0.10.0-3

+ - Rebuilt for Python 3.9

+ 

+ * Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 0.10.0-2

+ - Bootstrap for Python 3.9

+ 

+ * Thu Apr 9 2020 sguelton@redhat.com - 0.10.0-1

+ - 0.10.0 final release

+ 

+ * Tue Feb 11 2020 sguelton@redhat.com - 0.10.0-0.1.rc1

+ - 0.10.0 rc1 Release

+ 

+ * Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-4

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

+ 

+ * Fri Sep 20 2019 Tom Stellard <tstellar@redhat.com> - 0.9.0-3

+ - Re-enable tests

+ 

+ * Fri Sep 20 2019 Tom Stellard <tstellar@redhat.com> - 0.9.0-2

+ - Disable check to avoid circular dependency with llvm-test

+ 

+ * Fri Sep 20 2019 Tom Stellard <tstellar@redhat.com> - 0.9.0-1

+ - 0.9.0 Release

+ 

+ * Thu Aug 22 2019 Tom Stellard <tstellar@redhat.com> - 0.9.0-0.1.rc4

+ - 0.9.0 rc4 Release

+ 

+ * Tue Aug 20 2019 sguelton@redhat.com - 8.0.0-7

+ - Rebuild for Python 3.8 with test, preparatory work for rhbz#1715016

+ 

+ * Tue Aug 20 2019 sguelton@redhat.com - 8.0.0-6

+ - Rebuild for Python 3.8 without test, preparatory work for rhbz#1715016

+ 

+ * Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.8.0-5

+ - Rebuilt for Python 3.8

+ 

+ * Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-4

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

+ 

+ * Tue Jul 16 2019 sguelton@redhat.com - 8.0.0-3

+ - Fix rhbz#1728067

+ 

+ * Fri Jun 28 2019 sguelton@redhat.com - 8.0.0-2

+ - Fix rhbz#1725155

+ 

+ * Thu Mar 21 2019 sguelton@redhat.com - 8.0.0-1

+ - 0.8.0 Release

+ 

+ * Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.1-2

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

+ 

+ * Mon Dec 17 2018 sguelton@redhat.com - 0.7.1-1

+ - 7.0.1 Release

+ 

+ * Tue Sep 25 2018 Tom Stellard <tstellar@redhat.com> - 0.7.0-2

+ - Add missing dist to release tag

+ 

+ * Fri Sep 21 2018 Tom Stellard <tstellar@redhat.com> - 0.7.0-1

+ - 0.7.0 Release

+ 

+ * Fri Aug 31 2018 Tom Stellard <tstellar@redhat.com> - 0.7.0-0.2.rc1

+ - Add Requires: python[23]-setuptools

+ 

+ * Mon Aug 13 2018 Tom Stellard <tstellar@redhat.com> - 0.7.0-0.1.rc1

+ - 0.7.0 rc1

+ 

+ * Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-3

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

+ 

+ * Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.6.0-2

+ - Rebuilt for Python 3.7

+ 

+ * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-1

+ - 0.6.0 Release

+ 

+ * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-0.2.rc1

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

+ 

+ * Tue Jan 23 2018 Tom Stellard <tstellar@redhat.com> - 0.6.0-0.1.rc1

+ - 0.6.0 rc1

+ 

+ * Tue Jan 23 2018 John Dulaney <jdulaney@fedoraproject.org> - 0.5.1-4

+ - Add a missed python3 conditional around a sed operation

+ 

+ * Mon Jan 15 2018 Merlin Mathesius <mmathesi@redhat.com> - 0.5.1-3

+ - Cleanup spec file conditionals

+ 

+ * Wed Dec 06 2017 Tom Stellard <tstellar@redhat.com> - 0.5.1-2

+ - Fix python prefix in BuildRequires

+ 

+ * Tue Oct 03 2017 Tom Stellard <tstellar@redhat.com> - 0.5.1-1

+ - Rebase to 0.5.1

+ 

+ * Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

+ 

+ * Thu Mar 09 2017 Tom Stellard <tstellar@redhat.com> - 0.5.0-1

+ - Initial version

file added
+5
@@ -0,0 +1,5 @@ 

+ # Workarounds for autorelease and autochangelog

+ addFilter("python-lit.spec: E: specfile-error error: %changelog entries must start with \*")

+ addFilter("python-lit.spec:[0-9]+: W: macro-in-%changelog %autochangelog")

+ addFilter("python-lit.spec: E: specfile-error warning: line [0-9]+: Possible unexpanded macro in: (Requires|Release):(.*?)%{?autorelease}?$")

I don't think this makes sense to add such workarounds to packages. This needs to be fixed in the linter tools.

+ 

file modified
+2 -156
@@ -9,7 +9,7 @@ 

  

  Name: python-%{srcname}

  Version: %{lit_version}%{?rc_ver:~rc%{rc_ver}}

- Release: 3%{?dist}

+ Release: %autorelease

  BuildArch: noarch

  

  License: NCSA
@@ -61,158 +61,4 @@ 

  %{_bindir}/lit

  

  %changelog

- * Tue Jan 11 2022 Nikita Popov <npopov@redhat.com> - 13.0.0-3

- - Backport patch 46c947af7 for build reproducibility

- 

- * Thu Oct 21 2021 Konrad Kleine <kkleine@redhat.com> - 13.0.0-2

- - Remove python 2 support

- 

- * Tue Oct 05 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0-1

- - 13.0.0 Release

- 

- * Mon Aug 09 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0~rc1-2

- - Add missing dist tag to release

- 

- * Fri Aug 06 2021 Tom Stellard <tstellar@redhat.com> - 13.0.0~rc1-1

- - 13.0.0-rc1 Release

- 

- * Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 12.0.1-4

- - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

- 

- * Wed Jul 14 2021 Tom Stellard <tstellar@redhat.com> - 12.0.1-1

- - 12.0.1 Release

- 

- * Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 12.0.0-3

- - Rebuilt for Python 3.10

- 

- * Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 12.0.0-2

- - Bootstrap for Python 3.10

- 

- * Thu May 06 2021 sguelton@redhat.com - 12.0.0-1

- - 12.0.0 final release

- 

- * Tue Feb 23 2021 Pete Walter <pwalter@fedoraproject.org> - 12.0.0-0.2.rc1

- - rebuilt

- 

- * Wed Feb 03 2021 sguelton@redhat.com - 12.0.0-0.1.rc1

- - 12.0.0 rc1 Release

- 

- * Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.1-3.rc2

- - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

- 

- * Tue Jan 05 2021 sguelton@redhat.com - 0.11.1-2.rc2

- - 0.11.1 rc2 Release

- 

- * Wed Dec 02 2020 sguelton@redhat.com - 0.11.1-1.rc1

- - 0.11.1 rc1 Release

- 

- * Sun Oct 25 2020 sguelton@redhat.com - 0.11.0-1

- - llvm 11.0.0 - final release

- 

- * Fri Oct 09 2020 sguelton@redhat.com - 0.11.0-0.2.rc1

- - Correctly ship license

- 

- * Fri Aug 07 2020 Tom Stellard <tstellar@redhat.com> - 0.11.0-0.1.rc1

- - 0.11.0 rc1 Release

- 

- * Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-4

- - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

- 

- * Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 0.10.0-3

- - Rebuilt for Python 3.9

- 

- * Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 0.10.0-2

- - Bootstrap for Python 3.9

- 

- * Thu Apr 9 2020 sguelton@redhat.com - 0.10.0-1

- - 0.10.0 final release

- 

- * Tue Feb 11 2020 sguelton@redhat.com - 0.10.0-0.1.rc1

- - 0.10.0 rc1 Release

- 

- * Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-4

- - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

- 

- * Fri Sep 20 2019 Tom Stellard <tstellar@redhat.com> - 0.9.0-3

- - Re-enable tests

- 

- * Fri Sep 20 2019 Tom Stellard <tstellar@redhat.com> - 0.9.0-2

- - Disable check to avoid circular dependency with llvm-test

- 

- * Fri Sep 20 2019 Tom Stellard <tstellar@redhat.com> - 0.9.0-1

- - 0.9.0 Release

- 

- * Thu Aug 22 2019 Tom Stellard <tstellar@redhat.com> - 0.9.0-0.1.rc4

- - 0.9.0 rc4 Release

- 

- * Tue Aug 20 2019 sguelton@redhat.com - 8.0.0-7

- - Rebuild for Python 3.8 with test, preparatory work for rhbz#1715016

- 

- * Tue Aug 20 2019 sguelton@redhat.com - 8.0.0-6

- - Rebuild for Python 3.8 without test, preparatory work for rhbz#1715016

- 

- * Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.8.0-5

- - Rebuilt for Python 3.8

- 

- * Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-4

- - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

- 

- * Tue Jul 16 2019 sguelton@redhat.com - 8.0.0-3

- - Fix rhbz#1728067

- 

- * Fri Jun 28 2019 sguelton@redhat.com - 8.0.0-2

- - Fix rhbz#1725155

- 

- * Thu Mar 21 2019 sguelton@redhat.com - 8.0.0-1

- - 0.8.0 Release

- 

- * Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.1-2

- - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

- 

- * Mon Dec 17 2018 sguelton@redhat.com - 0.7.1-1

- - 7.0.1 Release

- 

- * Tue Sep 25 2018 Tom Stellard <tstellar@redhat.com> - 0.7.0-2

- - Add missing dist to release tag

- 

- * Fri Sep 21 2018 Tom Stellard <tstellar@redhat.com> - 0.7.0-1

- - 0.7.0 Release

- 

- * Fri Aug 31 2018 Tom Stellard <tstellar@redhat.com> - 0.7.0-0.2.rc1

- - Add Requires: python[23]-setuptools

- 

- * Mon Aug 13 2018 Tom Stellard <tstellar@redhat.com> - 0.7.0-0.1.rc1

- - 0.7.0 rc1

- 

- * Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-3

- - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

- 

- * Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.6.0-2

- - Rebuilt for Python 3.7

- 

- * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-1

- - 0.6.0 Release

- 

- * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-0.2.rc1

- - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

- 

- * Tue Jan 23 2018 Tom Stellard <tstellar@redhat.com> - 0.6.0-0.1.rc1

- - 0.6.0 rc1

- 

- * Tue Jan 23 2018 John Dulaney <jdulaney@fedoraproject.org> - 0.5.1-4

- - Add a missed python3 conditional around a sed operation

- 

- * Mon Jan 15 2018 Merlin Mathesius <mmathesi@redhat.com> - 0.5.1-3

- - Cleanup spec file conditionals

- 

- * Wed Dec 06 2017 Tom Stellard <tstellar@redhat.com> - 0.5.1-2

- - Fix python prefix in BuildRequires

- 

- * Tue Oct 03 2017 Tom Stellard <tstellar@redhat.com> - 0.5.1-1

- - Rebase to 0.5.1

- 

- * Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2

- - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

- 

- * Thu Mar 09 2017 Tom Stellard <tstellar@redhat.com> - 0.5.0-1

- - Initial version

+ %autochangelog 

\ No newline at end of file

This change introduces the %autochangelog and %autorelease macros.

What do we get out of this change?

I've had a long discussion with Zbigniew Jedrzejewski Szmek zjedrzej@redhat.com about
this. The outcome is as follows:

  1. A packager no longer has to manually increase the number in the
    Release: tag or reset it. Increasing is always done when a new commit is
    made. Resetting happens automatically when you bump the Version:
    tag from 13.0.0 to 14.0.0 for example.

  2. A package cosumer is supposed to look at the output of
    rpm -q --changelog <PACKAGE>. Packagers themselves only need to
    care about the first line of their next commit when authoring
    patches.

  3. The newly added changelog file in this patch contains the old
    content of the %changelog section in the spec file.
    I was at first confused for why we not simply keep the section as
    is and have the first line of the new commits appear in the final
    spec file. But I was told that having a very clean spec file makes
    cherry picking patches much more simple. I can see why that is by
    looking at my own history.

This patch only makes sense, if we use %autochangelog and %autorelease
in the rest of the branches for each package as well. Then we can more easily
backport patches for example.

Build succeeded.

Build succeeded.

rebased onto 019b0b1

7 months ago

Build succeeded.

Note that we also have a PR for this for llvm: https://src.fedoraproject.org/rpms/llvm/pull-request/112 with a few pitfalls in the comments.

rebased onto 63a3f3a

7 months ago

Note that we also have a PR for this for llvm: https://src.fedoraproject.org/rpms/llvm/pull-request/112 with a few pitfalls in the comments.

@tbaeder I've seen that and I stumbled over the same issues. I did forget about the .rpmlintrcbut I've included a patch for that now a well.

I noticed that %autorelease when appearing in a commit message's first line will be replaced by the actual number in the final changelog entry. That is odd but it makes sense. If this first line of the commit was indeed a changelog entry one would need to format it differently because it's normal that macro expansions happen there.

Build succeeded.

I don't think this makes sense to add such workarounds to packages. This needs to be fixed in the linter tools.

I don't think this makes sense to add such workarounds to packages. This needs to be fixed in the linter tools.

@zbyszek thank you for sending me the link to this issue https://pagure.io/fedora-infra/rpmautospec/issue/224 and this PR https://pagure.io/fedora-infra/rpmautospec/pull-request/234. This is for the problem of rpmautospec not escaping macros in the commit message that are used in the changelog entry. We don't want expansion of macros in the changelog, when the changelog is being generated from commit messages.