python-specfile/python-specfile.spec
Packit cb0e0cd234 [packit] 0.27.0 upstream release
Upstream tag: 0.27.0
Upstream commit: 1789f9c6
2024-01-19 13:28:11 +00:00

142 lines
5.7 KiB
RPMSpec

%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.27.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: 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
%description
%{desc}
%package -n python%{python3_pkgversion}-specfile
Summary: %{summary}
%description -n python%{python3_pkgversion}-specfile
%{desc}
%prep
%autosetup -p1 -n specfile-%{pypi_version}
# Remove bundled egg-info
rm -rf specfile.egg-info
%build
%py3_build
%install
%py3_install
%check
%pytest --verbose tests/unit tests/integration
%files -n python%{python3_pkgversion}-specfile
%license LICENSE
%doc README.md
%{python3_sitelib}/specfile
%{python3_sitelib}/specfile-%{version}-py%{python3_version}.egg-info
%changelog
* 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 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)
* 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)
- Sources and patches can now be removed by number (#69)
- Number of digits in a source number is now expressed the same way as packit does it (#69)
- Empty lines are now compressed when deleting tags (#69)
- Added convenience property for getting texts of tag comments (#69)
- Added convenience method for adding a patch (#69)
* Tue Jun 21 2022 Packit <hello@packit.dev> - 0.4.0-1
- Added convenience properties for most used tags (#63)
- Hardened linting by ignoring only specific mypy errors (#64)
- Fixed list of valid tag names and ensured newly added tags are not part of a condition block (#66)
- Initial patch number and its default number of digits are now honored (#66)
- Fixed a bug in `%prep` macro stringification (#67)
* 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)
- Added support for implicit source numbering (#48)
- Documented sources and `%prep` macros in README (#49)
- Implemented high-level manipulation of version and release (#54)
- Added support for `* Mon May 16 2022 John Doe <packager@example.com> - 0.3.0-1.fc35
- local build` (#56)
- Added `remote` property to sources and enabled addition of `Sources` (#59)
- Implemented mid-level manipulation of `%prep` section, including modification of `%prep` macros (#37, #52)
* 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