Hello community,
here is the log from the commit of package python3-setuptools for
openSUSE:Factory checked in at 2016-11-03 12:58:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-10-22 13:11:46.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.python3-setuptools.new/python3-setuptools.changes
2016-11-03 12:58:16.000000000 +0100
@@ -1,0 +2,15 @@
+Sun Oct 30 18:24:46 UTC 2016 - [email protected]
+
+- update to version 28.7.1:
+ * #827: Update PyPI root for dependency links.
+ * #833: Backed out changes from #830 as the implementation seems to
+ have problems in some cases.
+
+- changes from version 28.7.0:
+ * #832: Moved much of the namespace package handling functionality
+ into a separate module for re-use in something like #789.
+ * #830: sdist command no longer suppresses the inclusion of data
+ files, re-aligning with the expectation of distutils and
+ addressing #274 and #521.
+
+-------------------------------------------------------------------
Old:
----
setuptools-28.6.1.tar.gz
New:
----
setuptools-28.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-setuptools.spec ++++++
--- /var/tmp/diff_new_pack.qE68YD/_old 2016-11-03 12:58:17.000000000 +0100
+++ /var/tmp/diff_new_pack.qE68YD/_new 2016-11-03 12:58:17.000000000 +0100
@@ -17,7 +17,7 @@
Name: python3-setuptools
-Version: 28.6.1
+Version: 28.7.1
Release: 0
Url: http://pypi.python.org/pypi/setuptools
Summary: Easily download, build, install, upgrade, and uninstall Python
packages
++++++ setuptools-28.6.1.tar.gz -> setuptools-28.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-28.6.1/CHANGES.rst
new/setuptools-28.7.1/CHANGES.rst
--- old/setuptools-28.6.1/CHANGES.rst 2016-10-19 17:39:12.000000000 +0200
+++ new/setuptools-28.7.1/CHANGES.rst 2016-10-30 03:39:27.000000000 +0100
@@ -2,6 +2,24 @@
CHANGES
=======
+v28.7.1
+-------
+
+* #827: Update PyPI root for dependency links.
+
+* #833: Backed out changes from #830 as the implementation
+ seems to have problems in some cases.
+
+v28.7.0
+-------
+
+* #832: Moved much of the namespace package handling
+ functionality into a separate module for re-use in something
+ like #789.
+* #830: ``sdist`` command no longer suppresses the inclusion
+ of data files, re-aligning with the expectation of distutils
+ and addressing #274 and #521.
+
v28.6.1
-------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-28.6.1/PKG-INFO
new/setuptools-28.7.1/PKG-INFO
--- old/setuptools-28.6.1/PKG-INFO 2016-10-19 17:40:47.000000000 +0200
+++ new/setuptools-28.7.1/PKG-INFO 2016-10-30 03:40:44.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: setuptools
-Version: 28.6.1
+Version: 28.7.1
Summary: Easily download, build, install, upgrade, and uninstall Python
packages
Home-page: https://github.com/pypa/setuptools
Author: Python Packaging Authority
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-28.6.1/setup.cfg
new/setuptools-28.7.1/setup.cfg
--- old/setuptools-28.6.1/setup.cfg 2016-10-19 17:40:47.000000000 +0200
+++ new/setuptools-28.7.1/setup.cfg 2016-10-30 03:40:44.000000000 +0100
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 28.6.1
+current_version = 28.7.1
commit = True
tag = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-28.6.1/setup.py
new/setuptools-28.7.1/setup.py
--- old/setuptools-28.6.1/setup.py 2016-10-19 17:39:12.000000000 +0200
+++ new/setuptools-28.7.1/setup.py 2016-10-30 03:39:27.000000000 +0100
@@ -77,7 +77,7 @@
Given the filename, including md5 fragment, construct the
dependency link for PyPI.
"""
- root = 'https://pypi.python.org/packages/source'
+ root = 'https://files.pythonhosted.org/packages/source'
name, sep, rest = pkg_filename.partition('-')
parts = root, name[0], name, pkg_filename
return '/'.join(parts)
@@ -85,7 +85,7 @@
setup_params = dict(
name="setuptools",
- version="28.6.1",
+ version="28.7.1",
description="Easily download, build, install, upgrade, and uninstall "
"Python packages",
author="Python Packaging Authority",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-28.6.1/setuptools/command/build_ext.py
new/setuptools-28.7.1/setuptools/command/build_ext.py
--- old/setuptools-28.6.1/setuptools/command/build_ext.py 2016-10-19
17:39:12.000000000 +0200
+++ new/setuptools-28.7.1/setuptools/command/build_ext.py 2016-10-30
03:39:27.000000000 +0100
@@ -62,7 +62,7 @@
def get_abi3_suffix():
"""Return the file extension for an abi3-compliant Extension()"""
for suffix, _, _ in (s for s in imp.get_suffixes() if s[2] ==
imp.C_EXTENSION):
- if '.abi3' in suffix: # Unix
+ if '.abi3' in suffix: # Unix
return suffix
elif suffix == '.pyd': # Windows
return suffix
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools-28.6.1/setuptools/command/install_egg_info.py
new/setuptools-28.7.1/setuptools/command/install_egg_info.py
--- old/setuptools-28.6.1/setuptools/command/install_egg_info.py
2016-10-19 17:39:12.000000000 +0200
+++ new/setuptools-28.7.1/setuptools/command/install_egg_info.py
2016-10-30 03:39:27.000000000 +0100
@@ -1,14 +1,13 @@
from distutils import log, dir_util
import os
-from setuptools.extern.six.moves import map
-
from setuptools import Command
+from setuptools import namespaces
from setuptools.archive_util import unpack_archive
import pkg_resources
-class install_egg_info(Command):
+class install_egg_info(namespaces.Installer, Command):
"""Install an .egg-info directory for the package"""
description = "Install an .egg-info directory for the package"
@@ -61,59 +60,3 @@
return dst
unpack_archive(self.source, self.target, skimmer)
-
- def install_namespaces(self):
- nsp = self._get_all_ns_packages()
- if not nsp:
- return
- filename, ext = os.path.splitext(self.target)
- filename += '-nspkg.pth'
- self.outputs.append(filename)
- log.info("Installing %s", filename)
- lines = map(self._gen_nspkg_line, nsp)
-
- if self.dry_run:
- # always generate the lines, even in dry run
- list(lines)
- return
-
- with open(filename, 'wt') as f:
- f.writelines(lines)
-
- _nspkg_tmpl = (
- "import sys, types, os",
- "pep420 = sys.version_info > (3, 3)",
- "p = os.path.join(sys._getframe(1).f_locals['sitedir'], *%(pth)r)",
- "ie = os.path.exists(os.path.join(p,'__init__.py'))",
- "m = not ie and not pep420 and "
- "sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))",
- "mp = (m or []) and m.__dict__.setdefault('__path__',[])",
- "(p not in mp) and mp.append(p)",
- )
- "lines for the namespace installer"
-
- _nspkg_tmpl_multi = (
- 'm and setattr(sys.modules[%(parent)r], %(child)r, m)',
- )
- "additional line(s) when a parent package is indicated"
-
- @classmethod
- def _gen_nspkg_line(cls, pkg):
- # ensure pkg is not a unicode string under Python 2.7
- pkg = str(pkg)
- pth = tuple(pkg.split('.'))
- tmpl_lines = cls._nspkg_tmpl
- parent, sep, child = pkg.rpartition('.')
- if parent:
- tmpl_lines += cls._nspkg_tmpl_multi
- return ';'.join(tmpl_lines) % locals() + '\n'
-
- def _get_all_ns_packages(self):
- """Return sorted list of all package namespaces"""
- nsp = set()
- for pkg in self.distribution.namespace_packages or []:
- pkg = pkg.split('.')
- while pkg:
- nsp.add('.'.join(pkg))
- pkg.pop()
- return sorted(nsp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-28.6.1/setuptools/dist.py
new/setuptools-28.7.1/setuptools/dist.py
--- old/setuptools-28.6.1/setuptools/dist.py 2016-10-19 17:39:12.000000000
+0200
+++ new/setuptools-28.7.1/setuptools/dist.py 2016-10-30 03:39:27.000000000
+0100
@@ -105,20 +105,20 @@
def check_nsp(dist, attr, value):
"""Verify that namespace packages are valid"""
- assert_string_list(dist, attr, value)
- for nsp in value:
+ ns_packages = value
+ assert_string_list(dist, attr, ns_packages)
+ for nsp in ns_packages:
if not dist.has_contents_for(nsp):
raise DistutilsSetupError(
"Distribution contains no modules or packages for " +
"namespace package %r" % nsp
)
- if '.' in nsp:
- parent = '.'.join(nsp.split('.')[:-1])
- if parent not in value:
- distutils.log.warn(
- "WARNING: %r is declared as a package namespace, but %r"
- " is not: please correct this in setup.py", nsp, parent
- )
+ parent, sep, child = nsp.rpartition('.')
+ if parent and parent not in ns_packages:
+ distutils.log.warn(
+ "WARNING: %r is declared as a package namespace, but %r"
+ " is not: please correct this in setup.py", nsp, parent
+ )
def check_extras(dist, attr, value):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-28.6.1/setuptools/namespaces.py
new/setuptools-28.7.1/setuptools/namespaces.py
--- old/setuptools-28.6.1/setuptools/namespaces.py 1970-01-01
01:00:00.000000000 +0100
+++ new/setuptools-28.7.1/setuptools/namespaces.py 2016-10-30
03:39:27.000000000 +0100
@@ -0,0 +1,93 @@
+import os
+from distutils import log
+import itertools
+
+from setuptools.extern.six.moves import map
+
+
+flatten = itertools.chain.from_iterable
+
+
+class Installer:
+
+ nspkg_ext = '-nspkg.pth'
+
+ def install_namespaces(self):
+ nsp = self._get_all_ns_packages()
+ if not nsp:
+ return
+ filename, ext = os.path.splitext(self._get_target())
+ filename += self.nspkg_ext
+ self.outputs.append(filename)
+ log.info("Installing %s", filename)
+ lines = map(self._gen_nspkg_line, nsp)
+
+ if self.dry_run:
+ # always generate the lines, even in dry run
+ list(lines)
+ return
+
+ with open(filename, 'wt') as f:
+ f.writelines(lines)
+
+ def _get_target(self):
+ return self.target
+
+ _nspkg_tmpl = (
+ "import sys, types, os",
+ "pep420 = sys.version_info > (3, 3)",
+ "p = os.path.join(%(root)s, *%(pth)r)",
+ "ie = os.path.exists(os.path.join(p,'__init__.py'))",
+ "m = not ie and not pep420 and "
+ "sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))",
+ "mp = (m or []) and m.__dict__.setdefault('__path__',[])",
+ "(p not in mp) and mp.append(p)",
+ )
+ "lines for the namespace installer"
+
+ _nspkg_tmpl_multi = (
+ 'm and setattr(sys.modules[%(parent)r], %(child)r, m)',
+ )
+ "additional line(s) when a parent package is indicated"
+
+ def _get_root(self):
+ return "sys._getframe(1).f_locals['sitedir']"
+
+ def _gen_nspkg_line(self, pkg):
+ # ensure pkg is not a unicode string under Python 2.7
+ pkg = str(pkg)
+ pth = tuple(pkg.split('.'))
+ root = self._get_root()
+ tmpl_lines = self._nspkg_tmpl
+ parent, sep, child = pkg.rpartition('.')
+ if parent:
+ tmpl_lines += self._nspkg_tmpl_multi
+ return ';'.join(tmpl_lines) % locals() + '\n'
+
+ def _get_all_ns_packages(self):
+ """Return sorted list of all package namespaces"""
+ pkgs = self.distribution.namespace_packages or []
+ return sorted(flatten(map(self._pkg_names, pkgs)))
+
+ @staticmethod
+ def _pkg_names(pkg):
+ """
+ Given a namespace package, yield the components of that
+ package.
+
+ >>> names = Installer._pkg_names('a.b.c')
+ >>> set(names) == set(['a', 'a.b', 'a.b.c'])
+ True
+ """
+ parts = pkg.split('.')
+ while parts:
+ yield '.'.join(parts)
+ parts.pop()
+
+
+class DevelopInstaller(Installer):
+ def _get_root(self):
+ return repr(str(self.egg_path))
+
+ def _get_target(self):
+ return self.egg_link
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-28.6.1/setuptools/package_index.py
new/setuptools-28.7.1/setuptools/package_index.py
--- old/setuptools-28.6.1/setuptools/package_index.py 2016-10-19
17:39:12.000000000 +0200
+++ new/setuptools-28.7.1/setuptools/package_index.py 2016-10-30
03:39:27.000000000 +0100
@@ -515,10 +515,10 @@
"""Add `urls` to the list that will be prescanned for searches"""
for url in urls:
if (
- self.to_scan is None # if we have already "gone online"
- or not URL_SCHEME(url) # or it's a local file/directory
+ self.to_scan is None # if we have already "gone online"
+ or not URL_SCHEME(url) # or it's a local file/directory
or url.startswith('file:')
- or list(distros_for_url(url)) # or a direct package link
+ or list(distros_for_url(url)) # or a direct package link
):
# then go ahead and process it now
self.scan_url(url)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-28.6.1/setuptools/site-patch.py
new/setuptools-28.7.1/setuptools/site-patch.py
--- old/setuptools-28.6.1/setuptools/site-patch.py 2016-10-19
17:39:12.000000000 +0200
+++ new/setuptools-28.7.1/setuptools/site-patch.py 2016-10-30
03:39:27.000000000 +0100
@@ -13,7 +13,7 @@
for item in stdpath:
if item == mydir or not item:
- continue # skip if current dir. on Windows, or my own directory
+ continue # skip if current dir. on Windows, or my own directory
importer = pic.get(item)
if importer is not None:
loader = importer.find_module('site')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-28.6.1/setuptools.egg-info/PKG-INFO
new/setuptools-28.7.1/setuptools.egg-info/PKG-INFO
--- old/setuptools-28.6.1/setuptools.egg-info/PKG-INFO 2016-10-19
17:40:47.000000000 +0200
+++ new/setuptools-28.7.1/setuptools.egg-info/PKG-INFO 2016-10-30
03:40:44.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: setuptools
-Version: 28.6.1
+Version: 28.7.1
Summary: Easily download, build, install, upgrade, and uninstall Python
packages
Home-page: https://github.com/pypa/setuptools
Author: Python Packaging Authority
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/setuptools-28.6.1/setuptools.egg-info/SOURCES.txt
new/setuptools-28.7.1/setuptools.egg-info/SOURCES.txt
--- old/setuptools-28.6.1/setuptools.egg-info/SOURCES.txt 2016-10-19
17:40:47.000000000 +0200
+++ new/setuptools-28.7.1/setuptools.egg-info/SOURCES.txt 2016-10-30
03:40:44.000000000 +0100
@@ -66,6 +66,7 @@
setuptools/lib2to3_ex.py
setuptools/monkey.py
setuptools/msvc.py
+setuptools/namespaces.py
setuptools/package_index.py
setuptools/py26compat.py
setuptools/py27compat.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/setuptools-28.6.1/setuptools.egg-info/dependency_links.txt
new/setuptools-28.7.1/setuptools.egg-info/dependency_links.txt
--- old/setuptools-28.6.1/setuptools.egg-info/dependency_links.txt
2016-10-19 17:40:47.000000000 +0200
+++ new/setuptools-28.7.1/setuptools.egg-info/dependency_links.txt
2016-10-30 03:40:44.000000000 +0100
@@ -1,2 +1,2 @@
-https://pypi.python.org/packages/source/c/certifi/certifi-2016.9.26.tar.gz#md5=baa81e951a29958563689d868ef1064d
-https://pypi.python.org/packages/source/w/wincertstore/wincertstore-0.2.zip#md5=ae728f2f007185648d0c7a8679b361e2
+https://files.pythonhosted.org/packages/source/c/certifi/certifi-2016.9.26.tar.gz#md5=baa81e951a29958563689d868ef1064d
+https://files.pythonhosted.org/packages/source/w/wincertstore/wincertstore-0.2.zip#md5=ae728f2f007185648d0c7a8679b361e2