Compare commits

..

36 commits

Author SHA1 Message Date
Packit
6efa30bf3b Update to 0.38.0 upstream release
Upstream tag: 0.38.0
Upstream commit: a07560dd

Commit authored by Packit automation (https://packit.dev/)
2026-01-08 13:48:33 +00:00
Packit
62f2ad8d8a Update to 0.37.1 upstream release
Upstream tag: 0.37.1
Upstream commit: 21a45baa

Commit authored by Packit automation (https://packit.dev/)
2025-10-03 12:55:04 +00:00
Packit
eea0fd26e6 Update to 0.37.0 upstream release
Upstream tag: 0.37.0
Upstream commit: aafca33c

Commit authored by Packit automation (https://packit.dev/)
2025-09-05 11:38:01 +00:00
Packit
02e4a45c28 Update to 0.36.0 upstream release
Upstream tag: 0.36.0
Upstream commit: 24206539

Commit authored by Packit automation (https://packit.dev/)
2025-05-30 13:11:41 +00:00
Packit
9cf6dcd35e Update to 0.35.0 upstream release
Upstream tag: 0.35.0
Upstream commit: e059c302

Commit authored by Packit automation (https://packit.dev/)
2025-04-13 19:46:18 +00:00
Packit
9d32543db9 Update to 0.34.2 upstream release
Upstream tag: 0.34.2
Upstream commit: 875f03ed

Commit authored by Packit automation (https://packit.dev/)
2025-03-18 07:27:04 +00:00
Packit
b470d55f1d Update to 0.34.1 upstream release
Upstream tag: 0.34.1
Upstream commit: 192a081a

Commit authored by Packit automation (https://packit.dev/)
2025-02-07 14:33:54 +00:00
Packit
a14e4fb7dc Update to 0.34.0 upstream release
- Resolves: rhbz#2342178

Upstream tag: 0.34.0
Upstream commit: 84d6f3b4

Commit authored by Packit automation (https://packit.dev/)
2025-01-28 16:28:52 +01:00
Packit
9f3db48171 Update to 0.33.0 upstream release
- Resolves: rhbz#2332288

Upstream tag: 0.33.0
Upstream commit: c0a98a85

Commit authored by Packit automation (https://packit.dev/)
2024-12-16 08:23:04 +00:00
Packit
2a5b426ef4 Update to 0.32.6 upstream release
- Resolves: rhbz#2318011

Upstream tag: 0.32.6
Upstream commit: 442e2a97

Commit authored by Packit automation (https://packit.dev/)
2024-11-14 12:16:54 +00:00
Packit
2cbf320d45 Update to 0.32.5 upstream release
Upstream tag: 0.32.5
Upstream commit: c38cfaad

Commit authored by Packit automation (https://packit.dev/)
2024-10-26 21:34:10 +00:00
Packit
15f5835784 Update to 0.32.3 upstream release
- Resolves: rhbz#2299289

Upstream tag: 0.32.3
Upstream commit: c2be0297

Commit authored by Packit automation (https://packit.dev/)
2024-09-30 09:52:29 +00:00
Packit
658fc921d0 Update to 0.32.2 upstream release
Upstream tag: 0.32.2
Upstream commit: 514fbded

Commit authored by Packit automation (https://packit.dev/)
2024-09-15 20:57:49 +00:00
Packit
e7dfbaab7c Update to 0.32.1 upstream release
Upstream tag: 0.32.1
Upstream commit: 8aac26db

Commit authored by Packit automation (https://packit.dev/)
2024-07-29 15:25:45 +00:00
Packit
d297978483 Update to 0.32.0 upstream release
Upstream tag: 0.32.0
Upstream commit: 122eefa5

Commit authored by Packit automation (https://packit.dev/)
2024-07-22 07:12:44 +00:00
Packit
f265b34054 Update to 0.31.0 upstream release
- Resolves: rhbz#2294393

Upstream tag: 0.31.0
Upstream commit: 8aba712b

Commit authored by Packit automation (https://packit.dev/)
2024-07-09 10:26:28 +00:00
Packit
0784e702fe Update to 0.30.0 upstream release
Upstream tag: 0.30.0
Upstream commit: 85a0b40d

Commit authored by Packit automation (https://packit.dev/)
2024-06-26 12:23:26 +00:00
Packit
29e5998725 Update to 0.29.0 upstream release
Upstream tag: 0.29.0
Upstream commit: 0ba5f9ff

Commit authored by Packit automation (https://packit.dev/)
2024-06-06 13:57:24 +00:00
Packit
9220d7b4a3 Update to 0.28.3 upstream release
Upstream tag: 0.28.3
Upstream commit: 557c33bd

Commit authored by Packit automation (https://packit.dev/)
2024-05-23 11:20:19 +00:00
Packit
d6d6aa1ca1 [packit] 0.28.0 upstream release
Upstream tag: 0.28.0
Upstream commit: cdf06f20
2024-03-17 15:11:13 +00:00
Packit
cb0e0cd234 [packit] 0.27.0 upstream release
Upstream tag: 0.27.0
Upstream commit: 1789f9c6
2024-01-19 13:28:11 +00:00
Packit
e39cf146f0 [packit] 0.25.0 upstream release
Upstream tag: 0.25.0
Upstream commit: 78f50b4a
2023-11-20 14:58:35 +00:00
Packit
f4001f1694 [packit] 0.24.0 upstream release
Upstream tag: 0.24.0
Upstream commit: 2efbd9ce
2023-11-06 17:20:30 +00:00
Packit
19f7f156e3 [packit] 0.23.0 upstream release
Upstream tag: 0.23.0
Upstream commit: 0e110df4
2023-10-30 09:16:20 +00:00
Packit
ea0fc83faf [packit] 0.22.1 upstream release
Upstream tag: 0.22.1
Upstream commit: 0af08c92
2023-10-06 13:10:16 +00:00
ef25d82ff9 [packit] 0.21.0 upstream release
Upstream tag: 0.21.0
Upstream commit: 56360c0a
2023-08-11 15:29:34 +02:00
Matej Focko
2fccea07ff
chore: be explicit about GPG keys in Packit config
Signed-off-by: Matej Focko <mfocko@redhat.com>
(cherry picked from commit 4c376af84d)
2023-08-11 14:45:20 +02:00
Matej Focko
fb84ce5e6c
chore: add GitHub's GPG key to Packit config
Signed-off-by: Matej Focko <mfocko@redhat.com>
(cherry picked from commit c90a1932f9)
2023-08-11 14:27:48 +02:00
Packit
28abf74e05 [packit] 0.20.2 upstream release
Upstream tag: 0.20.2
Upstream commit: 4486a88c

If you need to do any change in this pull request, you need to locally fetch the source branch of it and push it (with a fix) to your fork (as it is not possible to push to the branch created in the Packit’s fork):
```
git fetch https://src.fedoraproject.org/forks/packit/rpms/python-specfile.git refs/heads/*:refs/remotes/packit/*
git checkout packit/0.20.2-epel8-update-propose_downstream
```
2023-07-31 13:17:33 +00:00
Packit
83e96e1562 [packit] 0.7.0 upstream release
Upstream tag: 0.7.0
Upstream commit: e121363b

Signed-off-by: Packit <hello@packit.dev>
2022-10-07 14:33:43 +00:00
Packit
ab94cc7d9a [packit] 0.6.0 upstream release
Upstream tag: 0.6.0
Upstream commit: 8b0a6cc4

Signed-off-by: Packit <hello@packit.dev>
2022-08-25 13:16:39 +00:00
Packit
1918ea1c70 [packit] 0.5.1 upstream release
Upstream tag: 0.5.1
Upstream commit: a03b8972

Signed-off-by: Packit <hello@packit.dev>
2022-08-10 14:44:30 +00:00
Packit
6da75bfee8 [packit] 0.5.0 upstream release
Upstream tag: 0.5.0
Upstream commit: e4f80e56

Signed-off-by: Packit <hello@packit.dev>
2022-07-22 08:03:58 +00:00
Packit
686c1782a4 [packit] 0.4.0 upstream release
Upstream tag: 0.4.0
Upstream commit: d3b97670

Signed-off-by: Packit <hello@packit.dev>
2022-06-21 13:32:17 +00:00
Packit
0ba51c0f42 [packit] 0.3.0 upstream release
Upstream tag: 0.3.0
Upstream commit: df62e212

Signed-off-by: Packit <hello@packit.dev>
2022-05-16 12:15:07 +00:00
Packit
921cff8bf6 [packit] 0.2.0 upstream release
Upstream tag: 0.2.0
Upstream commit: a15b0918

Signed-off-by: Packit <hello@packit.dev>
2022-04-01 07:44:17 +00:00
3 changed files with 211 additions and 156 deletions

35
.gitignore vendored
View file

@ -1 +1,34 @@
/specfile-*.tar.gz
/specfile-0.2.0.tar.gz
/specfile-0.3.0.tar.gz
/specfile-0.4.0.tar.gz
/specfile-0.5.0.tar.gz
/specfile-0.5.1.tar.gz
/specfile-0.6.0.tar.gz
/specfile-0.7.0.tar.gz
/specfile-0.20.2.tar.gz
/specfile-0.21.0.tar.gz
/specfile-0.22.1.tar.gz
/specfile-0.23.0.tar.gz
/specfile-0.24.0.tar.gz
/specfile-0.25.0.tar.gz
/specfile-0.27.0.tar.gz
/specfile-0.28.0.tar.gz
/specfile-0.28.3.tar.gz
/specfile-0.29.0.tar.gz
/specfile-0.30.0.tar.gz
/specfile-0.31.0.tar.gz
/specfile-0.32.0.tar.gz
/specfile-0.32.1.tar.gz
/specfile-0.32.2.tar.gz
/specfile-0.32.3.tar.gz
/specfile-0.32.5.tar.gz
/specfile-0.32.6.tar.gz
/specfile-0.33.0.tar.gz
/specfile-0.34.0.tar.gz
/specfile-0.34.1.tar.gz
/specfile-0.34.2.tar.gz
/specfile-0.35.0.tar.gz
/specfile-0.36.0.tar.gz
/specfile-0.37.0.tar.gz
/specfile-0.37.1.tar.gz
/specfile-0.38.0.tar.gz

View file

@ -0,0 +1,160 @@
From 29574b3e7d1a314e0242e3e160a0b1b7c7e6287e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nikola=20Forr=C3=B3?= <nforro@redhat.com>
Date: Tue, 28 Jan 2025 15:19:39 +0100
Subject: [PATCH] Remove the walrus operator for Python 3.6 compatibility
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Nikola Forró <nforro@redhat.com>
---
tests/unit/test_changelog.py | 94 ++++++++++++++++++++----------------
1 file changed, 52 insertions(+), 42 deletions(-)
diff --git a/tests/unit/test_changelog.py b/tests/unit/test_changelog.py
index 6691381..ba74dc4 100644
--- a/tests/unit/test_changelog.py
+++ b/tests/unit/test_changelog.py
@@ -257,47 +257,35 @@ def test_suse_style_changelog_parse():
"changelog",
data=[
"-------------------------------------------------------------------",
- (
- hdr1 := "Tue Dec 17 14:21:37 UTC 2024 - "
- + (dc := "Dan Čermák <dan.cermak@cgc-instruments.com>")
- ),
+ "Tue Dec 17 14:21:37 UTC 2024 - Dan Čermák <dan.cermak@cgc-instruments.com>",
"",
- (content1 := "- First version"),
+ "- First version",
"",
"-------------------------------------------------------------------",
- (hdr2 := f"Mon Nov 4 17:47:23 UTC 2024 - {dc}"),
+ "Mon Nov 4 17:47:23 UTC 2024 - Dan Čermák <dan.cermak@cgc-instruments.com>",
"",
- (content2 := "- # [0.9.37] - September 4th, 2024"),
+ "- # [0.9.37] - September 4th, 2024",
"",
"-------------------------------------------------------------------",
- (
- hdr3 := "Fri May 17 09:14:20 UTC 2024 - "
- + "Dominique Leuenberger <dimstar@opensuse.org>"
- ),
+ "Fri May 17 09:14:20 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>",
"",
- (content3 := "- Use %patch -P N instead of deprecated %patchN syntax."),
+ "- Use %patch -P N instead of deprecated %patchN syntax.",
"",
"-------------------------------------------------------------------",
- (
- hdr4 := "Mon Oct 10 13:27:24 UTC 2022 - Stephan Kulow <coolo@suse.com>"
- ),
+ "Mon Oct 10 13:27:24 UTC 2022 - Stephan Kulow <coolo@suse.com>",
"",
- (content4_1 := "updated to version 0.9.28"),
- (content4_2 := " see installed CHANGELOG.md"),
+ "updated to version 0.9.28",
+ " see installed CHANGELOG.md",
"",
"",
"-------------------------------------------------------------------",
- (
- hdr5 := "Fri Jun 25 07:31:34 UTC 2021 - Dan Čermák <dcermak@suse.com>"
- ),
+ "Fri Jun 25 07:31:34 UTC 2021 - Dan Čermák <dcermak@suse.com>",
"",
- (content5_1 := "- New upstream release 0.9.26"),
+ "- New upstream release 0.9.26",
"",
- (content5_2 := " - Add support for Ruby 3.0 and fix tests"),
- (
- content5_3 := " - Fix support for `frozen_string_literal: false`"
- + " magic comments (#1363)"
- ),
+ " - Add support for Ruby 3.0 and fix tests",
+ " - Fix support for `frozen_string_literal: false`"
+ " magic comments (#1363)",
"",
"",
],
@@ -309,14 +297,28 @@ def test_suse_style_changelog_parse():
for changelog_entry, hdr, content in zip(
changelog,
- reversed((hdr1, hdr2, hdr3, hdr4, hdr5)),
reversed(
(
- [content1],
- [content2],
- [content3],
- [content4_1, content4_2],
- [content5_1, "", content5_2, content5_3],
+ "Tue Dec 17 14:21:37 UTC 2024 - Dan Čermák <dan.cermak@cgc-instruments.com>",
+ "Mon Nov 4 17:47:23 UTC 2024 - Dan Čermák <dan.cermak@cgc-instruments.com>",
+ "Fri May 17 09:14:20 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>",
+ "Mon Oct 10 13:27:24 UTC 2022 - Stephan Kulow <coolo@suse.com>",
+ "Fri Jun 25 07:31:34 UTC 2021 - Dan Čermák <dcermak@suse.com>",
+ )
+ ),
+ reversed(
+ (
+ ["- First version"],
+ ["- # [0.9.37] - September 4th, 2024"],
+ ["- Use %patch -P N instead of deprecated %patchN syntax."],
+ ["updated to version 0.9.28", " see installed CHANGELOG.md"],
+ [
+ "- New upstream release 0.9.26",
+ "",
+ " - Add support for Ruby 3.0 and fix tests",
+ " - Fix support for `frozen_string_literal: false`"
+ " magic comments (#1363)",
+ ],
)
),
):
@@ -336,27 +338,35 @@ def test_suse_style_changelog_parse():
(
datetime.datetime(2021, 6, 25, 7, 31, 34),
"Dan Čermák <dcermak@suse.com>",
- content_1 := ["", "New upstream release 0.9.26"],
+ ["", "New upstream release 0.9.26"],
ChangelogEntry(
- header=_OPENSUSE_CHANGELOG_SEPARATOR
- + "\n"
- + "Fri Jun 25 07:31:34 UTC 2021 - Dan Čermák <dcermak@suse.com>",
- content=content_1,
+ header=(
+ _OPENSUSE_CHANGELOG_SEPARATOR
+ + "\n"
+ + "Fri Jun 25 07:31:34 UTC 2021 - Dan Čermák <dcermak@suse.com>"
+ ),
+ content=["", "New upstream release 0.9.26"],
),
),
(
datetime.date(2021, 6, 25),
"Dan Čermák <dcermak@suse.de>",
- content_2 := [
+ [
"",
"New upstream release 0.26",
"Fixed a major regression in Foo",
],
ChangelogEntry(
- header=_OPENSUSE_CHANGELOG_SEPARATOR
- + "\n"
- + "Fri Jun 25 12:00:00 UTC 2021 - Dan Čermák <dcermak@suse.de>",
- content=content_2,
+ header=(
+ _OPENSUSE_CHANGELOG_SEPARATOR
+ + "\n"
+ + "Fri Jun 25 12:00:00 UTC 2021 - Dan Čermák <dcermak@suse.de>"
+ ),
+ content=[
+ "",
+ "New upstream release 0.26",
+ "Fixed a major regression in Foo",
+ ],
),
),
]

View file

@ -1,6 +1,3 @@
%bcond_without tests
%global desc %{expand:
Python library for parsing and manipulating RPM spec files.
Main focus is on modifying existing spec files, any change should result
@ -26,11 +23,11 @@ Source0: %{pypi_source specfile %{pypi_version}}
BuildArch: noarch
BuildRequires: python3-devel
%if %{with tests}
# tests/unit/test_guess_packager.py
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: %{py3_dist setuptools setuptools-scm}
BuildRequires: %{py3_dist importlib-metadata dataclasses rpm typing-extensions}
BuildRequires: %{py3_dist flexmock pytest}
BuildRequires: git-core
%endif
%description
@ -47,33 +44,27 @@ Summary: %{summary}
%prep
%autosetup -p1 -n specfile-%{pypi_version}
# since we are building from PyPI source, we don't need git-archive
# support in setuptools_scm
sed -i 's/setuptools_scm\[toml\]>=7/setuptools_scm[toml]/' pyproject.toml
%generate_buildrequires
%pyproject_buildrequires %{?with_tests: -x testing}
# Remove bundled egg-info
rm -rf specfile.egg-info
%build
%pyproject_wheel
%py3_build
%install
%pyproject_install
%pyproject_save_files specfile
%py3_install
%if %{with tests}
%check
%pytest --verbose tests/unit tests/integration
%endif
%files -n python%{python3_pkgversion}-specfile -f %{pyproject_files}
%files -n python%{python3_pkgversion}-specfile
%license LICENSE
%doc README.md
%{python3_sitelib}/specfile
%{python3_sitelib}/specfile-%{version}-py%{python3_version}.egg-info
%changelog
@ -84,30 +75,12 @@ sed -i 's/setuptools_scm\[toml\]>=7/setuptools_scm[toml]/' pyproject.toml
* Fri Oct 03 2025 Packit <hello@packit.dev> - 0.37.1-1
- We have solved a FutureWarning in our codebase. (#485)
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 0.37.0-2
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Sep 05 2025 Packit <hello@packit.dev> - 0.37.0-1
- Added support for Elbrus E2K CPU architectures. (#484)
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 0.36.0-5
- Rebuilt for Python 3.14.0rc2 bytecode
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.36.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jun 06 2025 Python Maint <python-maint@redhat.com> - 0.36.0-3
- Rebuilt for Python 3.14
* Fri May 30 2025 Packit <hello@packit.dev> - 0.36.0-1
- We have fixed a bug that caused specfile to traceback when section names with conditional macro expansions containing spaces were present in the spec file. (#476)
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 0.35.1-2
- Rebuilt for Python 3.14
* Fri May 16 2025 Packit <hello@packit.dev> - 0.35.1-1
- We have fixed a bug that caused changes to get lost when a spec file passed as a path was replaced or deleted. (#470)
* Sun Apr 13 2025 Packit <hello@packit.dev> - 0.35.0-1
- Added support for creating Specfile instances from file objects and strings. (#458)
- The `context_management` type stubs now use `ParamSpec` from `typing_extensions` to support Python < 3.10. (#466)
@ -122,9 +95,6 @@ sed -i 's/setuptools_scm\[toml\]>=7/setuptools_scm[toml]/' pyproject.toml
- Added support for detached (open)SUSE style changelogs (#444)
- Resolves: rhbz#2342178
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.33.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Dec 16 2024 Packit <hello@packit.dev> - 0.33.0-1
- There is a new convenience method `Sections.get_or_create()` that allows you to manipulate a section
without checking if it exists first. If a section doesn't exist, it will be appended to the end. (#441)
@ -137,15 +107,13 @@ sed -i 's/setuptools_scm\[toml\]>=7/setuptools_scm[toml]/' pyproject.toml
```
- Resolves: rhbz#2332288
* Wed Nov 13 2024 Packit <hello@packit.dev> - 0.32.6-1
* Thu Nov 14 2024 Packit <hello@packit.dev> - 0.32.6-1
- New minor release for testing in CBS Koji
- Resolves: rhbz#2318011
* Sat Oct 26 2024 Packit <hello@packit.dev> - 0.32.5-1
- We have fixed our parser to take in account the deprecations introduced in Python 3.8 (#420)
* Fri Oct 11 2024 Packit <hello@packit.dev> - 0.32.4-1
- NEVR and NEVRA classes are now hashable (#416)
* Mon Sep 30 2024 Packit <hello@packit.dev> - 0.32.3-1
- specfile can now handle multi-line tag values (enclosed in a macro body, e.g. `%%shrink`). (#412)
- Resolves: rhbz#2299289
@ -159,9 +127,6 @@ sed -i 's/setuptools_scm\[toml\]>=7/setuptools_scm[toml]/' pyproject.toml
* Mon Jul 22 2024 Packit <hello@packit.dev> - 0.32.0-1
- It is now possible to bump a release in a manner similar to `rpmdev-bumpspec` using `Specfile.bump_release()` method. (#399)
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.31.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jul 09 2024 Packit <hello@packit.dev> - 0.31.0-1
- Value of a `Tag` no longer includes trailing whitespace (if any). (#393)
- specfile now tries to expand macros before processing conditions to be able to resolve conditional expressions defined by macros, for example OpenSUSE Tumbleweed defines `%%ifpython3` macro as `%%if "%%{python_flavor}" == "python3"`. (#394)
@ -170,30 +135,16 @@ sed -i 's/setuptools_scm\[toml\]>=7/setuptools_scm[toml]/' pyproject.toml
* Wed Jun 26 2024 Packit <hello@packit.dev> - 0.30.0-1
- Fixed an exception that occured when accessing the `Specfile.has_autochangelog` property while having unparseable lines (e.g. lines ending with unescaped `%`) in `%%changelog`. (#387)
* Mon Jun 17 2024 Packit <hello@packit.dev> - 0.29.0-1
* Thu Jun 06 2024 Packit <hello@packit.dev> - 0.29.0-1
- Improved compatibility with RPM 4.20 (alpha version is currently in Fedora Rawhide). (#380)
- Resolves: rhbz#2282962
* Sun Jun 09 2024 Python Maint <python-maint@redhat.com> - 0.28.3-2
- Rebuilt for Python 3.13
* Thu May 23 2024 Packit <hello@packit.dev> - 0.28.3-1
- Fixed several minor issues such as processing seemingly commented-out macro definitions (e.g. `#%%global prerel rc1`) and treating `SourceLicense` tag as a source. (#374, #376)
- Made `EVR`, `NEVR` and `NEVRA` objects comparable. (#379)
* Mon Apr 08 2024 Packit <hello@packit.dev> - 0.28.2-1
- Handling of trailing newlines in the macro defintions has been improved. (#361)
- Resolves: rhbz#2271583
* Tue Mar 26 2024 Packit <hello@packit.dev> - 0.28.1-1
- We have fixed an issue in `%%prep` section processing. For instance, if the `%%patches` macro appeared there, it would have been converted to `%%patch es`, causing failure when executing `%%prep` later. (#356)
* Sun Mar 17 2024 Packit <hello@packit.dev> - 0.28.0-1
- A trailing newline is no longer added to spec files without one upon saving. (#353)
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.27.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Packit <hello@packit.dev> - 0.27.0-1
- Improved handling of commented-out macro definitions and fixed related logic in `Specfile.update_value()`. (#338)
@ -210,9 +161,6 @@ sed -i 's/setuptools_scm\[toml\]>=7/setuptools_scm[toml]/' pyproject.toml
* Fri Oct 06 2023 Packit <hello@packit.dev> - 0.22.1-1
- Removed dependency on setuptools-scm-git-archive. (#290)
* Fri Sep 01 2023 Packit <hello@packit.dev> - 0.22.0-1
- Macro definitions and tags gained a new `valid` attribute. A macro definition/tag is considered valid if it doesn't appear in a false branch of any condition appearing in the spec file. (#276)
* Fri Aug 11 2023 Nikola Forró <nforro@redhat.com> - 0.21.0-1
- `specfile` no longer tracebacks when some sources are missing and can't be _emulated_. In such case the spec file is parsed without them at the cost of `%%setup` and `%%patch` macros potentially expanding differently than with the sources present. (#271)
- Specfile's license in RPM spec file is now confirmed to be SPDX compatible. (#269)
@ -220,79 +168,6 @@ sed -i 's/setuptools_scm\[toml\]>=7/setuptools_scm[toml]/' pyproject.toml
* Mon Jul 31 2023 Packit <hello@packit.dev> - 0.20.2-1
- Fixed Packit config to work properly with `propose-downstream` and `pull-from-upstream` jobs. (#261)
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.20.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jul 13 2023 Packit <hello@packit.dev> - 0.20.0-1
- Fixed infinite loop when removing macros with `%` in the name. (#244)
- Added a possibility to undefine system macros by setting a macro value to `None` in the `macros` argument of the `Specfile` constructor. (#244)
- Fixed a bug in processing options of `%%prep` macros. For instance, when a quoted string appeared inside an expression expansion, it could lead to improper parsing, rendering the spec file invalid after accessing the options. (#253)
* Wed Jun 28 2023 Python Maint <python-maint@redhat.com> - 0.19.0-2
- Rebuilt for Python 3.12
* Thu Jun 22 2023 Packit <hello@packit.dev> - 0.19.0-1
- Parsing has been optimized so that even spec files with hundreds of thousands of lines can be processed in reasonable time. (#240)
* Fri May 26 2023 Packit <hello@packit.dev> - 0.18.0-1
- Specfile library now handles multiple `%%changelog` sections. (#230)
* Thu May 11 2023 Packit <hello@packit.dev> - 0.17.0-1
- Added a new `guess_packager()` function that uses similar heuristics as `rpmdev-packager`, meaning that the `Specfile.add_changelog_entry()` method no longer requires `rpmdev-packager` to guess the changelog entry author. (#220)
- The `Specfile.add_changelog_entry()` method now uses dates based on UTC instead of the local timezone. (#223)
* Thu Apr 20 2023 Packit <hello@packit.dev> - 0.16.0-1
- Added `Specfile.has_autorelease` property to detect if a spec file uses the `%%autorelease` macro. (#221)
* Fri Mar 10 2023 Packit <hello@packit.dev> - 0.15.0-1
- Parsing the spec file by RPM is now performed only if really necessary, greatly improving performance in certain scenarios. (#212)
- Checked that license is a valid SPDX license.
* Thu Feb 23 2023 Packit <hello@packit.dev> - 0.14.0-1
- Fixed a bug that broke parsing in case spec file contained conditionalized macro definitions or similar constructs. (#209)
- Specfile no longer depends on rpm-py-installer, it now depends directly on rpm. (#207)
* Mon Jan 30 2023 Packit <hello@packit.dev> - 0.13.2-1
- Fixed infinite loop that occured when section options were followed by whitespace. (#197)
* Mon Jan 23 2023 Packit <hello@packit.dev> - 0.13.1-1
- Fixed a bug in section parsing that caused sections to be ignored when there were macro definitions spread across the spec file and not cumulated at the top. (#191)
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jan 20 2023 Packit <hello@packit.dev> - 0.13.0-1
- Added `Section.options` attribute for convenient manipulation of section options. (#183)
- specfile now supports single-line sections where section content is represented by a macro starting with a newline. (#182)
- Added `evr` argument to `Specfile.add_changelog_entry()`. This allows adding a changelog entry with an EVR value that's different from the current specfile's value. This makes it easier to reconstruct a specfile's `%changelog` based on another source using the higher level interface. (#181)
* Fri Jan 06 2023 Packit <hello@packit.dev> - 0.12.0-1
- All classes including `Specfile` itself can now be copied using the standard `copy()` and `deepcopy()` functions from `copy` module. (#176)
- `Section.name` attribute has been renamed to a more fitting `Section.id`. (#167)
- `setup.cfg` now uses `license_files` instead of deprecated `license_file`. (#162)
* Wed Dec 14 2022 Packit <hello@packit.dev> - 0.11.1-1
- Tags enclosed in conditional macro expansions are not ignored anymore. (#156)
- Fixed context managers being shared between Specfile instances. (#157)
* Fri Dec 09 2022 Packit <hello@packit.dev> - 0.11.0-1
- Context managers (`Specfile.sections()`, `Specfile.tags()` etc.) can now be nested and combined together (with one exception - `Specfile.macro_definitions()`), and it is also possible to use tag properties (e.g. `Specfile.version`, `Specfile.license`) inside them. It is also possible to access the data directly, avoiding the `with` statement, by using the `content` property (e.g. `Specfile.tags().content`), but be aware that no modifications done to such data will be preserved. You must use `with` to make changes. (#153)
* Wed Nov 30 2022 Packit <hello@packit.dev> - 0.10.0-1
- Fixed an issue that caused empty lines originally inside changelog entries to appear at the end. (#140)
- Renamed the `ignore_missing_includes` option to a more general `force_parse`. If specified, it allows to attempt to parse the spec file even if one or more sources required to be present at parsing time are not available. Such sources include sources referenced from shell expansions in tag values and sources included using the `%include` directive. (#137)
* Sat Nov 12 2022 Packit <hello@packit.dev> - 0.9.1-1
- `specfile` now supports localized tags (e.g. `Summary(fr)`) and tags with qualifiers (e.g. `Requires(post)`).
It also follows more closely rpm parsing logic and doesn't fail on invalid section names. (#132)
* Tue Oct 25 2022 Packit <hello@packit.dev> - 0.9.0-1
- Added utility classes for working with (N)EVR. (#113)
- Fixed an issue with multiple instances of `Specfile` not expanding macros in the right context. (#117)
* Fri Oct 14 2022 Packit <hello@packit.dev> - 0.8.0-1
- Added `Specfile.update_tag()` method that allows updating tag values while trying to preserve macro expansions. You can watch a demo on [YouTube](https://youtu.be/yzMfBPdFXZY). (#101)
* Fri Oct 07 2022 Packit <hello@packit.dev> - 0.7.0-1
- It is now possible to filter changelog entries by specifying lower bound EVR, upper bound EVR or both. (#104)
- Added support for filenames specified in source URL fragments, for example: `https://example.com/foo/1.0/download.cgi#/%{name}-%{version}.tar.gz` (#100)
@ -322,9 +197,6 @@ sed -i 's/setuptools_scm\[toml\]>=7/setuptools_scm[toml]/' pyproject.toml
- Initial patch number and its default number of digits are now honored (#66)
- Fixed a bug in `%prep` macro stringification (#67)
* Mon Jun 20 2022 Python Maint <python-maint@redhat.com> - 0.3.0-2
- Rebuilt for Python 3.11
* Mon May 16 2022 Packit <hello@packit.dev> - 0.3.0-1
- Made `Sources` a `MutableSequence` (#36)
- Started using consistent terminology for source numbers and added the option to insert a source with a specific number (#47)
@ -337,18 +209,8 @@ sed -i 's/setuptools_scm\[toml\]>=7/setuptools_scm[toml]/' pyproject.toml
- Implemented mid-level manipulation of `%prep` section, including modification of `%prep` macros (#37, #52)
* Thu Mar 31 2022 Packit <hello@packit.dev> - 0.2.0-1
- Enabled Zuul CI (#8)
- Switched from git:// to https:// for rebase hook (#22)
- Updated pre-commit configuration and adapted to type changes brought by new version of mypy (#24)
- Non-lowercase section names are now supported (#26)
- Added `Sections.get()` convenience method (#29)
- Added packit configuration and enabled packit (#25)
- Fixed infinite recursion when deep-copying instances of `Sections` and `Tags` (#30)
- Updated Fedora and EPEL spec files (#32)
- Fixed issues caused by older versions of dependencies on EPEL 8 (#33)
- Implemented high-level manipulation of sources and patches (#20, #36)
- It is now possible to parse spec files with missing local sources (#23)
* Wed Mar 30 2022 Nikola Forró <nforro@redhat.com> - 0.2.0-1
- New upstream release 0.2.0
* Mon Feb 21 2022 Nikola Forró <nforro@redhat.com> - 0.1.1-1
- New upstream release 0.1.1