Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pbr for openSUSE:Factory checked in at 2022-02-23 16:25:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pbr (Old) and /work/SRC/openSUSE:Factory/.python-pbr.new.1958 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pbr" Wed Feb 23 16:25:45 2022 rev:58 rq:956640 version:5.8.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pbr/python-pbr.changes 2021-12-09 19:45:25.801128077 +0100 +++ /work/SRC/openSUSE:Factory/.python-pbr.new.1958/python-pbr.changes 2022-02-23 16:26:03.559507991 +0100 @@ -1,0 +2,11 @@ +Tue Feb 22 09:04:17 UTC 2022 - Dirk M??ller <dmuel...@suse.com> + +- update to 5.8.1: + * Add release note about missing pbr.json fix + * Avoid recursive calls into SetupTools entrypoint + * remove explicit mock + * Don't test with setuptools local distutils + * Use context blocks for open() calls in packaging +- remove remove_mock.patch (upstream) + +------------------------------------------------------------------- Old: ---- pbr-5.8.0.tar.gz remove_mock.patch New: ---- pbr-5.8.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pbr.spec ++++++ --- /var/tmp/diff_new_pack.1Wjq14/_old 2022-02-23 16:26:07.671508139 +0100 +++ /var/tmp/diff_new_pack.1Wjq14/_new 2022-02-23 16:26:07.675508138 +0100 @@ -1,7 +1,7 @@ # # spec file # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,15 +26,13 @@ %bcond_with test %endif Name: python-pbr%{psuffix} -Version: 5.8.0 +Version: 5.8.1 Release: 0 Summary: Python Build Reasonableness License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/pbr/latest/ Source: https://files.pythonhosted.org/packages/source/p/pbr/pbr-%{version}.tar.gz -# PATCH-FIX-UPSTREAM remove_mock.patch -- https://review.opendev.org/c/openstack/pbr/+/767972 remove explicit mock -Patch0: remove_mock.patch BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros ++++++ pbr-5.8.0.tar.gz -> pbr-5.8.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/AUTHORS new/pbr-5.8.1/AUTHORS --- old/pbr-5.8.0/AUTHORS 2021-11-18 12:07:29.000000000 +0100 +++ new/pbr-5.8.1/AUTHORS 2022-02-07 08:48:34.000000000 +0100 @@ -10,6 +10,7 @@ Anthony Young <sleepsonthefl...@gmail.com> Antoine Musso <has...@free.fr> Attila Fazekas <afaze...@redhat.com> +Ben Greiner <c...@bnavigator.de> Ben Nemec <bne...@redhat.com> Bhuvan Arumugam <bhu...@apache.org> Brandon LeBlanc <brandon@leblanc.codes> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/ChangeLog new/pbr-5.8.1/ChangeLog --- old/pbr-5.8.0/ChangeLog 2021-11-18 12:07:29.000000000 +0100 +++ new/pbr-5.8.1/ChangeLog 2022-02-07 08:48:34.000000000 +0100 @@ -1,6 +1,15 @@ CHANGES ======= +5.8.1 +----- + +* Add release note about missing pbr.json fix +* Avoid recursive calls into SetupTools entrypoint +* remove explicit mock +* Don't test with setuptools local distutils +* Use context blocks for open() calls in packaging + 5.8.0 ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/PKG-INFO new/pbr-5.8.1/PKG-INFO --- old/pbr-5.8.0/PKG-INFO 2021-11-18 12:07:29.311755200 +0100 +++ new/pbr-5.8.1/PKG-INFO 2022-02-07 08:48:34.488749700 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pbr -Version: 5.8.0 +Version: 5.8.1 Summary: Python Build Reasonableness Home-page: https://docs.openstack.org/pbr/latest/ Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/pbr/core.py new/pbr-5.8.1/pbr/core.py --- old/pbr-5.8.0/pbr/core.py 2021-11-18 12:07:01.000000000 +0100 +++ new/pbr-5.8.1/pbr/core.py 2022-02-07 08:48:02.000000000 +0100 @@ -61,6 +61,11 @@ integer_types = (int, long) # noqa +# We use this canary to detect whether the module has already been called, +# in order to avoid recursion +in_use = False + + def pbr(dist, attr, value): """Implements the actual pbr setup() keyword. @@ -81,6 +86,16 @@ not work well with distributions that do use a `Distribution` subclass. """ + # Distribution.finalize_options() is what calls this method. That means + # there is potential for recursion here. Recursion seems to be an issue + # particularly when using PEP517 build-system configs without + # setup_requires in setup.py. We can avoid the recursion by setting + # this canary so we don't repeat ourselves. + global in_use + if in_use: + return + in_use = True + if not value: return if isinstance(value, string_type): @@ -130,14 +145,6 @@ msg = 'Unknown distribution option: %s' % repr(key) warnings.warn(msg) - # Distribution.finalize_options() is what calls this method. That means - # there is potential for recursion here. Recursion seems to be an issue - # particularly when using PEP517 build-system configs without - # setup_requires in setup.py. We can avoid the recursion by setting - # dist.pbr to a None value as the corresponding entrypoint (this function) - # will only be called on a non None value. - setattr(dist, "pbr", None) - # Re-finalize the underlying Distribution try: super(dist.__class__, dist).finalize_options() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/pbr/packaging.py new/pbr-5.8.1/pbr/packaging.py --- old/pbr-5.8.0/pbr/packaging.py 2021-11-18 12:07:01.000000000 +0100 +++ new/pbr-5.8.1/pbr/packaging.py 2022-02-07 08:48:02.000000000 +0100 @@ -581,8 +581,9 @@ else: log.info("[pbr] Reusing existing SOURCES.txt") self.filelist = egg_info.FileList() - for entry in open(manifest_filename, 'r').read().split('\n'): - self.filelist.append(entry) + with open(manifest_filename, 'r') as fil: + for entry in fil.read().split('\n'): + self.filelist.append(entry) def _from_git(distribution): @@ -823,12 +824,9 @@ pkg_metadata = {} for filename in pkg_metadata_filenames: try: - pkg_metadata_file = open(filename, 'r') - except (IOError, OSError): - continue - try: - pkg_metadata = email.message_from_file(pkg_metadata_file) - except email.errors.MessageError: + with open(filename, 'r') as pkg_metadata_file: + pkg_metadata = email.message_from_file(pkg_metadata_file) + except (IOError, OSError, email.errors.MessageError): continue # Check to make sure we're in our own dir diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/pbr/tests/test_packaging.py new/pbr-5.8.1/pbr/tests/test_packaging.py --- old/pbr-5.8.0/pbr/tests/test_packaging.py 2021-11-18 12:07:01.000000000 +0100 +++ new/pbr-5.8.1/pbr/tests/test_packaging.py 2022-02-07 08:48:02.000000000 +0100 @@ -48,7 +48,10 @@ import textwrap import fixtures -import mock +try: + from unittest import mock +except ImportError: + import mock import pkg_resources import six import testscenarios @@ -378,6 +381,12 @@ wheel_file.extractall(self.extracted_wheel_dir) wheel_file.close() + def test_metadata_directory_has_pbr_json(self): + # Build the path to the scripts directory + pbr_json = os.path.join( + self.extracted_wheel_dir, 'pbr_testpackage-0.0.dist-info/pbr.json') + self.assertTrue(os.path.exists(pbr_json)) + def test_data_directory_has_wsgi_scripts(self): # Build the path to the scripts directory scripts_dir = os.path.join( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/pbr/tests/test_pbr_json.py new/pbr-5.8.1/pbr/tests/test_pbr_json.py --- old/pbr-5.8.0/pbr/tests/test_pbr_json.py 2021-11-18 12:07:01.000000000 +0100 +++ new/pbr-5.8.1/pbr/tests/test_pbr_json.py 2022-02-07 08:48:02.000000000 +0100 @@ -10,7 +10,10 @@ # License for the specific language governing permissions and limitations # under the License. -import mock +try: + from unittest import mock +except ImportError: + import mock from pbr import pbr_json from pbr.tests import base diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/pbr.egg-info/PKG-INFO new/pbr-5.8.1/pbr.egg-info/PKG-INFO --- old/pbr-5.8.0/pbr.egg-info/PKG-INFO 2021-11-18 12:07:29.000000000 +0100 +++ new/pbr-5.8.1/pbr.egg-info/PKG-INFO 2022-02-07 08:48:34.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pbr -Version: 5.8.0 +Version: 5.8.1 Summary: Python Build Reasonableness Home-page: https://docs.openstack.org/pbr/latest/ Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/pbr.egg-info/SOURCES.txt new/pbr-5.8.1/pbr.egg-info/SOURCES.txt --- old/pbr-5.8.0/pbr.egg-info/SOURCES.txt 2021-11-18 12:07:29.000000000 +0100 +++ new/pbr-5.8.1/pbr.egg-info/SOURCES.txt 2022-02-07 08:48:34.000000000 +0100 @@ -102,6 +102,7 @@ releasenotes/notes/fix-handling-of-spaces-in-data-files-glob-0fe0c398d70dfea8.yaml releasenotes/notes/fix-keywords-as-cfg-list-6cadc5141429d7f5.yaml releasenotes/notes/fix-mapping-value-explode-with-equal-sign-41bf822fa4dd0e68.yaml +releasenotes/notes/fix-pep517-metadata-regression-bc287e60e45b2732.yaml releasenotes/notes/ignore-find-links-07cf54f465aa33a6.yaml releasenotes/notes/long-descr-content-type-f9a1003acbb8740f.yaml releasenotes/notes/pep517-support-89189ce0bab15845.yaml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/releasenotes/notes/fix-pep517-metadata-regression-bc287e60e45b2732.yaml new/pbr-5.8.1/releasenotes/notes/fix-pep517-metadata-regression-bc287e60e45b2732.yaml --- old/pbr-5.8.0/releasenotes/notes/fix-pep517-metadata-regression-bc287e60e45b2732.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/pbr-5.8.1/releasenotes/notes/fix-pep517-metadata-regression-bc287e60e45b2732.yaml 2022-02-07 08:48:02.000000000 +0100 @@ -0,0 +1,6 @@ +--- +fixes: + - | + Packages generated with the 5.8.0 release of PBR failed to incorporate + pbr.json metadata files. This is now corrected. Users can rebuild packages + with newer PBR if they want that missing metadata generated. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/test-requirements.txt new/pbr-5.8.1/test-requirements.txt --- old/pbr-5.8.0/test-requirements.txt 2021-11-18 12:07:01.000000000 +0100 +++ new/pbr-5.8.1/test-requirements.txt 2022-02-07 08:48:02.000000000 +0100 @@ -6,7 +6,6 @@ fixtures>=3.0.0 # Apache-2.0/BSD hacking>=1.1.0,<4.0.0;python_version>='3.6' # Apache-2.0 mock>=2.0.0,<4.0.0;python_version=='2.7' # BSD -mock>=2.0.0;python_version>='3.6' # BSD six>=1.12.0 # MIT stestr>=2.1.0,<3.0;python_version=='2.7' # Apache-2.0 stestr>=2.1.0;python_version>='3.0' # Apache-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.8.0/tox.ini new/pbr-5.8.1/tox.ini --- old/pbr-5.8.0/tox.ini 2021-11-18 12:07:01.000000000 +0100 +++ new/pbr-5.8.1/tox.ini 2022-02-07 08:48:02.000000000 +0100 @@ -7,7 +7,10 @@ usedevelop = True basepython = python3 passenv = PBR_INTEGRATION PIPFLAGS PIPVERSION PBRVERSION REPODIR WHEELHOUSE PROJECTS +# TODO(fungi): drop distutils override once logging improves in Setuptools +# https://github.com/pypa/setuptools/issues/3038 setenv = + SETUPTOOLS_USE_DISTUTILS=stdlib OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:1} OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:1} OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:60} @@ -40,7 +43,10 @@ commands = {posargs} [testenv:cover] +# TODO(fungi): drop distutils override once logging improves in Setuptools +# https://github.com/pypa/setuptools/issues/3038 setenv = + SETUPTOOLS_USE_DISTUTILS=stdlib PYTHON=coverage run --source pbr --parallel-mode commands = stestr run {posargs}