From 63a3f3add8fbb806eabe40c03abbad9f526ebb12 Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Jan 21 2022 10:05:25 +0000 Subject: Use %autochangelog and %autorelease macros This change introduces the [`%autochangelog`](1) and [`%autorelease`](2) macros. Everytime the `Version:` tag is increased, the `Release:` tag will be reset to `1`. What do we get out of this change? ---------------------------------- I've had a long discussion with Zbigniew Jedrzejewski Szmek 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 `. 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. [1]: https://docs.pagure.org/fedora-infra.rpmautospec/autochangelog.html [2]: https://docs.pagure.org/fedora-infra.rpmautospec/autorelease.html#using-autorelease --- diff --git a/changelog b/changelog new file mode 100644 index 0000000..13be8ad --- /dev/null +++ b/changelog @@ -0,0 +1,155 @@ +* Tue Jan 11 2022 Nikita Popov - 13.0.0-3 +- Backport patch 46c947af7 for build reproducibility + +* Thu Oct 21 2021 Konrad Kleine - 13.0.0-2 +- Remove python 2 support + +* Tue Oct 05 2021 Tom Stellard - 13.0.0-1 +- 13.0.0 Release + +* Mon Aug 09 2021 Tom Stellard - 13.0.0~rc1-2 +- Add missing dist tag to release + +* Fri Aug 06 2021 Tom Stellard - 13.0.0~rc1-1 +- 13.0.0-rc1 Release + +* Fri Jul 23 2021 Fedora Release Engineering - 12.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jul 14 2021 Tom Stellard - 12.0.1-1 +- 12.0.1 Release + +* Fri Jun 04 2021 Python Maint - 12.0.0-3 +- Rebuilt for Python 3.10 + +* Fri Jun 04 2021 Python Maint - 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 - 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 - 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 - 0.11.0-0.1.rc1 +- 0.11.0 rc1 Release + +* Wed Jul 29 2020 Fedora Release Engineering - 0.10.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon May 25 2020 Miro Hrončok - 0.10.0-3 +- Rebuilt for Python 3.9 + +* Mon May 25 2020 Miro Hrončok - 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 - 0.9.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Sep 20 2019 Tom Stellard - 0.9.0-3 +- Re-enable tests + +* Fri Sep 20 2019 Tom Stellard - 0.9.0-2 +- Disable check to avoid circular dependency with llvm-test + +* Fri Sep 20 2019 Tom Stellard - 0.9.0-1 +- 0.9.0 Release + +* Thu Aug 22 2019 Tom Stellard - 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 - 0.8.0-5 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 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 - 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 - 0.7.0-2 +- Add missing dist to release tag + +* Fri Sep 21 2018 Tom Stellard - 0.7.0-1 +- 0.7.0 Release + +* Fri Aug 31 2018 Tom Stellard - 0.7.0-0.2.rc1 +- Add Requires: python[23]-setuptools + +* Mon Aug 13 2018 Tom Stellard - 0.7.0-0.1.rc1 +- 0.7.0 rc1 + +* Sat Jul 14 2018 Fedora Release Engineering - 0.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 0.6.0-2 +- Rebuilt for Python 3.7 + +* Fri Feb 09 2018 Fedora Release Engineering - 0.6.0-1 +- 0.6.0 Release + +* Fri Feb 09 2018 Fedora Release Engineering - 0.6.0-0.2.rc1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 23 2018 Tom Stellard - 0.6.0-0.1.rc1 +- 0.6.0 rc1 + +* Tue Jan 23 2018 John Dulaney - 0.5.1-4 +- Add a missed python3 conditional around a sed operation + +* Mon Jan 15 2018 Merlin Mathesius - 0.5.1-3 +- Cleanup spec file conditionals + +* Wed Dec 06 2017 Tom Stellard - 0.5.1-2 +- Fix python prefix in BuildRequires + +* Tue Oct 03 2017 Tom Stellard - 0.5.1-1 +- Rebase to 0.5.1 + +* Thu Jul 27 2017 Fedora Release Engineering - 0.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Mar 09 2017 Tom Stellard - 0.5.0-1 +- Initial version diff --git a/python-lit.rpmlintc b/python-lit.rpmlintc new file mode 100644 index 0000000..5a2cdf3 --- /dev/null +++ b/python-lit.rpmlintc @@ -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}?$") + diff --git a/python-lit.spec b/python-lit.spec index 0435ecf..0a49839 100644 --- a/python-lit.spec +++ b/python-lit.spec @@ -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 @@ sed -i -e '1{\@^#!/usr/bin/env python@d}' %{buildroot}%{python3_sitelib}/%{srcna %{_bindir}/lit %changelog -* Tue Jan 11 2022 Nikita Popov - 13.0.0-3 -- Backport patch 46c947af7 for build reproducibility - -* Thu Oct 21 2021 Konrad Kleine - 13.0.0-2 -- Remove python 2 support - -* Tue Oct 05 2021 Tom Stellard - 13.0.0-1 -- 13.0.0 Release - -* Mon Aug 09 2021 Tom Stellard - 13.0.0~rc1-2 -- Add missing dist tag to release - -* Fri Aug 06 2021 Tom Stellard - 13.0.0~rc1-1 -- 13.0.0-rc1 Release - -* Fri Jul 23 2021 Fedora Release Engineering - 12.0.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jul 14 2021 Tom Stellard - 12.0.1-1 -- 12.0.1 Release - -* Fri Jun 04 2021 Python Maint - 12.0.0-3 -- Rebuilt for Python 3.10 - -* Fri Jun 04 2021 Python Maint - 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 - 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 - 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 - 0.11.0-0.1.rc1 -- 0.11.0 rc1 Release - -* Wed Jul 29 2020 Fedora Release Engineering - 0.10.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon May 25 2020 Miro Hrončok - 0.10.0-3 -- Rebuilt for Python 3.9 - -* Mon May 25 2020 Miro Hrončok - 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 - 0.9.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Sep 20 2019 Tom Stellard - 0.9.0-3 -- Re-enable tests - -* Fri Sep 20 2019 Tom Stellard - 0.9.0-2 -- Disable check to avoid circular dependency with llvm-test - -* Fri Sep 20 2019 Tom Stellard - 0.9.0-1 -- 0.9.0 Release - -* Thu Aug 22 2019 Tom Stellard - 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 - 0.8.0-5 -- Rebuilt for Python 3.8 - -* Fri Jul 26 2019 Fedora Release Engineering - 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 - 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 - 0.7.0-2 -- Add missing dist to release tag - -* Fri Sep 21 2018 Tom Stellard - 0.7.0-1 -- 0.7.0 Release - -* Fri Aug 31 2018 Tom Stellard - 0.7.0-0.2.rc1 -- Add Requires: python[23]-setuptools - -* Mon Aug 13 2018 Tom Stellard - 0.7.0-0.1.rc1 -- 0.7.0 rc1 - -* Sat Jul 14 2018 Fedora Release Engineering - 0.6.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 0.6.0-2 -- Rebuilt for Python 3.7 - -* Fri Feb 09 2018 Fedora Release Engineering - 0.6.0-1 -- 0.6.0 Release - -* Fri Feb 09 2018 Fedora Release Engineering - 0.6.0-0.2.rc1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Jan 23 2018 Tom Stellard - 0.6.0-0.1.rc1 -- 0.6.0 rc1 - -* Tue Jan 23 2018 John Dulaney - 0.5.1-4 -- Add a missed python3 conditional around a sed operation - -* Mon Jan 15 2018 Merlin Mathesius - 0.5.1-3 -- Cleanup spec file conditionals - -* Wed Dec 06 2017 Tom Stellard - 0.5.1-2 -- Fix python prefix in BuildRequires - -* Tue Oct 03 2017 Tom Stellard - 0.5.1-1 -- Rebase to 0.5.1 - -* Thu Jul 27 2017 Fedora Release Engineering - 0.5.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Thu Mar 09 2017 Tom Stellard - 0.5.0-1 -- Initial version +%autochangelog \ No newline at end of file