Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-specfile for openSUSE:Factory
checked in at 2023-04-25 16:43:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-specfile (Old)
and /work/SRC/openSUSE:Factory/.python-specfile.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-specfile"
Tue Apr 25 16:43:01 2023 rev:10 rq:1082743 version:0.16.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-specfile/python-specfile.changes
2023-03-14 18:16:16.667614136 +0100
+++
/work/SRC/openSUSE:Factory/.python-specfile.new.1533/python-specfile.changes
2023-04-25 16:44:47.930929305 +0200
@@ -1,0 +2,7 @@
+Tue Apr 25 07:18:46 UTC 2023 - David Anes <[email protected]>
+
+- Update to version 0.16.0:
+ * Added Specfile.has_autorelease property to detect if a spec
+ file uses the %autorelease macro. (#221)
+
+-------------------------------------------------------------------
Old:
----
specfile-0.15.0.tar.gz
New:
----
specfile-0.16.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-specfile.spec ++++++
--- /var/tmp/diff_new_pack.OuxRTq/_old 2023-04-25 16:44:48.358931843 +0200
+++ /var/tmp/diff_new_pack.OuxRTq/_new 2023-04-25 16:44:48.366931890 +0200
@@ -18,7 +18,7 @@
%define skip_python38 1
Name: python-specfile
-Version: 0.15.0
+Version: 0.16.0
Release: 0
Summary: A library for parsing and manipulating RPM spec files
License: MIT
++++++ specfile-0.15.0.tar.gz -> specfile-0.16.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/specfile-0.15.0/.github/workflows/pypi-publish.yml
new/specfile-0.16.0/.github/workflows/pypi-publish.yml
--- old/specfile-0.15.0/.github/workflows/pypi-publish.yml 2023-03-10
12:16:50.000000000 +0100
+++ new/specfile-0.16.0/.github/workflows/pypi-publish.yml 2023-04-20
18:57:54.000000000 +0200
@@ -19,7 +19,7 @@
# https://pypa-build.readthedocs.io
run: |
python -m pip install build
- python -m build --sdist --wheel
+ python -m build
- name: Publish ð¦ to PyPI
# https://github.com/pypa/gh-action-pypi-publish
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/specfile-0.15.0/.github/workflows/update-constants.yml
new/specfile-0.16.0/.github/workflows/update-constants.yml
--- old/specfile-0.15.0/.github/workflows/update-constants.yml 2023-03-10
12:16:50.000000000 +0100
+++ new/specfile-0.16.0/.github/workflows/update-constants.yml 2023-04-20
18:57:54.000000000 +0200
@@ -28,7 +28,7 @@
python scripts/update_constants.py specfile/constants.py
rpm-source-tree/
case $? in
0) echo "pr=true" >> $GITHUB_OUTPUT;;
- 100) echo "pr=false" >> $GITHUB_OUTPUT;;
+ 100) echo "pr=false" >> $GITHUB_OUTPUT; exit 0;;
*) exit $?;;
esac
- name: Create Pull Request
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/specfile-0.15.0/.pre-commit-config.yaml
new/specfile-0.16.0/.pre-commit-config.yaml
--- old/specfile-0.15.0/.pre-commit-config.yaml 2023-03-10 12:16:50.000000000
+0100
+++ new/specfile-0.16.0/.pre-commit-config.yaml 2023-04-20 18:57:54.000000000
+0200
@@ -8,11 +8,11 @@
hooks:
- id: pyupgrade
- repo: https://github.com/psf/black
- rev: 22.12.0
+ rev: 23.1.0
hooks:
- id: black
- repo: https://github.com/pre-commit/mirrors-prettier
- rev: v3.0.0-alpha.4
+ rev: v3.0.0-alpha.6
hooks:
- id: prettier
- repo: https://github.com/pre-commit/pre-commit-hooks
@@ -39,19 +39,19 @@
# https://github.com/PyCQA/pycodestyle/issues/373
- --extend-ignore=E203
- repo: https://github.com/PyCQA/isort
- rev: 5.11.5
+ rev: 5.12.0
hooks:
- id: isort
args: [--profile, black]
- repo: https://github.com/pre-commit/mirrors-mypy
- rev: v0.991
+ rev: v1.1.1
hooks:
- id: mypy
args: [--show-error-codes, --ignore-missing-imports]
additional_dependencies:
[types-pkg_resources, types-requests, types-python-dateutil]
- repo: https://github.com/packit/pre-commit-hooks
- rev: 8db5a24e01b9f54aaa7a800f33c4b9aa619af1b9
+ rev: v1.0.0
hooks:
- id: check-rebase
args:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/specfile-0.15.0/CHANGELOG.md
new/specfile-0.16.0/CHANGELOG.md
--- old/specfile-0.15.0/CHANGELOG.md 2023-03-10 12:16:50.000000000 +0100
+++ new/specfile-0.16.0/CHANGELOG.md 2023-04-20 18:57:54.000000000 +0200
@@ -1,3 +1,7 @@
+# 0.16.0
+
+- Added `Specfile.has_autorelease` property to detect if a spec file uses the
`%autorelease` macro. (#221)
+
# 0.15.0
- Parsing the spec file by RPM is now performed only if really necessary,
greatly improving performance in certain scenarios. (#212)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/specfile-0.15.0/PKG-INFO new/specfile-0.16.0/PKG-INFO
--- old/specfile-0.15.0/PKG-INFO 2023-03-10 12:17:02.947491000 +0100
+++ new/specfile-0.16.0/PKG-INFO 2023-04-20 18:58:05.934381500 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: specfile
-Version: 0.15.0
+Version: 0.16.0
Summary: A library for parsing and manipulating RPM spec files.
Home-page: https://github.com/packit/specfile
Author: Red Hat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/specfile-0.15.0/fedora/python-specfile.spec
new/specfile-0.16.0/fedora/python-specfile.spec
--- old/specfile-0.15.0/fedora/python-specfile.spec 2023-03-10
12:16:50.000000000 +0100
+++ new/specfile-0.16.0/fedora/python-specfile.spec 2023-04-20
18:57:54.000000000 +0200
@@ -13,7 +13,7 @@
Name: python-specfile
-Version: 0.15.0
+Version: 0.16.0
Release: 1%{?dist}
Summary: A library for parsing and manipulating RPM spec files
@@ -67,6 +67,9 @@
%changelog
+* Thu Apr 20 2023 Packit Team <[email protected]> - 0.16.0-1
+- New upstream release 0.16.0
+
* Fri Mar 10 2023 Packit Team <[email protected]> - 0.15.0-1
- New upstream release 0.15.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/specfile-0.15.0/specfile/specfile.py
new/specfile-0.16.0/specfile/specfile.py
--- old/specfile-0.15.0/specfile/specfile.py 2023-03-10 12:16:50.000000000
+0100
+++ new/specfile-0.16.0/specfile/specfile.py 2023-04-20 18:57:54.000000000
+0200
@@ -23,7 +23,12 @@
from specfile.sources import Patches, Sources
from specfile.spec_parser import SpecParser
from specfile.tags import Tag, Tags
-from specfile.value_parser import SUBSTITUTION_GROUP_PREFIX, ValueParser
+from specfile.value_parser import (
+ SUBSTITUTION_GROUP_PREFIX,
+ EnclosedMacroSubstitution,
+ MacroSubstitution,
+ ValueParser,
+)
class Specfile:
@@ -374,15 +379,35 @@
section.data = patchlist.get_raw_section_data()
@property
+ def has_autorelease(self) -> bool:
+ """Whether the spec file uses %autorelease."""
+ for node in ValueParser.flatten(ValueParser.parse(self.raw_release)):
+ if (
+ isinstance(node, (MacroSubstitution,
EnclosedMacroSubstitution))
+ and node.name == "autorelease"
+ ):
+ return True
+ return False
+
+ @property
def has_autochangelog(self) -> bool:
"""Whether the spec file uses %autochangelog."""
with self.sections() as sections:
try:
- section = sections.changelog
+ changelog = sections.changelog
except AttributeError:
return False
- changelog = [ln.strip() for ln in section if ln.strip()]
- return changelog == ["%autochangelog"]
+ for line in changelog:
+ if line.lstrip().startswith("#"):
+ # skip comments
+ continue
+ for node in ValueParser.flatten(ValueParser.parse(line)):
+ if (
+ isinstance(node, (MacroSubstitution,
EnclosedMacroSubstitution))
+ and node.name == "autochangelog"
+ ):
+ return True
+ return False
def add_changelog_entry(
self,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/specfile-0.15.0/specfile/value_parser.py
new/specfile-0.16.0/specfile/value_parser.py
--- old/specfile-0.15.0/specfile/value_parser.py 2023-03-10
12:16:50.000000000 +0100
+++ new/specfile-0.16.0/specfile/value_parser.py 2023-04-20
18:57:54.000000000 +0200
@@ -228,7 +228,7 @@
i += 2
elif i < len(value) and value[i] in "*#":
i += 1
- return i + 1
+ return i
result: List[Node] = []
start = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/specfile-0.15.0/specfile.egg-info/PKG-INFO
new/specfile-0.16.0/specfile.egg-info/PKG-INFO
--- old/specfile-0.15.0/specfile.egg-info/PKG-INFO 2023-03-10
12:17:02.000000000 +0100
+++ new/specfile-0.16.0/specfile.egg-info/PKG-INFO 2023-04-20
18:58:05.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: specfile
-Version: 0.15.0
+Version: 0.16.0
Summary: A library for parsing and manipulating RPM spec files.
Home-page: https://github.com/packit/specfile
Author: Red Hat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/specfile-0.15.0/tests/integration/test_specfile.py
new/specfile-0.16.0/tests/integration/test_specfile.py
--- old/specfile-0.15.0/tests/integration/test_specfile.py 2023-03-10
12:16:50.000000000 +0100
+++ new/specfile-0.16.0/tests/integration/test_specfile.py 2023-04-20
18:57:54.000000000 +0200
@@ -320,6 +320,26 @@
]
[email protected](
+ "raw_release, has_autorelease",
+ [
+ ("1%{?dist}", False),
+ ("%{release_number}%{?dist}", False),
+ ("0.27.%{commitdate}git%{shortcommit}%{?dist}", False),
+ ("%autorelease", True),
+ ("%{autorelease}", True),
+ ("%autorelease -b 4 -s %{date}git%{shortcommit}", True),
+ ("%{?autorelease}%{!?autorelease:1%{?dist}}", True),
+ ("0.10.%{date}git%{shortcommit}.%autorelease", True),
+ ("%{obsrel}.%{autorelease}", True),
+ ],
+)
+def test_autorelease(spec_rpmautospec, raw_release, has_autorelease):
+ spec = Specfile(spec_rpmautospec)
+ spec.raw_release = raw_release
+ assert spec.has_autorelease == has_autorelease
+
+
@pytest.mark.skipif(
rpm.__version__ < "4.16", reason="%autochangelog requires rpm 4.16 or
higher"
)