Depends on SR#1185797 to build properly
https://build.opensuse.org/request/show/1185797
- Add typing_extensions to BuildRequires
- Remove typing_extensions from Requires -- gh#packit/specfile#179
- Update to 0.31.0:
* Value of a Tag no longer includes trailing whitespace (if any)
* 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"
- Updates from 0.30.0:
* Fixed an exception that occured when accessing the
Specfile.has_autochangelog property while having unparseable
lines (e.g. lines ending with unescaped %) in %changelog
OBS-URL: https://build.opensuse.org/request/show/1185798
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-specfile?expand=0&rev=44
- update to 0.29.0:
* Improved compatibility with RPM 4.20 (alpha version is
currently in Fedora Rawhide).
* Fixed several minor issues such as processing seemingly
commented-out macro definitions (e.g. `#%global prerel rc1`)
and treating `SourceLicense` tag as a source.
* Made `EVR`, `NEVR` and `NEVRA` objects comparable.
* Handling of trailing newlines in the macro defintions has
been improved.
* 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.
* A trailing newline is no longer added to spec files without
one upon saving.
OBS-URL: https://build.opensuse.org/request/show/1179657
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-specfile?expand=0&rev=21
* Improved compatibility with RPM 4.20 (alpha version is
currently in Fedora Rawhide).
* Fixed several minor issues such as processing seemingly
commented-out macro definitions (e.g. `#%global prerel rc1`)
and treating `SourceLicense` tag as a source.
* Made `EVR`, `NEVR` and `NEVRA` objects comparable.
* Handling of trailing newlines in the macro defintions has
been improved.
* 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.
* A trailing newline is no longer added to spec files without
one upon saving.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-specfile?expand=0&rev=42
- update to 0.26.0:
* When accessing tags or macro definitions by name, specfile
now takes validity into account when looking for the best
match. For example if there are two instances of `Version`
tag, one in the true and one in the false branch of a
condition, `Specfile.version` will always access the one that
is in the true branch. (#328)
* Third pre-release for testing Packit support.
- There is a new method, Specfile.update_version(), that allows
updating spec file version even if it is a pre-release. (#317)
- Sources now have a valid property that indicates whether a
source is valid in the current context, meaning it is not
- reduce buildrequires to git-core
- Update to version 0.18.0:
- Update to version 0.17.0:
heuristics as rpmdev-packager, meaning that the
* Added Specfile.has_autorelease property to detect if a spec
- Update to version 0.15.0:
necessary, greatly improving performance in certain scenarios.
* Fixed a bug that broke parsing in case spec file contained
* Specfile no longer depends on rpm-py-installer, it now depends
* Fixed infinite loop that occured when section options were
* Fixed a bug in section parsing that caused sections to be
- Update to version 0.13.0:
the standard `copy()` and `deepcopy()` functions from `copy`
* `Section.name` attribute has been renamed to a more fitting
* `setup.cfg` now uses `license_files` instead of deprecated
* Tags enclosed in conditional macro expansions are not ignored
- Update to version 0.11.0
OBS-URL: https://build.opensuse.org/request/show/1135634
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-specfile?expand=0&rev=19
* When accessing tags or macro definitions by name, specfile
now takes validity into account when looking for the best
match. For example if there are two instances of `Version`
tag, one in the true and one in the false branch of a
condition, `Specfile.version` will always access the one that
is in the true branch. (#328)
* Third pre-release for testing Packit support.
- There is a new method, Specfile.update_version(), that allows
updating spec file version even if it is a pre-release. (#317)
- Sources now have a valid property that indicates whether a
source is valid in the current context, meaning it is not
- reduce buildrequires to git-core
- Update to version 0.18.0:
- Update to version 0.17.0:
heuristics as rpmdev-packager, meaning that the
* Added Specfile.has_autorelease property to detect if a spec
- Update to version 0.15.0:
necessary, greatly improving performance in certain scenarios.
* Fixed a bug that broke parsing in case spec file contained
* Specfile no longer depends on rpm-py-installer, it now depends
* Fixed infinite loop that occured when section options were
* Fixed a bug in section parsing that caused sections to be
- Update to version 0.13.0:
the standard `copy()` and `deepcopy()` functions from `copy`
* `Section.name` attribute has been renamed to a more fitting
* `setup.cfg` now uses `license_files` instead of deprecated
* Tags enclosed in conditional macro expansions are not ignored
- Update to version 0.11.0
now be nested and combined together (with one exception -
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-specfile?expand=0&rev=38
- Update to 0.24.0:
- 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)
- Fix a bad Requires: %{python_module typing_extensions}
OBS-URL: https://build.opensuse.org/request/show/1124208
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-specfile?expand=0&rev=17
- 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)
- Fix a bad Requires: %{python_module typing_extensions}
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-specfile?expand=0&rev=34
- reduce buildrequires to git-core
- Update to 0.22.0:
- Changes from 0.22.0:
* 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.
- Changes from 0.21.0:
* 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.
* Specfile's license in RPM spec file is now confirmed to be SPDX
compatible.
- Blacklist a new broken test on spec file: test_parse_texlive_spec.
- Add a new Python module dependency: typing_extensions.
- Apply spec-cleaner.
OBS-URL: https://build.opensuse.org/request/show/1108838
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-specfile?expand=0&rev=14
- Update to 0.22.0:
- Changes from 0.22.0:
* 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.
- Changes from 0.21.0:
* 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.
* Specfile's license in RPM spec file is now confirmed to be SPDX
compatible.
- Blacklist a new broken test on spec file: test_parse_texlive_spec.
- Add a new Python module dependency: typing_extensions.
- Apply spec-cleaner.
OBS-URL: https://build.opensuse.org/request/show/1108767
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-specfile?expand=0&rev=27
- Update to 0.20.0:
* 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)
* Parsing has been optimized so that even spec files with hundreds of
thousands of lines can be processed in reasonable time. (#240)
- Drop setuptools_scm_git_archive BuildRequires.
- Don't need to skip Python 3.8.
OBS-URL: https://build.opensuse.org/request/show/1099363
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-specfile?expand=0&rev=13
* 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)
* Parsing has been optimized so that even spec files with hundreds of
thousands of lines can be processed in reasonable time. (#240)
- Drop setuptools_scm_git_archive BuildRequires.
- Don't need to skip Python 3.8.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-specfile?expand=0&rev=25
- Update to version 0.13.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.
- Update to version 0.13.0:
* Added Section.options attribute for convenient manipulation of
section options.
* specfile now supports single-line sections where section content
is represented by a macro starting with a newline.
* 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.
OBS-URL: https://build.opensuse.org/request/show/1060457
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-specfile?expand=0&rev=11
- Remove patch (already upstream):
* python-specfile-improve-setup-cfg.patch
- Update to version 0.12.0:
* All classes including `Specfile` itself can now be copied using
the standard `copy()` and `deepcopy()` functions from `copy`
module.
* `Section.name` attribute has been renamed to a more fitting
`Section.id`.
* `setup.cfg` now uses `license_files` instead of deprecated
`license_file`.
* Fixed context managers being shared between Specfile instances.
OBS-URL: https://build.opensuse.org/request/show/1057959
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-specfile?expand=0&rev=9
- Add config.cfg improvements to remove deprecation warnings
* python-specfile-improve-setup-cfg.patch
- Update to version 0.11.1
* Tags enclosed in conditional macro expansions are not ignored
anymore.
* Fixed context managers being shared between Specfile instances. 1q
- Update to version 0.11.0
* 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.
OBS-URL: https://build.opensuse.org/request/show/1043093
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-specfile?expand=0&rev=7
- Update to version 0.10.0
* 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)
OBS-URL: https://build.opensuse.org/request/show/1039167
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-specfile?expand=0&rev=5