Hello community, here is the log from the commit of package python3-setuptools for openSUSE:Factory checked in at 2016-12-08 00:27:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-setuptools (Old) and /work/SRC/openSUSE:Factory/.python3-setuptools.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python3-setuptools" Changes: -------- --- /work/SRC/openSUSE:Factory/python3-setuptools/python3-setuptools.changes 2016-12-02 16:40:35.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.python3-setuptools.new/python3-setuptools.changes 2016-12-08 00:27:44.000000000 +0100 @@ -1,0 +2,23 @@ +Sun Dec 4 18:02:41 UTC 2016 - arun@gmx.de + +- update to version 30.2.0: + * #854: Bump to vendored Packaging 16.8. + +------------------------------------------------------------------- +Sat Dec 3 19:43:50 UTC 2016 - arun@gmx.de + +- update to version 30.1.0: + * #846: Also trap 'socket.error' when opening URLs in package_index. + * #849: Manifest processing now matches the filename pattern + anywhere in the filename and not just at the start. Restores + behavior found prior to 28.5.0. + +- changes from version 30.0.0: + * #864: Drop support for Python 3.2. Systems requiring Python 3.2 + support must use 'setuptools < 30'. + * #825: Suppress warnings for single files. + * #830 via #843: Once again restored inclusion of data files to + sdists, but now trap TypeError caused by techniques employed + rjsmin and similar. + +------------------------------------------------------------------- Old: ---- setuptools-29.0.1.tar.gz New: ---- setuptools-30.2.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-setuptools.spec ++++++ --- /var/tmp/diff_new_pack.lCkNPB/_old 2016-12-08 00:27:46.000000000 +0100 +++ /var/tmp/diff_new_pack.lCkNPB/_new 2016-12-08 00:27:46.000000000 +0100 @@ -17,7 +17,7 @@ Name: python3-setuptools -Version: 29.0.1 +Version: 30.2.0 Release: 0 Url: http://pypi.python.org/pypi/setuptools Summary: Easily download, build, install, upgrade, and uninstall Python packages ++++++ setuptools-29.0.1.tar.gz -> setuptools-30.2.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/CHANGES.rst new/setuptools-30.2.0/CHANGES.rst --- old/setuptools-29.0.1/CHANGES.rst 2016-11-27 04:27:44.000000000 +0100 +++ new/setuptools-30.2.0/CHANGES.rst 2016-12-04 16:54:26.000000000 +0100 @@ -1,6 +1,29 @@ -======= -CHANGES -======= +v30.2.0 +------- + +* #854: Bump to vendored Packaging 16.8. + +v30.1.0 +------- + +* #846: Also trap 'socket.error' when opening URLs in + package_index. + +* #849: Manifest processing now matches the filename + pattern anywhere in the filename and not just at the + start. Restores behavior found prior to 28.5.0. + +v30.0.0 +------- + +* #864: Drop support for Python 3.2. Systems requiring + Python 3.2 support must use 'setuptools < 30'. + +* #825: Suppress warnings for single files. + +* #830 via #843: Once again restored inclusion of data + files to sdists, but now trap TypeError caused by + techniques employed rjsmin and similar. v29.0.1 ------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/PKG-INFO new/setuptools-30.2.0/PKG-INFO --- old/setuptools-29.0.1/PKG-INFO 2016-11-27 04:34:46.000000000 +0100 +++ new/setuptools-30.2.0/PKG-INFO 2016-12-04 16:55:53.000000000 +0100 @@ -1,6 +1,6 @@ -Metadata-Version: 1.1 +Metadata-Version: 1.2 Name: setuptools -Version: 29.0.1 +Version: 30.2.0 Summary: Easily download, build, install, upgrade, and uninstall Python packages Home-page: https://github.com/pypa/setuptools Author: Python Packaging Authority @@ -264,3 +264,4 @@ Classifier: Topic :: System :: Archiving :: Packaging Classifier: Topic :: System :: Systems Administration Classifier: Topic :: Utilities +Requires-Python: >=2.6,!=3.0.*,!=3.1.*,!=3.2.* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/conftest.py new/setuptools-30.2.0/conftest.py --- old/setuptools-29.0.1/conftest.py 2016-11-13 17:18:19.000000000 +0100 +++ new/setuptools-30.2.0/conftest.py 2016-12-04 16:54:26.000000000 +0100 @@ -1,8 +1,25 @@ -import pytest +import os + pytest_plugins = 'setuptools.tests.fixtures' + def pytest_addoption(parser): - parser.addoption("--package_name", action="append", default=[], - help="list of package_name to pass to test functions") + parser.addoption( + "--package_name", action="append", default=[], + help="list of package_name to pass to test functions", + ) + + +def pytest_configure(): + _issue_852_workaround() + +def _issue_852_workaround(): + """ + Patch 'setuptools.__file__' with an absolute path + for forward compatibility with Python 3. + Workaround for https://github.com/pypa/setuptools/issues/852 + """ + setuptools = __import__('setuptools') + setuptools.__file__ = os.path.abspath(setuptools.__file__) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/docs/pkg_resources.txt new/setuptools-30.2.0/docs/pkg_resources.txt --- old/setuptools-29.0.1/docs/pkg_resources.txt 2016-11-13 15:42:46.000000000 +0100 +++ new/setuptools-30.2.0/docs/pkg_resources.txt 2016-12-04 16:54:26.000000000 +0100 @@ -831,10 +831,9 @@ ``module_name``, ``attrs``, ``extras``, and ``dist`` are all available. In addition, the following methods are provided: -``load(require=True, env=None, installer=None)`` - Load the entry point, returning the advertised Python object, or raise - ``ImportError`` if it cannot be obtained. If `require` is a true value, - then ``require(env, installer)`` is called before attempting the import. +``load()`` + Load the entry point, returning the advertised Python object. Effectively + calls ``self.require()`` then returns ``self.resolve()``. ``require(env=None, installer=None)`` Ensure that any "extras" needed by the entry point are available on @@ -846,6 +845,10 @@ taking a ``Requirement`` instance and returning a matching importable ``Distribution`` instance or None. +``resolve()`` + Resolve the entry point from its module and attrs, returning the advertised + Python object. Raises ``ImportError`` if it cannot be obtained. + ``__str__()`` The string form of an ``EntryPoint`` is a string that could be passed to ``EntryPoint.parse()`` to produce an equivalent ``EntryPoint``. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/pkg_resources/__init__.py new/setuptools-30.2.0/pkg_resources/__init__.py --- old/setuptools-29.0.1/pkg_resources/__init__.py 2016-11-13 17:18:19.000000000 +0100 +++ new/setuptools-30.2.0/pkg_resources/__init__.py 2016-12-04 16:54:26.000000000 +0100 @@ -75,11 +75,7 @@ __import__('pkg_resources.extern.packaging.markers') if (3, 0) < sys.version_info < (3, 3): - msg = ( - "Support for Python 3.0-3.2 has been dropped. Future versions " - "will fail here." - ) - warnings.warn(msg) + raise RuntimeError("Python 3.3 or later is required") # declare some globals that will be defined later to # satisfy the linters. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/pkg_resources/_vendor/packaging/__about__.py new/setuptools-30.2.0/pkg_resources/_vendor/packaging/__about__.py --- old/setuptools-29.0.1/pkg_resources/_vendor/packaging/__about__.py 2016-11-13 15:42:46.000000000 +0100 +++ new/setuptools-30.2.0/pkg_resources/_vendor/packaging/__about__.py 2016-12-04 16:54:26.000000000 +0100 @@ -12,7 +12,7 @@ __summary__ = "Core utilities for Python packages" __uri__ = "https://github.com/pypa/packaging" -__version__ = "16.7" +__version__ = "16.8" __author__ = "Donald Stufft and individual contributors" __email__ = "donald@stufft.io" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/pkg_resources/_vendor/packaging/markers.py new/setuptools-30.2.0/pkg_resources/_vendor/packaging/markers.py --- old/setuptools-29.0.1/pkg_resources/_vendor/packaging/markers.py 2016-11-13 15:42:46.000000000 +0100 +++ new/setuptools-30.2.0/pkg_resources/_vendor/packaging/markers.py 2016-12-04 16:54:26.000000000 +0100 @@ -52,13 +52,26 @@ def __repr__(self): return "<{0}({1!r})>".format(self.__class__.__name__, str(self)) + def serialize(self): + raise NotImplementedError + class Variable(Node): - pass + + def serialize(self): + return str(self) class Value(Node): - pass + + def serialize(self): + return '"{0}"'.format(self) + + +class Op(Node): + + def serialize(self): + return str(self) VARIABLE = ( @@ -103,6 +116,7 @@ ) MARKER_OP = VERSION_CMP | L("not in") | L("in") +MARKER_OP.setParseAction(lambda s, l, t: Op(t[0])) MARKER_VALUE = QuotedString("'") | QuotedString('"') MARKER_VALUE.setParseAction(lambda s, l, t: Value(t[0])) @@ -149,7 +163,7 @@ else: return "(" + " ".join(inner) + ")" elif isinstance(marker, tuple): - return '{0} {1} "{2}"'.format(*marker) + return " ".join([m.serialize() for m in marker]) else: return marker @@ -168,13 +182,13 @@ def _eval_op(lhs, op, rhs): try: - spec = Specifier("".join([op, rhs])) + spec = Specifier("".join([op.serialize(), rhs])) except InvalidSpecifier: pass else: return spec.contains(lhs) - oper = _operators.get(op) + oper = _operators.get(op.serialize()) if oper is None: raise UndefinedComparison( "Undefined {0!r} on {1!r} and {2!r}.".format(op, lhs, rhs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/pkg_resources/_vendor/vendored.txt new/setuptools-30.2.0/pkg_resources/_vendor/vendored.txt --- old/setuptools-29.0.1/pkg_resources/_vendor/vendored.txt 2016-11-13 17:18:19.000000000 +0100 +++ new/setuptools-30.2.0/pkg_resources/_vendor/vendored.txt 2016-12-04 16:54:26.000000000 +0100 @@ -1,4 +1,4 @@ -packaging==16.7 +packaging==16.8 pyparsing==2.1.10 six==1.10.0 appdirs==1.4.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/setup.cfg new/setuptools-30.2.0/setup.cfg --- old/setuptools-29.0.1/setup.cfg 2016-11-27 04:34:46.000000000 +0100 +++ new/setuptools-30.2.0/setup.cfg 2016-12-04 16:55:53.000000000 +0100 @@ -1,5 +1,5 @@ [bumpversion] -current_version = 29.0.1 +current_version = 30.2.0 commit = True tag = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/setup.py new/setuptools-30.2.0/setup.py --- old/setuptools-29.0.1/setup.py 2016-11-27 04:28:45.000000000 +0100 +++ new/setuptools-30.2.0/setup.py 2016-12-04 16:54:26.000000000 +0100 @@ -85,7 +85,7 @@ setup_params = dict( name="setuptools", - version="29.0.1", + version="30.2.0", description="Easily download, build, install, upgrade, and uninstall " "Python packages", author="Python Packaging Authority", @@ -156,6 +156,7 @@ Topic :: System :: Systems Administration Topic :: Utilities """).strip().splitlines(), + python_requires='>=2.6,!=3.0.*,!=3.1.*,!=3.2.*', extras_require={ "ssl:sys_platform=='win32'": "wincertstore==0.2", "certs": "certifi==2016.9.26", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/setuptools/command/egg_info.py new/setuptools-30.2.0/setuptools/command/egg_info.py --- old/setuptools-29.0.1/setuptools/command/egg_info.py 2016-11-13 17:18:19.000000000 +0100 +++ new/setuptools-30.2.0/setuptools/command/egg_info.py 2016-12-04 16:54:26.000000000 +0100 @@ -457,7 +457,7 @@ """ if self.allfiles is None: self.findall() - match = translate_pattern(os.path.join('**', pattern)) + match = translate_pattern(os.path.join('**', '*' + pattern)) found = [f for f in self.allfiles if match.match(f)] self.extend(found) return bool(found) @@ -466,7 +466,7 @@ """ Exclude all files anywhere that match the pattern. """ - match = translate_pattern(os.path.join('**', pattern)) + match = translate_pattern(os.path.join('**', '*' + pattern)) return self._remove_files(match.match) def append(self, item): @@ -554,10 +554,17 @@ msg = "writing manifest file '%s'" % self.manifest self.execute(write_file, (self.manifest, files), msg) - def warn(self, msg): # suppress missing-file warnings from sdist - if not msg.startswith("standard file not found:"): + def warn(self, msg): + if not self._should_suppress_warning(msg): sdist.warn(self, msg) + @staticmethod + def _should_suppress_warning(msg): + """ + suppress missing-file warnings from sdist + """ + return re.match(r"standard file .*not found", msg) + def add_defaults(self): sdist.add_defaults(self) self.filelist.append(self.template) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/setuptools/command/sdist.py new/setuptools-30.2.0/setuptools/command/sdist.py --- old/setuptools-29.0.1/setuptools/command/sdist.py 2016-11-13 17:18:19.000000000 +0100 +++ new/setuptools-30.2.0/setuptools/command/sdist.py 2016-12-04 16:54:26.000000000 +0100 @@ -142,9 +142,13 @@ for filename in filenames]) def _add_defaults_data_files(self): - """ - Don't add any data files, but why? - """ + try: + if six.PY2: + sdist_add_defaults._add_defaults_data_files(self) + else: + super()._add_defaults_data_files() + except TypeError: + log.warn("data_files contains unexpected objects") def check_readme(self): for f in self.READMES: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/setuptools/package_index.py new/setuptools-30.2.0/setuptools/package_index.py --- old/setuptools-29.0.1/setuptools/package_index.py 2016-11-13 17:18:19.000000000 +0100 +++ new/setuptools-30.2.0/setuptools/package_index.py 2016-12-04 16:54:26.000000000 +0100 @@ -768,7 +768,7 @@ 'down, %s' % (url, v.line) ) - except http_client.HTTPException as v: + except (http_client.HTTPException, socket.error) as v: if warning: self.warn(warning, v) else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/setuptools/tests/test_egg_info.py new/setuptools-30.2.0/setuptools/tests/test_egg_info.py --- old/setuptools-29.0.1/setuptools/tests/test_egg_info.py 2016-11-13 17:18:19.000000000 +0100 +++ new/setuptools-30.2.0/setuptools/tests/test_egg_info.py 2016-12-04 16:54:26.000000000 +0100 @@ -4,7 +4,7 @@ import stat import sys -from setuptools.command.egg_info import egg_info +from setuptools.command.egg_info import egg_info, manifest_maker from setuptools.dist import Distribution from setuptools.extern.six.moves import map @@ -237,6 +237,15 @@ pkginfo = os.path.join(egg_info_dir, 'PKG-INFO') assert 'Requires-Python: >=1.2.3' in open(pkginfo).read().split('\n') + def test_manifest_maker_warning_suppresion(self): + fixtures = [ + "standard file not found: should have one of foo.py, bar.py", + "standard file 'setup.py' not found" + ] + + for msg in fixtures: + assert manifest_maker._should_suppress_warning(msg) + def _run_install_command(self, tmpdir_cwd, env, cmd=None, output=None): environ = os.environ.copy().update( HOME=env.paths['home'], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/setuptools/tests/test_manifest.py new/setuptools-30.2.0/setuptools/tests/test_manifest.py --- old/setuptools-29.0.1/setuptools/tests/test_manifest.py 2016-11-13 17:18:19.000000000 +0100 +++ new/setuptools-30.2.0/setuptools/tests/test_manifest.py 2016-12-04 16:54:26.000000000 +0100 @@ -449,6 +449,11 @@ assert file_list.files == ['a.py', l('d/c.py')] self.assertWarnings() + file_list.process_template_line('global-include .txt') + file_list.sort() + assert file_list.files == ['a.py', 'b.txt', l('d/c.py')] + self.assertNoWarnings() + def test_global_exclude(self): l = make_local_path # global-exclude @@ -465,6 +470,13 @@ assert file_list.files == ['b.txt'] self.assertWarnings() + file_list = FileList() + file_list.files = ['a.py', 'b.txt', l('d/c.pyc'), 'e.pyo'] + file_list.process_template_line('global-exclude .py[co]') + file_list.sort() + assert file_list.files == ['a.py', 'b.txt'] + self.assertNoWarnings() + def test_recursive_include(self): l = make_local_path # recursive-include diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/setuptools/tests/test_namespaces.py new/setuptools-30.2.0/setuptools/tests/test_namespaces.py --- old/setuptools-29.0.1/setuptools/tests/test_namespaces.py 2016-11-27 04:27:00.000000000 +0100 +++ new/setuptools-30.2.0/setuptools/tests/test_namespaces.py 2016-12-04 16:54:26.000000000 +0100 @@ -13,7 +13,7 @@ @pytest.mark.xfail(sys.version_info < (3, 3), reason="Requires PEP 420") - @pytest.mark.skipif('os.environ.get("APPVEYOR")', + @pytest.mark.skipif(bool(os.environ.get("APPVEYOR")), reason="https://github.com/pypa/setuptools/issues/851") def test_mixed_site_and_non_site(self, tmpdir): """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/setuptools/tests/test_sdist.py new/setuptools-30.2.0/setuptools/tests/test_sdist.py --- old/setuptools-29.0.1/setuptools/tests/test_sdist.py 2016-11-13 17:18:19.000000000 +0100 +++ new/setuptools-30.2.0/setuptools/tests/test_sdist.py 2016-12-04 16:54:26.000000000 +0100 @@ -26,7 +26,8 @@ 'name': 'sdist_test', 'version': '0.0', 'packages': ['sdist_test'], - 'package_data': {'sdist_test': ['*.txt']} + 'package_data': {'sdist_test': ['*.txt']}, + 'data_files': [("data", [os.path.join("d", "e.dat")])], } SETUP_PY = """\ @@ -95,9 +96,12 @@ # Set up the rest of the test package test_pkg = os.path.join(self.temp_dir, 'sdist_test') os.mkdir(test_pkg) + data_folder = os.path.join(self.temp_dir, "d") + os.mkdir(data_folder) # *.rst was not included in package_data, so c.rst should not be # automatically added to the manifest when not under version control - for fname in ['__init__.py', 'a.txt', 'b.txt', 'c.rst']: + for fname in ['__init__.py', 'a.txt', 'b.txt', 'c.rst', + os.path.join(data_folder, "e.dat")]: # Just touch the files; their contents are irrelevant open(os.path.join(test_pkg, fname), 'w').close() @@ -126,6 +130,7 @@ assert os.path.join('sdist_test', 'a.txt') in manifest assert os.path.join('sdist_test', 'b.txt') in manifest assert os.path.join('sdist_test', 'c.rst') not in manifest + assert os.path.join('d', 'e.dat') in manifest def test_defaults_case_sensitivity(self): """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/setuptools.egg-info/PKG-INFO new/setuptools-30.2.0/setuptools.egg-info/PKG-INFO --- old/setuptools-29.0.1/setuptools.egg-info/PKG-INFO 2016-11-27 04:34:46.000000000 +0100 +++ new/setuptools-30.2.0/setuptools.egg-info/PKG-INFO 2016-12-04 16:55:53.000000000 +0100 @@ -1,6 +1,6 @@ -Metadata-Version: 1.1 +Metadata-Version: 1.2 Name: setuptools -Version: 29.0.1 +Version: 30.2.0 Summary: Easily download, build, install, upgrade, and uninstall Python packages Home-page: https://github.com/pypa/setuptools Author: Python Packaging Authority @@ -264,3 +264,4 @@ Classifier: Topic :: System :: Archiving :: Packaging Classifier: Topic :: System :: Systems Administration Classifier: Topic :: Utilities +Requires-Python: >=2.6,!=3.0.*,!=3.1.*,!=3.2.* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-29.0.1/setuptools.egg-info/entry_points.txt new/setuptools-30.2.0/setuptools.egg-info/entry_points.txt --- old/setuptools-29.0.1/setuptools.egg-info/entry_points.txt 2016-11-27 04:34:46.000000000 +0100 +++ new/setuptools-30.2.0/setuptools.egg-info/entry_points.txt 2016-12-04 16:55:53.000000000 +0100 @@ -1,6 +1,6 @@ [console_scripts] easy_install = setuptools.command.easy_install:main -easy_install-3.6 = setuptools.command.easy_install:main +easy_install-3.5 = setuptools.command.easy_install:main [distutils.commands] alias = setuptools.command.alias:alias