Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-setuptools for openSUSE:Factory checked in at 2021-07-16 22:12:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-setuptools (Old) and /work/SRC/openSUSE:Factory/.python-setuptools.new.2632 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-setuptools" Fri Jul 16 22:12:21 2021 rev:65 rq:904146 version:57.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-setuptools/python-setuptools.changes 2021-01-26 14:44:42.603251533 +0100 +++ /work/SRC/openSUSE:Factory/.python-setuptools.new.2632/python-setuptools.changes 2021-07-16 22:12:22.706984422 +0200 @@ -1,0 +2,27 @@ +Mon Jul 5 09:22:44 UTC 2021 - Antonio Larrosa <alarr...@suse.com> + +- Add patch to remove a dependency cycle between + python-more-itertools and python-setuptools (which requires the + former just for one simple function): + * remove-more-itertools-dependency-cycle.patch + +------------------------------------------------------------------- +Fri Jun 25 12:46:26 UTC 2021 - Ben Greiner <c...@bnavigator.de> + +- Update to 57.0.0 + * big changelog since 44.1, see CHANGES.rst. +- No python2 support anymore. +- Refresh sort-for-reproducibility.patch and remove_mock.patch. +- Drop importlib.patch, fixed upstream. +- Remove testdata.tar.gz, packaged upstream. +- Update requirements. + * New Ring-1 dep: python-jaraco.path <-- python-singledispatch + +------------------------------------------------------------------- +Thu Jun 17 17:03:46 UTC 2021 - Ben Greiner <c...@bnavigator.de> + +- Add python dist provides for setuptools, pkg_resources and + easy_install: work around boo#1186870 +- Dont create a package for -test flavor + +------------------------------------------------------------------- Old: ---- importlib.patch setuptools-44.1.1.zip testdata.tar.gz New: ---- remove-more-itertools-dependency-cycle.patch setuptools-57.0.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-setuptools.spec ++++++ --- /var/tmp/diff_new_pack.uLWiUJ/_old 2021-07-16 22:12:23.834976450 +0200 +++ /var/tmp/diff_new_pack.uLWiUJ/_new 2021-07-16 22:12:23.834976450 +0200 @@ -1,5 +1,5 @@ # -# spec file for package python-setuptools +# spec file # # Copyright (c) 2021 SUSE LLC # @@ -16,8 +16,8 @@ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} -%define oldpython python +%{?!python_module:%define python_module() python3-%{**}} +%define skip_python2 1 %global flavor @BUILD_FLAVOR@%{nil} %if "%{flavor}" == "test" %define psuffix -test @@ -33,65 +33,67 @@ %bcond_with wheel %endif %endif -%bcond_without python2 +# in order to avoid rewriting for subpackage generator +%define mypython python Name: python-setuptools%{psuffix} -Version: 44.1.1 +Version: 57.0.0 Release: 0 -Summary: Enhancements to distutils for building and distributing Python packages +Summary: Download, build, install, upgrade, and uninstall Python packages License: MIT URL: https://github.com/pypa/setuptools -Source: https://files.pythonhosted.org/packages/source/s/setuptools/setuptools-%{version}.zip -Source3: testdata.tar.gz +Source: https://files.pythonhosted.org/packages/source/s/setuptools/setuptools-%{version}.tar.gz Patch0: sort-for-reproducibility.patch -Patch1: importlib.patch -# PATCH-FIX-UPSTREAM remove_mock.patch bsc#[0-9]+ mc...@suse.com -# we don't need stinking mock -Patch2: remove_mock.patch -BuildRequires: %{python_module appdirs} -BuildRequires: %{python_module ordered-set} -BuildRequires: %{python_module packaging} -BuildRequires: %{python_module pyparsing >= 2.0.2} -BuildRequires: %{python_module six} +# PATCH-FIX-OPENSUSE remove_mock.patch mc...@suse.com +Patch1: remove_mock.patch +# PATCH-FIX-OPENSUSE remove-more-itertools-dependency-cycle.patch alarr...@suse.com +Patch2: remove-more-itertools-dependency-cycle.patch +BuildRequires: %{python_module appdirs >= 1.4.3} +BuildRequires: %{python_module ordered-set >= 3.1.1} +BuildRequires: %{python_module packaging >= 20.4} +BuildRequires: %{python_module pyparsing >= 2.2.1} BuildRequires: %{python_module xml} BuildRequires: fdupes BuildRequires: python-rpm-macros BuildRequires: unzip -Requires: python-appdirs -Requires: python-base -Requires: python-ordered-set -Requires: python-packaging -Requires: python-six +Requires: python-appdirs >= 1.4.3 +Requires: python-base >= 3.6 +Requires: python-ordered-set >= 3.1.1 +Requires: python-packaging >= 20.4 +Requires: python-pyparsing >= 2.2.1 Requires: python-xml Requires(post): update-alternatives -Requires(postun): update-alternatives +Requires(postun):update-alternatives BuildArch: noarch -# The dependency download feature may require SSL, which is in python3-base and python(2) -%ifpython2 -Requires: python -%endif %if %{with test} BuildRequires: %{python_module Paver} +BuildRequires: %{python_module Sphinx} BuildRequires: %{python_module devel} +BuildRequires: %{python_module jaraco.envs} +BuildRequires: %{python_module jaraco.path >= 3.2.0} BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest-fixture-config} BuildRequires: %{python_module pytest-virtualenv} +BuildRequires: %{python_module pytest-xdist} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools >= %{version}} +BuildRequires: %{python_module virtualenv >= 13.0.0} BuildRequires: %{python_module wheel} -%if %{with python2} -BuildRequires: python-futures -%endif %endif %if 0%{?suse_version} || 0%{?fedora_version} >= 24 Recommends: ca-certificates-mozilla %endif -%ifpython2 -Provides: %{oldpython}-distribute = %{version} -Obsoletes: %{oldpython}-distribute < %{version} -%endif %if %{with wheel} BuildRequires: %{python_module wheel} %endif +%if !%{with test} && !%{with wheel} +# work around boo#1186870 +Provides: %{mypython}%{python_version}dist(setuptools) = %{version} +Provides: %{mypython}%{python_version}dist(pkg_resources) = %{version} +%if "%{python_flavor}" == "python3" || "%{python_provides}" == "python3" +Provides: %{mypython}3dist(pkg_resources) = %{version} +Provides: %{mypython}3dist(setuptools) = %{version} +%endif +%endif %python_subpackages %description @@ -100,15 +102,7 @@ especially ones that have dependencies on other packages. %prep -%setup -q -n setuptools-%{version} - -tar -xzvf %{SOURCE3} -%autopatch -p1 - -find . -type f -name "*.orig" -delete - -# fix rpmlint spurious-executable-perm -chmod -x README.rst +%autosetup -p1 -n setuptools-%{version} # strip shebangs to fix rpmlint warnings # "explain the sed": @@ -116,7 +110,7 @@ # s@...@...@ = same as s/.../.../ except with @ instead of / # ^ = start; #!/ = shebang leading characters; .* = rest of line; $ = end # replace with nothing -sed -r -i '1s@^#!/.*$@@' setuptools/command/easy_install.py +sed -r -i '1s@^#!/.*$@@' pkg_resources/_vendor/appdirs.py %if ! %{with wheel} # replace the bundled stuff @@ -145,8 +139,6 @@ %install %if !%{with test} && !%{with wheel} %python_install -%prepare_alternative easy_install - %python_expand %fdupes %{buildroot}%{$python_sitelib} %endif @@ -158,36 +150,32 @@ %if %{with test} # the 4 skipped test rely on the bundled packages but they are # not available on virtualenv; this is expected behaviour +donttest="test_clean_env_install or test_pip_upgrade_from_source or test_test_command_install_requirements or test_no_missing_dependencies" +# these 3 tests try to download the wheel wheel from PyPI +donttest="$donttest or (test_distutils_adoption and (distutils_stdlib or distutils_local))" export LANG=en_US.UTF-8 # tests need imports local source dir export PYTHONPATH=$(pwd) -%pytest -k 'not (test_clean_env_install or test_pip_upgrade_from_source or test_test_command_install_requirements or test_no_missing_dependencies)' -%endif - -%if !%{with test} && !%{with wheel} -%post -%python_install_alternative easy_install - -%postun -%python_uninstall_alternative easy_install +%pytest -rfE -n auto -k "not ($donttest)" %endif +%if !%{with test} %files %{python_files} -%if !%{with test} && !%{with wheel} +%if !%{with wheel} %license LICENSE %doc CHANGES.rst README.rst -%python_alternative %{_bindir}/easy_install %{python_sitelib}/setuptools %{python_sitelib}/setuptools-%{version}-py%{python_version}.egg-info -%{python_sitelib}/easy_install.py* -%pycache_only %{python_sitelib}/__pycache__/easy_install.* %dir %{python_sitelib}/pkg_resources %{python_sitelib}/pkg_resources/* +%{python_sitelib}/_distutils_hack +%{python_sitelib}/distutils-precedence.pth %endif %if %{with wheel} %dir %{python_sitelib}/../wheels %{python_sitelib}/../wheels/* %endif +%endif %changelog ++++++ remove-more-itertools-dependency-cycle.patch ++++++ From: Antonio Larrosa <alarr...@suse.com> Subject: Remove dependency on more_itertools which generates a dependency cycle setuptools buildrequires more_itertools just for one simple function (unique_everseen) and more_itertools buildrequires setuptools, so in order to remove the cycle, the unique_everseen function is copied here so that it can be used without buildrequiring the external package. Index: setuptools-57.0.0/setuptools/extern/__init__.py =================================================================== --- setuptools-57.0.0.orig/setuptools/extern/__init__.py +++ setuptools-57.0.0/setuptools/extern/__init__.py @@ -69,5 +69,5 @@ class VendorImporter: sys.meta_path.append(self) -names = 'packaging', 'pyparsing', 'ordered_set', 'more_itertools', +names = 'packaging', 'pyparsing', 'ordered_set' VendorImporter(__name__, names, 'setuptools._vendor').install() Index: setuptools-57.0.0/setuptools/dist.py =================================================================== --- setuptools-57.0.0.orig/setuptools/dist.py +++ setuptools-57.0.0/setuptools/dist.py @@ -29,7 +29,7 @@ from distutils.version import StrictVers from setuptools.extern import packaging from setuptools.extern import ordered_set -from setuptools.extern.more_itertools import unique_everseen +from setuptools.more_itertools import unique_everseen from . import SetuptoolsDeprecationWarning Index: setuptools-57.0.0/setuptools/more_itertools.py =================================================================== --- /dev/null +++ setuptools-57.0.0/setuptools/more_itertools.py @@ -0,0 +1,19 @@ +def unique_everseen(iterable, key=None): + """Yield unique elements, preserving order.""" + + seenset = set() + seenset_add = seenset.add + seenlist = [] + seenlist_add = seenlist.append + use_key = key is not None + + for element in iterable: + k = key(element) if use_key else element + try: + if k not in seenset: + seenset_add(k) + yield element + except TypeError: + if k not in seenlist: + seenlist_add(k) + yield element Index: setuptools-57.0.0/setuptools/command/build_py.py =================================================================== --- setuptools-57.0.0.orig/setuptools/command/build_py.py +++ setuptools-57.0.0/setuptools/command/build_py.py @@ -8,7 +8,7 @@ import io import distutils.errors import itertools import stat -from setuptools.extern.more_itertools import unique_everseen +from setuptools.more_itertools import unique_everseen try: from setuptools.lib2to3_ex import Mixin2to3 Index: setuptools-57.0.0/setuptools/msvc.py =================================================================== --- setuptools-57.0.0.orig/setuptools/msvc.py +++ setuptools-57.0.0/setuptools/msvc.py @@ -30,7 +30,7 @@ import itertools import subprocess import distutils.errors from setuptools.extern.packaging.version import LegacyVersion -from setuptools.extern.more_itertools import unique_everseen +from setuptools.more_itertools import unique_everseen from .monkey import get_unpatched Index: setuptools-57.0.0/setuptools/package_index.py =================================================================== --- setuptools-57.0.0.orig/setuptools/package_index.py +++ setuptools-57.0.0/setuptools/package_index.py @@ -28,7 +28,7 @@ from distutils import log from distutils.errors import DistutilsError from fnmatch import translate from setuptools.wheel import Wheel -from setuptools.extern.more_itertools import unique_everseen +from setuptools.more_itertools import unique_everseen EGG_FRAGMENT = re.compile(r'^egg=([-A-Za-z0-9_.+!]+)$') Index: setuptools-57.0.0/setuptools/command/test.py =================================================================== --- setuptools-57.0.0.orig/setuptools/command/test.py +++ setuptools-57.0.0/setuptools/command/test.py @@ -12,7 +12,7 @@ from pkg_resources import (resource_list working_set, _namespace_packages, evaluate_marker, add_activation_listener, require, EntryPoint) from setuptools import Command -from setuptools.extern.more_itertools import unique_everseen +from setuptools.more_itertools import unique_everseen class ScanningLoader(TestLoader): ++++++ remove_mock.patch ++++++ --- /var/tmp/diff_new_pack.uLWiUJ/_old 2021-07-16 22:12:23.886976083 +0200 +++ /var/tmp/diff_new_pack.uLWiUJ/_new 2021-07-16 22:12:23.890976054 +0200 @@ -11,17 +11,21 @@ setuptools/tests/test_upload.py | 5 +---- 10 files changed, 13 insertions(+), 18 deletions(-) ---- a/pkg_resources/tests/test_markers.py -+++ b/pkg_resources/tests/test_markers.py +Index: setuptools-57.0.0/pkg_resources/tests/test_markers.py +=================================================================== +--- setuptools-57.0.0.orig/pkg_resources/tests/test_markers.py ++++ setuptools-57.0.0/pkg_resources/tests/test_markers.py @@ -1,4 +1,4 @@ -import mock +from . import mock from pkg_resources import evaluate_marker ---- a/pkg_resources/tests/test_pkg_resources.py -+++ b/pkg_resources/tests/test_pkg_resources.py -@@ -12,10 +12,7 @@ import stat +Index: setuptools-57.0.0/pkg_resources/tests/test_pkg_resources.py +=================================================================== +--- setuptools-57.0.0.orig/pkg_resources/tests/test_pkg_resources.py ++++ setuptools-57.0.0/pkg_resources/tests/test_pkg_resources.py +@@ -9,10 +9,7 @@ import stat import distutils.dist import distutils.command.install_egg_info @@ -31,23 +35,27 @@ - import mock +from . import mock - from pkg_resources import DistInfoDistribution, Distribution, EggInfoDistribution - from setuptools.extern import six ---- a/setuptools/tests/__init__.py -+++ b/setuptools/tests/__init__.py -@@ -4,6 +4,10 @@ import pytest + from pkg_resources import ( + DistInfoDistribution, Distribution, EggInfoDistribution, +Index: setuptools-57.0.0/setuptools/tests/__init__.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/tests/__init__.py ++++ setuptools-57.0.0/setuptools/tests/__init__.py +@@ -5,6 +5,10 @@ import pytest - from setuptools.extern.six import PY2, PY3 + __all__ = ['fail_on_ascii', 'ack_2to3'] +try: + import mock +except ImportError: + from unittest import mock - __all__ = [ - 'fail_on_ascii', 'py2_only', 'py3_only' ---- a/setuptools/tests/test_build_clib.py -+++ b/setuptools/tests/test_build_clib.py + is_ascii = locale.getpreferredencoding() == 'ANSI_X3.4-1968' + fail_on_ascii = pytest.mark.xfail(is_ascii, reason="Test fails in this locale") +Index: setuptools-57.0.0/setuptools/tests/test_build_clib.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/tests/test_build_clib.py ++++ setuptools-57.0.0/setuptools/tests/test_build_clib.py @@ -1,6 +1,6 @@ import pytest @@ -56,19 +64,23 @@ from distutils.errors import DistutilsSetupError from setuptools.command.build_clib import build_clib from setuptools.dist import Distribution ---- a/setuptools/tests/test_easy_install.py -+++ b/setuptools/tests/test_easy_install.py -@@ -14,7 +14,7 @@ import itertools +Index: setuptools-57.0.0/setuptools/tests/test_easy_install.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/tests/test_easy_install.py ++++ setuptools-57.0.0/setuptools/tests/test_easy_install.py +@@ -12,7 +12,7 @@ import itertools import distutils.errors import io import zipfile -import mock +from . import mock import time - - from setuptools.extern import six ---- a/setuptools/tests/test_msvc.py -+++ b/setuptools/tests/test_msvc.py + import re + import subprocess +Index: setuptools-57.0.0/setuptools/tests/test_msvc.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/tests/test_msvc.py ++++ setuptools-57.0.0/setuptools/tests/test_msvc.py @@ -5,7 +5,7 @@ Tests for msvc support module. import os import contextlib @@ -78,19 +90,23 @@ import pytest ---- a/setuptools/tests/test_packageindex.py -+++ b/setuptools/tests/test_packageindex.py -@@ -6,7 +6,7 @@ import distutils.errors +Index: setuptools-57.0.0/setuptools/tests/test_packageindex.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/tests/test_packageindex.py ++++ setuptools-57.0.0/setuptools/tests/test_packageindex.py +@@ -6,7 +6,7 @@ import urllib.request + import urllib.error + import http.client - from setuptools.extern import six - from setuptools.extern.six.moves import urllib, http_client -import mock +from . import mock import pytest - import pkg_resources ---- a/setuptools/tests/test_register.py -+++ b/setuptools/tests/test_register.py + import setuptools.package_index +Index: setuptools-57.0.0/setuptools/tests/test_register.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/tests/test_register.py ++++ setuptools-57.0.0/setuptools/tests/test_register.py @@ -2,10 +2,7 @@ from setuptools.command.register import from setuptools.dist import Distribution from setuptools.errors import RemovedCommandError @@ -103,19 +119,20 @@ import pytest ---- a/setuptools/tests/test_test.py -+++ b/setuptools/tests/test_test.py -@@ -2,7 +2,7 @@ - - from __future__ import unicode_literals - +Index: setuptools-57.0.0/setuptools/tests/test_test.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/tests/test_test.py ++++ setuptools-57.0.0/setuptools/tests/test_test.py +@@ -1,4 +1,4 @@ -import mock +from . import mock from distutils import log import os ---- a/setuptools/tests/test_upload.py -+++ b/setuptools/tests/test_upload.py +Index: setuptools-57.0.0/setuptools/tests/test_upload.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/tests/test_upload.py ++++ setuptools-57.0.0/setuptools/tests/test_upload.py @@ -2,10 +2,7 @@ from setuptools.command.upload import up from setuptools.dist import Distribution from setuptools.errors import RemovedCommandError @@ -128,9 +145,11 @@ import pytest ---- a/setuptools/tests/test_config.py -+++ b/setuptools/tests/test_config.py -@@ -5,7 +5,7 @@ import contextlib +Index: setuptools-57.0.0/setuptools/tests/test_config.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/tests/test_config.py ++++ setuptools-57.0.0/setuptools/tests/test_config.py +@@ -7,7 +7,7 @@ import configparser import pytest from distutils.errors import DistutilsOptionError, DistutilsFileError @@ -138,18 +157,20 @@ +from setuptools.tests import mock from setuptools.dist import Distribution, _Distribution from setuptools.config import ConfigHandler, read_configuration - from setuptools.extern.six.moves import configparser -@@ -880,7 +880,7 @@ class TestExternalSetters: + from distutils.core import Command +@@ -974,7 +974,7 @@ class TestExternalSetters: }) return None - @patch.object(_Distribution, '__init__', autospec=True) + @mock.patch.object(_Distribution, '__init__', autospec=True) - def test_external_setters(self, mock_parent_init, tmpdir): + def test_external_setters(self, mock_parent_init, tmpdir): mock_parent_init.side_effect = self._fake_distribution_init +Index: setuptools-57.0.0/pkg_resources/tests/__init__.py +=================================================================== --- /dev/null -+++ b/pkg_resources/tests/__init__.py ++++ setuptools-57.0.0/pkg_resources/tests/__init__.py @@ -0,0 +1,4 @@ +try: + import mock ++++++ sort-for-reproducibility.patch ++++++ --- /var/tmp/diff_new_pack.uLWiUJ/_old 2021-07-16 22:12:23.898975998 +0200 +++ /var/tmp/diff_new_pack.uLWiUJ/_new 2021-07-16 22:12:23.898975998 +0200 @@ -1,6 +1,8 @@ ---- a/setuptools/command/easy_install.py -+++ b/setuptools/command/easy_install.py -@@ -423,7 +423,7 @@ class easy_install(Command): +Index: setuptools-57.0.0/setuptools/command/easy_install.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/command/easy_install.py ++++ setuptools-57.0.0/setuptools/command/easy_install.py +@@ -407,7 +407,7 @@ class easy_install(Command): for spec in self.args: self.easy_install(spec, not self.no_deps) if self.record: @@ -9,20 +11,24 @@ if self.root: # strip any package prefix root_len = len(self.root) for counter in range(len(outputs)): ---- a/setuptools/command/egg_info.py -+++ b/setuptools/command/egg_info.py -@@ -638,7 +638,7 @@ def warn_depends_obsolete(cmd, basename, - def _write_requirements(stream, reqs): - lines = yield_lines(reqs or ()) - append_cr = lambda line: line + '\n' +Index: setuptools-57.0.0/setuptools/command/egg_info.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/command/egg_info.py ++++ setuptools-57.0.0/setuptools/command/egg_info.py +@@ -654,7 +654,7 @@ def _write_requirements(stream, reqs): + + def append_cr(line): + return line + '\n' - lines = map(append_cr, lines) + lines = map(append_cr, sorted(lines)) stream.writelines(lines) ---- a/setuptools/dist.py -+++ b/setuptools/dist.py -@@ -195,7 +195,7 @@ def write_pkg_file(self, file): +Index: setuptools-57.0.0/setuptools/dist.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/dist.py ++++ setuptools-57.0.0/setuptools/dist.py +@@ -214,7 +214,7 @@ def write_pkg_file(self, file): # noqa: self.long_description_content_type ) if self.provides_extras: @@ -30,10 +36,12 @@ + for extra in sorted(self.provides_extras): write_field('Provides-Extra', extra) - ---- a/setuptools/tests/test_egg_info.py -+++ b/setuptools/tests/test_egg_info.py -@@ -291,8 +291,8 @@ class TestEggInfo: + self._write_list(file, 'License-File', self.license_files or []) +Index: setuptools-57.0.0/setuptools/tests/test_egg_info.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/tests/test_egg_info.py ++++ setuptools-57.0.0/setuptools/tests/test_egg_info.py +@@ -297,8 +297,8 @@ class TestEggInfo: wheel>=0.5 pytest