Compare commits
29 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5fe582b104 | ||
|
|
692a2c5302 | ||
|
|
5562423f8b | ||
|
|
fec8853df8 | ||
|
|
65f57b1d83 | ||
| de05138859 | |||
|
|
c5907f16a8 |
||
|
|
dda7f74e72 |
||
|
|
a9e7315abb | ||
|
|
d7ec9be970 | ||
|
|
8904c83236 | ||
|
|
ea5d75b543 | ||
|
|
bb02c01e7c | ||
|
|
0d4cb7e84c | ||
|
|
83f9497e53 | ||
|
|
ff69866a0f | ||
|
|
08477eb7fc | ||
|
|
a83f7454c5 | ||
|
|
c74da4aa95 | ||
|
|
45e508833b | ||
|
|
f0321825fa | ||
|
|
9383c5e3b2 | ||
|
|
ca61b0118d | ||
|
|
2cba68aeed | ||
|
|
5c24c1689e | ||
|
|
3c47f08209 | ||
|
|
fd1a2b6db4 | ||
|
|
8505b23f3d | ||
|
|
1e93bf71df |
11 changed files with 377 additions and 107 deletions
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
260
.packit.yaml
260
.packit.yaml
|
|
@ -1,123 +1,191 @@
|
|||
---
|
||||
# We want to use both instances for all upstream jobs including the `propose-downstream` one.
|
||||
# For downstream, we need to pick just one instance (`stg` in our case)
|
||||
# and redefine it for the `koji_build` and `bodhi_update` jobs.
|
||||
packit_instances: ["prod", "stg"]
|
||||
|
||||
specfile_path: fedora/python-specfile.spec
|
||||
|
||||
# add or remove files that should be synced
|
||||
files_to_sync:
|
||||
- fedora/python-specfile.spec
|
||||
- .packit.yaml
|
||||
|
||||
# name in upstream package repository or registry (e.g. in PyPI)
|
||||
upstream_package_name: specfile
|
||||
# downstream (Fedora) RPM package name
|
||||
downstream_package_name: python-specfile
|
||||
|
||||
copy_upstream_release_description: true
|
||||
|
||||
upstream_project_url: https://github.com/packit/specfile
|
||||
issue_repository: https://github.com/packit/specfile
|
||||
|
||||
actions:
|
||||
# we need this b/c `git archive` doesn't put all the metadata in the tarball:
|
||||
# LookupError: setuptools-scm was unable to detect version for '/builddir/build/BUILD/ogr-0.11.1'.
|
||||
# Make sure you're either building from a fully intact git repository or PyPI tarballs.
|
||||
create-archive:
|
||||
- python3 setup.py sdist --dist-dir ./fedora/
|
||||
- bash -c "ls -1t ./fedora/*.tar.gz | head -n 1"
|
||||
get-current-version: python3 setup.py --version
|
||||
# PEP440
|
||||
#prerelease_suffix_pattern: "([.\\-_]?)(a(lpha)?|b(eta)?|r?c|pre(view)?)([.\\-_]?\\d+)?"
|
||||
#prerelease_suffix_macro: prerelease
|
||||
|
||||
srpm_build_deps:
|
||||
- python3-pip # "python3 setup.py --version" needs it
|
||||
- python3-setuptools_scm
|
||||
copy_upstream_release_description: true
|
||||
|
||||
packages:
|
||||
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:
|
||||
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:
|
||||
upstream_package_name: specfile
|
||||
downstream_package_name: python-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/
|
||||
srpm_build_deps:
|
||||
- python3-setuptools_scm
|
||||
actions:
|
||||
pre-sync:
|
||||
- python3 plans/git_reference.py
|
||||
create-archive:
|
||||
- python3 setup.py sdist --dist-dir ./epel8/
|
||||
- bash -c "ls -1t ./epel8/*.tar.gz | head -n 1"
|
||||
get-current-version: python3 setup.py --version
|
||||
|
||||
jobs:
|
||||
- job: propose_downstream
|
||||
trigger: release
|
||||
metadata:
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
- job: propose_downstream
|
||||
trigger: release
|
||||
specfile_path: epel/python-specfile.spec
|
||||
files_to_sync:
|
||||
- epel/python-specfile.spec
|
||||
- .packit.yaml
|
||||
metadata:
|
||||
dist_git_branches:
|
||||
- epel-8
|
||||
|
||||
- job: copr_build
|
||||
trigger: pull_request
|
||||
identifier: fedora
|
||||
metadata:
|
||||
targets:
|
||||
- fedora-all
|
||||
- &copr_build_pr_epel
|
||||
job: copr_build
|
||||
packages: [specfile]
|
||||
targets:
|
||||
- fedora-all
|
||||
- epel-9
|
||||
- job: copr_build
|
||||
trigger: pull_request
|
||||
specfile_path: epel/python-specfile.spec
|
||||
identifier: epel
|
||||
actions:
|
||||
create-archive:
|
||||
- python3 setup.py sdist --dist-dir ./epel/
|
||||
- bash -c "ls -1t ./epel/*.tar.gz | head -n 1"
|
||||
get-current-version: python3 setup.py --version
|
||||
metadata:
|
||||
targets:
|
||||
- epel-8
|
||||
packages: [specfile-epel8]
|
||||
targets:
|
||||
- epel-8
|
||||
|
||||
- job: copr_build
|
||||
trigger: commit
|
||||
metadata:
|
||||
branch: main
|
||||
targets:
|
||||
- fedora-all
|
||||
project: packit-dev
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
- <<: *copr_build_pr_epel
|
||||
branch: main
|
||||
packages: [specfile]
|
||||
targets:
|
||||
- fedora-all
|
||||
- epel-9
|
||||
project: packit-dev
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
- job: copr_build
|
||||
trigger: commit
|
||||
metadata:
|
||||
branch: main
|
||||
targets:
|
||||
- epel-8
|
||||
project: packit-dev
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
branch: main
|
||||
packages: [specfile-epel8]
|
||||
targets:
|
||||
- epel-8
|
||||
project: packit-dev
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
|
||||
- job: copr_build
|
||||
trigger: commit
|
||||
branch: stable
|
||||
packages: [specfile]
|
||||
targets:
|
||||
- fedora-stable
|
||||
- epel-9
|
||||
project: packit-stable
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
- job: copr_build
|
||||
trigger: commit
|
||||
branch: stable
|
||||
packages: [specfile-epel8]
|
||||
targets:
|
||||
- epel-8
|
||||
project: packit-stable
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
|
||||
- job: copr_build
|
||||
trigger: release
|
||||
metadata:
|
||||
targets:
|
||||
- fedora-all
|
||||
project: packit-releases
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
- <<: *copr_build_pr_epel
|
||||
packages: [specfile]
|
||||
targets:
|
||||
- fedora-all
|
||||
- epel-9
|
||||
project: packit-releases
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
- job: copr_build
|
||||
trigger: release
|
||||
metadata:
|
||||
targets:
|
||||
- epel-8
|
||||
project: packit-releases
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
packages: [specfile-epel8]
|
||||
targets:
|
||||
- epel-8
|
||||
project: packit-releases
|
||||
list_on_homepage: True
|
||||
preserve_project: True
|
||||
|
||||
- job: tests
|
||||
trigger: pull_request
|
||||
packages: [specfile]
|
||||
tmt_plan: "smoke|full|packit-integration"
|
||||
targets:
|
||||
- fedora-all
|
||||
- epel-9
|
||||
- job: tests
|
||||
trigger: pull_request
|
||||
packages: [specfile-epel8]
|
||||
tmt_plan: "smoke|full"
|
||||
targets:
|
||||
- epel-8
|
||||
|
||||
- job: tests
|
||||
trigger: pull_request
|
||||
packages: [specfile]
|
||||
identifier: performance
|
||||
tmt_plan: performance
|
||||
targets:
|
||||
- fedora-rawhide
|
||||
|
||||
- job: propose_downstream
|
||||
trigger: release
|
||||
packages: [specfile]
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
- epel-9
|
||||
- job: propose_downstream
|
||||
trigger: release
|
||||
packages: [specfile-epel8]
|
||||
dist_git_branches:
|
||||
- epel-8
|
||||
|
||||
- job: pull_from_upstream
|
||||
trigger: release
|
||||
packages: [specfile]
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
- epel-9
|
||||
- job: pull_from_upstream
|
||||
trigger: release
|
||||
packages: [specfile-epel8]
|
||||
dist_git_branches:
|
||||
- epel-8
|
||||
|
||||
# downstream automation:
|
||||
- job: koji_build
|
||||
trigger: commit
|
||||
packages: [specfile]
|
||||
packit_instances: ["stg"]
|
||||
metadata:
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
- epel-8
|
||||
allowed_pr_authors: ["packit-stg", "packit"]
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
- epel-9
|
||||
- epel-8
|
||||
|
||||
- job: bodhi_update
|
||||
trigger: commit
|
||||
packages: [specfile]
|
||||
packit_instances: ["stg"]
|
||||
metadata:
|
||||
dist_git_branches:
|
||||
- fedora-branched # rawhide updates are created automatically
|
||||
- epel-8
|
||||
dist_git_branches:
|
||||
- fedora-branched # rawhide updates are created automatically
|
||||
- epel-9
|
||||
- epel-8
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
This repository is maintained by packit.
|
||||
https://packit.dev/
|
||||
The file was generated using packit 0.55.1.dev8+g432e38d.
|
||||
The file was generated using packit 0.86.1.post1.dev5+g8b1868cd.
|
||||
|
|
|
|||
4
plans/full.fmf
Normal file
4
plans/full.fmf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
summary:
|
||||
Unit & integration tests
|
||||
discover+:
|
||||
filter: tier:1
|
||||
29
plans/git_reference.py
Normal file
29
plans/git_reference.py
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
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
6
plans/main.fmf
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
discover:
|
||||
how: fmf
|
||||
url: https://github.com/packit/specfile.git
|
||||
ref: 78f50b4a097245938a00e27e7b7165c8eb00ec3b
|
||||
execute:
|
||||
how: tmt
|
||||
27
plans/packit-integration.fmf
Normal file
27
plans/packit-integration.fmf
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
discover:
|
||||
how: fmf
|
||||
url: https://github.com/packit/packit
|
||||
filter: tier:0 | tier:1
|
||||
ref: 209847d1ff49e4bc4d1099e77b2b0790bc680a04
|
||||
prepare:
|
||||
- how: install
|
||||
copr: packit/packit-dev
|
||||
- how: shell
|
||||
script: dnf -y config-manager --save --setopt="*:packit:packit-dev.priority=5"
|
||||
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
|
||||
- when: distro == rhel-8 or distro == centos-8 or distro == centos-stream-8
|
||||
because: packit doesn't support EL 8
|
||||
enabled: false
|
||||
11
plans/performance.fmf
Normal file
11
plans/performance.fmf
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
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
|
||||
4
plans/smoke.fmf
Normal file
4
plans/smoke.fmf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
summary:
|
||||
Basic smoke test
|
||||
discover+:
|
||||
filter: tier:0
|
||||
|
|
@ -1,22 +1,36 @@
|
|||
%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.25.0
|
||||
#global prerelease rc2
|
||||
|
||||
%global package_version %{base_version}%{?prerelease:~%{prerelease}}
|
||||
%global pypi_version %{base_version}%{?prerelease}
|
||||
|
||||
|
||||
Name: python-specfile
|
||||
Version: 0.5.0
|
||||
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}
|
||||
Source0: %{pypi_source specfile %{pypi_version}}
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: python3-devel
|
||||
%if %{with tests}
|
||||
# tests/unit/test_guess_packager.py
|
||||
BuildRequires: git-core
|
||||
%endif
|
||||
|
||||
|
||||
%description
|
||||
|
|
@ -31,12 +45,16 @@ Summary: %{summary}
|
|||
%{desc}
|
||||
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires -x testing
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n specfile-%{version}
|
||||
%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
|
||||
|
|
@ -48,8 +66,10 @@ Summary: %{summary}
|
|||
%pyproject_save_files specfile
|
||||
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
%pytest
|
||||
%pytest --verbose tests/unit tests/integration
|
||||
%endif
|
||||
|
||||
|
||||
%files -n python%{python3_pkgversion}-specfile -f %{pyproject_files}
|
||||
|
|
@ -57,6 +77,106 @@ Summary: %{summary}
|
|||
|
||||
|
||||
%changelog
|
||||
* 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)
|
||||
|
||||
* 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 Packit <hello@packit.dev> - 0.6.0-1
|
||||
- Switched to our own implementation of working with `%changelog` timestamps and removed dependency on arrow (#88)
|
||||
- Fixed requires of EPEL 8 rpm (#86)
|
||||
|
||||
* Wed Aug 10 2022 Packit <hello@packit.dev> - 0.5.1-1
|
||||
- Added new `%conf` section (#74)
|
||||
- Switched to rpm-py-installer (#75)
|
||||
- Fixed detecting extended timestamp format in `%changelog` (#77, #81)
|
||||
|
||||
* Fri Jul 22 2022 Packit <hello@packit.dev> - 0.5.0-1
|
||||
- Strict optional typing is now enforced (#68)
|
||||
- Fixed deduplication of tag names (#69)
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (specfile-0.5.0.tar.gz) = e5472d1bfffc76acd781ee32fb79b4f2be9b46d3576fc5bf2d52e2edff3a2aa47563237bad1563c4c0f305a4aa1bbc59a515fa2153e6e37b01f1c7b216ad58e0
|
||||
SHA512 (specfile-0.25.0.tar.gz) = 9e3d2f3665ccd713c7e2c50f01656c2b9e157bab88c90be38053ac94e20feab2c3f8d5f1f7dbc0ae543e7ad101fc3db7c5bfbfed249537a999608d5bb737eaf9
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue