Compare commits

...
Sign in to create a new pull request.

52 commits

Author SHA1 Message Date
Packit
e41ab3b25d 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:46:57 +00:00
Packit
c101304512 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:54:24 +00:00
Packit
2e0dbfe87b 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:36:35 +00:00
Packit
78ca8562d5 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:10:12 +00:00
Packit
0e27b469a6 Update to 0.35.1 upstream release
Upstream tag: 0.35.1
Upstream commit: 81569906

Commit authored by Packit automation (https://packit.dev/)
2025-05-16 10:17:01 +00:00
Packit
03478a23a6 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:49:40 +00:00
Packit
942ccefbc8 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:26:07 +00:00
Packit
1e7b2efda3 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:12 +00:00
Packit
e9a9ce33fd 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-27 10:42:32 +00:00
Packit
437a609c38 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:21:43 +00:00
Packit
a1c81ef6bf 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:47 +00:00
Packit
a900bff079 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:35:50 +00:00
Packit
2290ffb740 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:50:58 +00:00
Packit
291ce0ab3d 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:09 +00:00
Packit
6462d4cd87 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:26:35 +00:00
Packit
c83f9bd664 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:13:31 +00:00
Packit
6d9b06456b 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:26:08 +00:00
Packit
9c8125bf9c 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:54:27 +00:00
Packit
be935df645 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:21:17 +00:00
Packit
0152fcd873 [packit] 0.28.0 upstream release
Upstream tag: 0.28.0
Upstream commit: cdf06f20
2024-03-17 15:10:08 +00:00
Packit
75b7dfa9f3 [packit] 0.27.0 upstream release
Upstream tag: 0.27.0
Upstream commit: 1789f9c6
2024-01-19 13:32:01 +00:00
Packit
3476dbc707 [packit] 0.25.0 upstream release
Upstream tag: 0.25.0
Upstream commit: 78f50b4a
2023-11-20 15:00:28 +00:00
Packit
dd655a85dc [packit] 0.24.0 upstream release
Upstream tag: 0.24.0
Upstream commit: 2efbd9ce
2023-11-06 17:18:07 +00:00
Packit
40d28b8132 [packit] 0.23.0 upstream release
Upstream tag: 0.23.0
Upstream commit: 0e110df4
2023-10-30 09:14:43 +00:00
Packit
58f2603346 [packit] 0.22.1 upstream release
Upstream tag: 0.22.1
Upstream commit: 0af08c92
2023-10-06 13:12:19 +00:00
Packit
d49979b6b6 [packit] 0.22.0 upstream release
Upstream tag: 0.22.0
Upstream commit: e49e5e3f

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-stg/rpms/python-specfile.git refs/heads/*:refs/remotes/packit-stg/*
git checkout packit-stg/0.22.0-epel9-update-propose_downstream
```
2023-09-01 13:39:39 +00:00
2015e54a72 [packit] 0.21.0 upstream release
Upstream tag: 0.21.0
Upstream commit: 56360c0a
2023-08-11 15:26:48 +02:00
Matej Focko
fbead8593b
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:30 +02:00
Matej Focko
752eb685da
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:58 +02:00
Packit
7d2f077d9d [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-epel9-update-propose_downstream
```
2023-07-31 13:15:33 +00:00
Packit
969f96fe75 [packit] 0.20.0 upstream release
Upstream tag: 0.20.0
Upstream commit: 8aae0b14
2023-07-13 15:29:27 +00:00
Packit
f1ae209669 [packit] 0.19.0 upstream release
Upstream tag: 0.19.0
Upstream commit: bad19f0c
2023-06-22 13:09:31 +00:00
Packit
5b62bbfc17 [packit] 0.18.0 upstream release
Upstream tag: 0.18.0
Upstream commit: e5615bf6
2023-05-26 09:54:57 +00:00
Packit
f3e77dccba [packit] 0.17.0 upstream release
Upstream tag: 0.17.0
Upstream commit: bc4fbbdd
2023-05-11 09:51:15 +00:00
Packit
b63c1523b1 [packit] 0.16.0 upstream release
Upstream tag: 0.16.0
Upstream commit: 15be0aba
2023-04-20 17:03:17 +00:00
Packit
2213c156a7 [packit] 0.15.0 upstream release
Upstream tag: 0.15.0
Upstream commit: efb94f1d

Signed-off-by: Packit <hello@packit.dev>
2023-03-10 11:22:59 +00:00
Packit
9667400bf9 [packit] 0.14.0 upstream release
Upstream tag: 0.14.0
Upstream commit: 78e2e8b3

Signed-off-by: Packit <hello@packit.dev>
2023-02-23 16:16:34 +00:00
Packit
81c233e32a [packit] 0.13.2 upstream release
Upstream tag: 0.13.2
Upstream commit: dc2440f6

Signed-off-by: Packit <hello@packit.dev>
2023-01-30 13:31:11 +00:00
Packit
79d2147a3f [packit] 0.13.1 upstream release
Upstream tag: 0.13.1
Upstream commit: 326ceffa

Signed-off-by: Packit <hello@packit.dev>
2023-01-23 15:03:29 +00:00
Packit
69b1d6d874 [packit] 0.13.0 upstream release
Upstream tag: 0.13.0
Upstream commit: 032a6e24

Signed-off-by: Packit <hello@packit.dev>
2023-01-20 15:25:19 +00:00
Packit
5c0bfadb93 [packit] 0.12.0 upstream release
Upstream tag: 0.12.0
Upstream commit: 1f184858

Signed-off-by: Packit <hello@packit.dev>
2023-01-06 13:54:04 +00:00
Packit
a170b654db [packit] 0.11.1 upstream release
Upstream tag: 0.11.1
Upstream commit: 3581c3cd

Signed-off-by: Packit <hello@packit.dev>
2022-12-14 16:39:14 +00:00
9092830cd9 Align .gitignore with Fedora 2022-12-09 17:27:41 +01:00
Packit
659543ac42 [packit] 0.11.0 upstream release
Upstream tag: 0.11.0
Upstream commit: ad039af9

Signed-off-by: Packit <hello@packit.dev>
2022-12-09 14:22:26 +00:00
Packit
a82d7d826d [packit] 0.10.0 upstream release
Upstream tag: 0.10.0
Upstream commit: daf36bc3

Signed-off-by: Packit <hello@packit.dev>
2022-11-30 11:34:07 +00:00
Packit
08d8744efa [packit] 0.9.1 upstream release
Upstream tag: 0.9.1
Upstream commit: 11b91ccc

Signed-off-by: Packit <hello@packit.dev>
2022-11-12 14:38:29 +00:00
Packit
36b55990b1 [packit] 0.9.0 upstream release
Upstream tag: 0.9.0
Upstream commit: 6b6cbeae

Signed-off-by: Packit <hello@packit.dev>
2022-10-25 17:29:54 +00:00
Tomas Tomecek
c28d878cf4 Rebuild to trigger downstream Packit automation
Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2022-10-17 12:23:27 +02:00
Tomas Tomecek
a2b7db406d packit: ttomecek's commits will be built by Packit
Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2022-10-17 12:23:27 +02:00
Packit
6b48d06e13 [packit] 0.8.0 upstream release
Upstream tag: 0.8.0
Upstream commit: a3262621

Signed-off-by: Packit <hello@packit.dev>
2022-10-14 11:36:02 +00:00
Packit
9219e57195 [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:31:27 +00:00
d2678f28f1 [packit] 0.6.0 upstream release
Upstream tag: 0.6.0
Upstream commit: 42dc2924

Signed-off-by: Nikola Forró <nforro@redhat.com>
2022-08-31 15:25:54 +02:00
12 changed files with 677 additions and 0 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/specfile-*.tar.gz

287
.packit.yaml Normal file
View file

@ -0,0 +1,287 @@
---
packit_instances: ["prod", "stg"]
upstream_project_url: https://github.com/packit/specfile
issue_repository: https://github.com/packit/specfile
# PEP440
prerelease_suffix_pattern: "([.\\-_]?)(a(lpha)?|b(eta)?|r?c|pre(view)?)([.\\-_]?\\d+)?"
prerelease_suffix_macro: prerelease
copy_upstream_release_description: true
packages:
specfile: &specfile
upstream_package_name: specfile
downstream_package_name: python-specfile
specfile_path: &specfile_path fedora/python-specfile.spec
files_to_sync:
- *specfile_path
- .packit.yaml
- src: plans/
dest: plans/
- src: .fmf/
dest: .fmf/
srpm_build_deps:
- python3-build
- python3-setuptools_scm
actions: &actions
pre-sync:
- python3 plans/git_reference.py
create-archive:
- python3 -m build --sdist --outdir ./fedora/
- bash -c "ls -1t ./fedora/*.tar.gz | head -n 1"
get-current-version: python3 -m setuptools_scm
specfile-epel8:
<<: *specfile
specfile_path: &specfile_path_epel8 epel8/python-specfile.spec
files_to_sync:
- *specfile_path_epel8
- .packit.yaml
- src: plans/
dest: plans/
- src: .fmf/
dest: .fmf/
actions:
<<: *actions
create-archive:
- python3 setup.py sdist --dist-dir ./epel8/
- bash -c "ls -1t ./epel8/*.tar.gz | head -n 1"
specfile-epel10:
<<: *specfile
specfile_path: &specfile_path_epel10 epel10/python-specfile.spec
files_to_sync:
- *specfile_path_epel10
- .packit.yaml
- src: plans/
dest: plans/
- src: .fmf/
dest: .fmf/
actions:
<<: *actions
create-archive:
- python3 setup.py sdist --dist-dir ./epel10/
- bash -c "ls -1t ./epel10/*.tar.gz | head -n 1"
# docs: https://gitlab.com/CentOS/Integration/packit-cbs/docs
specfile-centos-integration-sig:
<<: *specfile
specfile_path: &specfile_path_centos_sig centos-integration-sig/python-specfile.spec
files_to_sync:
- *specfile_path_centos_sig
- .packit.yaml
- src: plans/
dest: plans/
- src: .fmf/
dest: .fmf/
actions:
<<: *actions
create-archive:
- python3 -m build --sdist --outdir ./centos-integration-sig/
- bash -c "ls -1t ./centos-integration-sig/*.tar.gz | head -n 1"
dist_git_base_url: https://gitlab.com
dist_git_namespace: CentOS/Integration/packit-cbs/rpms
sig: Integration/packit-cbs
pkg_tool: centpkg-sig
jobs:
- &copr_build_pr
job: copr_build
trigger: pull_request
packages: [specfile]
targets:
- fedora-all
- fedora-all-aarch64
- epel-9
- <<: *copr_build_pr
packages: [specfile-epel8]
targets:
- epel-8
- <<: *copr_build_pr
packages: [specfile-epel10]
targets:
- epel-10-all
- &copr_build_commit_main
job: copr_build
trigger: commit
branch: main
packages: [specfile]
targets:
- fedora-all
- fedora-all-aarch64
- epel-9
project: packit-dev
list_on_homepage: True
preserve_project: True
- <<: *copr_build_commit_main
packages: [specfile-epel8]
targets:
- epel-8
- <<: *copr_build_commit_main
packages: [specfile-epel10]
targets:
- epel-10-all
- &copr_build_commit_stable
job: copr_build
trigger: commit
branch: stable
packages: [specfile]
targets:
- fedora-stable
- fedora-stable-aarch64
project: packit-stable
list_on_homepage: True
preserve_project: True
- &copr_build_release
job: copr_build
trigger: release
packages: [specfile]
targets:
- fedora-all
- fedora-all-aarch64
- epel-9
project: packit-releases
list_on_homepage: True
preserve_project: True
- <<: *copr_build_release
packages: [specfile-epel8]
targets:
- epel-8
- <<: *copr_build_release
packages: [specfile-epel10]
targets:
- epel-10-all
- &tests
job: tests
trigger: pull_request
packages: [specfile]
tmt_plan: "smoke|full|packit-integration"
targets:
- fedora-all
- epel-9
- <<: *tests
identifier: performance
tmt_plan: performance
targets:
- fedora-rawhide
- <<: *tests
packages: [specfile-epel8]
tmt_plan: "smoke|full"
use_internal_tf: true
targets:
epel-8-x86_64:
distros: [RHEL-8.10.0-Nightly]
# enable EPEL
tf_extra_params:
environments:
- kickstart:
post-install: |
%post --log=/dev/console
set -x
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
%end
- <<: *tests
packages: [specfile-epel10]
tmt_plan: "smoke|full"
targets:
- epel-10-all
- &propose_downstream
job: propose_downstream
trigger: release
packages: [specfile]
dist_git_branches:
rawhide:
fast_forward_merge_into:
- fedora-branched
- eln
epel-9: {}
- <<: *propose_downstream
packages: [specfile-epel8]
dist_git_branches:
- epel-8
- <<: *propose_downstream
packages: [specfile-epel10]
dist_git_branches:
epel-10:
fast_forward_merge_into:
- epel-10-branched
- <<: *propose_downstream
packages: [specfile-centos-integration-sig]
dist_git_branches:
- c9-sig-integration
- &pull_from_upstream
job: pull_from_upstream
trigger: release
packages: [specfile]
dist_git_branches:
rawhide:
fast_forward_merge_into:
- fedora-branched
- eln
epel-9: {}
- <<: *pull_from_upstream
packages: [specfile-epel8]
dist_git_branches:
- epel-8
- <<: *pull_from_upstream
packages: [specfile-epel10]
dist_git_branches:
epel-10:
fast_forward_merge_into:
- epel-10-branched
- <<: *pull_from_upstream
packages: [specfile-centos-integration-sig]
dist_git_branches:
- c9-sig-integration
- &koji_build
job: koji_build
trigger: commit
packages: [specfile]
packit_instances: ["stg"]
allowed_pr_authors: ["packit-stg", "packit"]
dist_git_branches:
- epel-9
- <<: *koji_build
packages: [specfile-epel8]
dist_git_branches:
- epel-8
- <<: *koji_build
packages: [specfile-epel10]
dist_git_branches:
- epel-10-all
- <<: *koji_build
packages: [specfile-centos-integration-sig]
dist_git_branches:
- c9-sig-integration
- <<: *koji_build
sidetag_group: packit-specfile-ogr-releases
dependents:
- packit
dist_git_branches:
- fedora-all
- &bodhi_update
job: bodhi_update
trigger: commit
packages: [specfile]
packit_instances: ["stg"]
allowed_builders: ["packit-stg", "packit"]
dist_git_branches:
- epel-9
- <<: *bodhi_update
packages: [specfile-epel8]
dist_git_branches:
- epel-8
- <<: *bodhi_update
packages: [specfile-epel10]
dist_git_branches:
- epel-10-all

3
README.packit Normal file
View file

@ -0,0 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 1.13.0.post1.dev2+g84134016c.

18
plans/full.fmf Normal file
View file

@ -0,0 +1,18 @@
summary:
Unit & integration tests
discover+:
filter: tier:1
adjust:
- when: "distro == rhel-8"
because: "only platform-python is installed on RHEL 8 by default"
prepare+:
- how: install
package: python3
- when: "distro == rhel-10 or distro == centos-10 or distro == centos-stream-10"
because: "flexmock is not in EPEL 10: https://bugzilla.redhat.com/show_bug.cgi?id=2351835"
prepare+:
- how: install
package: python3-pip
- how: shell
script: pip3 install flexmock

32
plans/git_reference.py Normal file
View file

@ -0,0 +1,32 @@
#!/usr/bin/python
# Copyright Contributors to the Packit project.
# SPDX-License-Identifier: MIT
import subprocess
from pathlib import Path
import fmf
# Set discover of specfile tests to a fixed commit
tree_root = Path.cwd().absolute()
tree = fmf.Tree(tree_root)
main_node = tree.find("/plans")
with main_node as data:
data["discover"]["url"] = "https://github.com/packit/specfile.git"
data["discover"]["ref"] = (
subprocess.check_output(["git", "rev-parse", "HEAD"]).decode().strip()
)
# Set discover of packit integration tests to the current main
packit_node = tree.find("/plans/packit-integration")
with packit_node as data:
data["discover"]["ref"] = (
subprocess.check_output(
["git", "ls-remote", "https://github.com/packit/packit", "main"]
)
.decode()
.strip()
.split()[0]
)

6
plans/main.fmf Normal file
View file

@ -0,0 +1,6 @@
discover:
how: fmf
url: https://github.com/packit/specfile.git
ref: a07560dd2609cf23add5deeadc103033611b7b22
execute:
how: tmt

View file

@ -0,0 +1,29 @@
discover:
how: fmf
url: https://github.com/packit/packit
filter: tag:full
ref: 87042fcac49435dd55a1b989ed0c6ead290e703d
prepare:
- how: install
copr: packit/packit-dev
- how: shell
script: sed -i -n '/^priority=/!p;$apriority=5'
/etc/yum.repos.d/*:packit:packit-dev.repo
adjust:
- when: how == integration
because: provide latest python-specfile rpm when running locally
prepare+:
- name: python3-specfile rpm
how: install
directory: noarch/
- when: distro == rhel-9 or distro == centos-9 or distro == centos-stream-9
because: 'build and deepdiff are not in EPEL 9: https://bugzilla.redhat.com/show_bug.cgi?id=2120251'
prepare+:
- how: install
package: python3-pip
- how: shell
script: pip3 install build 'deepdiff < 8.0.0'
- when: |
distro == rhel-8 or distro == centos-8 or distro == centos-stream-8 or distro == rhel-9 or distro == centos-9 or distro == centos-stream-9
because: packit doesn't support EL 8
enabled: false

15
plans/performance.fmf Normal file
View file

@ -0,0 +1,15 @@
summary:
Performance tests
discover+:
filter: tier:3
prepare:
- how: install
package: python3-pip
- how: shell
script: pip3 install pytest-fail-slow
- how: shell
script: curl --output-dir /tmp -O https://src.fedoraproject.org/rpms/texlive/raw/rawhide/f/texlive.spec
adjust:
- when: "initiator != packit"
because: "skip this plan on dist-git pull requests"
enabled: false

10
plans/smoke.fmf Normal file
View file

@ -0,0 +1,10 @@
summary:
Basic smoke test
discover+:
filter: tier:0
adjust:
- when: "distro == rhel-8"
because: "only platform-python is installed on RHEL 8 by default"
prepare+:
- how: install
package: python3

274
python-specfile.spec Normal file
View file

@ -0,0 +1,274 @@
%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
in a minimal diff.}
%global base_version 0.38.0
#global prerelease rc1
%global package_version %{base_version}%{?prerelease:~%{prerelease}}
%global pypi_version %{base_version}%{?prerelease}
Name: python-specfile
Version: %{package_version}
Release: 1%{?dist}
Summary: A library for parsing and manipulating RPM spec files
License: MIT
URL: https://github.com/packit/specfile
Source0: %{pypi_source specfile %{pypi_version}}
BuildArch: noarch
BuildRequires: python3-devel
%if %{with tests}
# tests/unit/test_guess_packager.py
BuildRequires: git-core
%endif
%description
%{desc}
%package -n python%{python3_pkgversion}-specfile
Summary: %{summary}
%description -n python%{python3_pkgversion}-specfile
%{desc}
%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}
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files specfile
%if %{with tests}
%check
%pytest --verbose tests/unit tests/integration
%endif
%files -n python%{python3_pkgversion}-specfile -f %{pyproject_files}
%doc README.md
%changelog
* Thu Jan 08 2026 Packit <hello@packit.dev> - 0.38.0-1
- A bug leading to incorrect EVR expansion has been fixed. (#492)
- Prevented side-effects during condition evaluation that could occur when expanding macros that manipulate other macros, leading to misinterpreted validity of condition branches. (#499)
* Fri Oct 03 2025 Packit <hello@packit.dev> - 0.37.1-1
- We have solved a FutureWarning in our codebase. (#485)
* Fri Sep 05 2025 Packit <hello@packit.dev> - 0.37.0-1
- Added support for Elbrus E2K CPU architectures. (#484)
* 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)
* 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)
* Tue Mar 18 2025 Packit <hello@packit.dev> - 0.34.2-1
- context_management: add a type stub override to fix typing. Type checkers like mypy and pyright can now correctly determine the types for `.sources()`, `.sections()`, and the other `Specfile` methods that return context managers. (#457)
* Fri Feb 07 2025 Packit <hello@packit.dev> - 0.34.1-1
- Removed the usage of a walrus operator for Python 3.6 compatibility. (#450)
* Mon Jan 27 2025 Packit <hello@packit.dev> - 0.34.0-1
- Added support for detached (open)SUSE style changelogs (#444)
- Resolves: rhbz#2342178
* 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)
For example, this will work properly even on spec files without `%%changelog`:
```
with spec.sections() as sections:
changelog = sections.get_or_create("changelog")
changelog[:] = ["%%autochangelog"]
```
- Resolves: rhbz#2332288
* 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)
* 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
* Sun Sep 15 2024 Packit <hello@packit.dev> - 0.32.2-1
- Explicitly invalidate the global parse hash when a SpecParser instance is created to prevent this issue. (#409)
* Mon Jul 29 2024 Packit <hello@packit.dev> - 0.32.1-1
- Fixed two issues related to condition parsing. (#405)
* 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)
* 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)
* 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)
* 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)
* 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 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)
* Mon Nov 20 2023 Packit <hello@packit.dev> - 0.25.0-1
- There is a new method, `Specfile.update_version()`, that allows updating spec file version even if it is a pre-release. (#317)
* Mon Nov 06 2023 Packit <hello@packit.dev> - 0.24.0-1
- Improved type annotations for `UserList` subclasses. (#299)
- Macro definitions gained a new `commented_out` property indicating that a macro definition is commented out. Another new property, `comment_out_style`, determines if it is achieved by using a `%%dnl` (discard next line) directive (e.g. `%%dnl %%global prerelease beta2`) or by replacing the starting `%` with `#` (e.g. `#global prerelease beta2`). (#298)
* Mon Oct 30 2023 Packit <hello@packit.dev> - 0.23.0-1
- Sources now have a `valid` property that indicates whether a source is valid in the current context, meaning it is not present in a false branch of any condition. (#295)
* 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)
* 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)
* 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)
* 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 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)
* Mon Oct 17 2022 Tomas Tomecek <ttomecek@redhat.com> - 0.8.0-2
- Rebuild to trigger downstream Packit automation
* 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)
* Thu Aug 25 2022 Nikola Forró <nforro@redhat.com> - 0.6.0-1
- New upstream release 0.6.0
* Tue Aug 09 2022 Nikola Forró <nforro@redhat.com> - 0.5.1-1
- New upstream release 0.5.1
* Thu Jul 21 2022 Nikola Forró <nforro@redhat.com> - 0.5.0-1
- New upstream release 0.5.0
* Thu Jun 16 2022 Nikola Forró <nforro@redhat.com> - 0.4.0-1
- New upstream release 0.4.0
* Tue May 10 2022 Nikola Forró <nforro@redhat.com> - 0.3.0-1
- New upstream release 0.3.0
* 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
* Tue Feb 08 2022 Nikola Forró <nforro@redhat.com> - 0.1.0-1
- Initial package

1
sources Normal file
View file

@ -0,0 +1 @@
SHA512 (specfile-0.38.0.tar.gz) = bfd60434b868fd191fb68d5b2fa319db45df80397b6c1000a63d9fe947e998a8a86fcf6a76c0ae9b6ef3321d2b04d4dd9bc565a610bfb117faa64180342fda4d