Hello community,

here is the log from the commit of package python3-wheel for openSUSE:Factory 
checked in at 2015-09-27 08:40:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-wheel (Old)
 and      /work/SRC/openSUSE:Factory/.python3-wheel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-wheel"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-wheel/python3-wheel.changes      
2014-12-05 21:05:08.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-wheel.new/python3-wheel.changes 
2015-09-27 08:39:58.000000000 +0200
@@ -1,0 +2,18 @@
+Sun Sep 27 00:58:34 UTC 2015 - a...@gmx.de
+
+- specfile:
+  * update copyright year
+  * update url
+
+- update to version 0.26.0:
+  * Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+
+- changes from version 0.25.0:
+  * Add Python 3.5 to tox configuration
+  * Deterministic (sorted) metadata
+  * Fix tagging for Python 3.5 compatibility
+  * Support py2-none-'arch' and py3-none-'arch' tags
+  * Treat data-only wheels as pure
+  * Write to temporary file and rename when using wheel install --force
+
+-------------------------------------------------------------------

Old:
----
  wheel-0.24.0.tar.gz

New:
----
  wheel-0.26.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-wheel.spec ++++++
--- /var/tmp/diff_new_pack.KUZXZz/_old  2015-09-27 08:39:58.000000000 +0200
+++ /var/tmp/diff_new_pack.KUZXZz/_new  2015-09-27 08:39:58.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python3-wheel
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,12 +17,12 @@
 
 
 Name:           python3-wheel
-Version:        0.24.0
+Version:        0.26.0
 Release:        0
 Summary:        A built-package format for Python
 License:        MIT
 Group:          Development/Languages/Python
-Url:            http://bitbucket.org/dholth/wheel/
+Url:            https://bitbucket.org/pypa/wheel
 Source:         
https://pypi.python.org/packages/source/w/wheel/wheel-%{version}.tar.gz
 BuildRequires:  python3-devel
 BuildRequires:  python3-setuptools

++++++ wheel-0.24.0.tar.gz -> wheel-0.26.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/CHANGES.txt new/wheel-0.26.0/CHANGES.txt
--- old/wheel-0.24.0/CHANGES.txt        2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/CHANGES.txt        2015-09-18 20:02:17.000000000 +0200
@@ -1,3 +1,16 @@
+0.26.0
+======
+- Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+
+0.25.0
+======
+- Add Python 3.5 to tox configuration
+- Deterministic (sorted) metadata
+- Fix tagging for Python 3.5 compatibility
+- Support py2-none-'arch' and py3-none-'arch' tags
+- Treat data-only wheels as pure
+- Write to temporary file and rename when using wheel install --force
+
 0.24.0
 ======
 - The python tag used for pure-python packages is now .pyN (major version
@@ -14,7 +27,7 @@
 
 0.23.0
 ======
-- Compatibiltiy tag flags added to the bdist_wheel command
+- Compatibility tag flags added to the bdist_wheel command
 - sdist should include files necessary for tests
 - 'wheel convert' can now also convert unpacked eggs to wheel
 - Rename pydist.json to metadata.json to avoid stepping on the PEP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/PKG-INFO new/wheel-0.26.0/PKG-INFO
--- old/wheel-0.24.0/PKG-INFO   2014-07-06 18:56:22.000000000 +0200
+++ new/wheel-0.26.0/PKG-INFO   2015-09-18 20:03:13.000000000 +0200
@@ -1,8 +1,8 @@
 Metadata-Version: 1.1
 Name: wheel
-Version: 0.24.0
+Version: 0.26.0
 Summary: A built-package format for Python.
-Home-page: http://bitbucket.org/pypa/wheel/
+Home-page: https://bitbucket.org/pypa/wheel/
 Author: Daniel Holth
 Author-email: dho...@fastmail.fm
 License: MIT
@@ -49,6 +49,19 @@
         
         
         
+        0.26.0
+        ======
+        - Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+        
+        0.25.0
+        ======
+        - Add Python 3.5 to tox configuration
+        - Deterministic (sorted) metadata
+        - Fix tagging for Python 3.5 compatibility
+        - Support py2-none-'arch' and py3-none-'arch' tags
+        - Treat data-only wheels as pure
+        - Write to temporary file and rename when using wheel install --force
+        
         0.24.0
         ======
         - The python tag used for pure-python packages is now .pyN (major 
version
@@ -65,7 +78,7 @@
         
         0.23.0
         ======
-        - Compatibiltiy tag flags added to the bdist_wheel command
+        - Compatibility tag flags added to the bdist_wheel command
         - sdist should include files necessary for tests
         - 'wheel convert' can now also convert unpacked eggs to wheel
         - Rename pydist.json to metadata.json to avoid stepping on the PEP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/entry_points.txt 
new/wheel-0.26.0/entry_points.txt
--- old/wheel-0.24.0/entry_points.txt   1970-01-01 01:00:00.000000000 +0100
+++ new/wheel-0.26.0/entry_points.txt   2015-09-15 19:28:15.000000000 +0200
@@ -0,0 +1,5 @@
+[console_scripts]
+wheel = wheel.tool:main
+
+[distutils.commands]
+bdist_wheel = wheel.bdist_wheel:bdist_wheel
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/setup.py new/wheel-0.26.0/setup.py
--- old/wheel-0.24.0/setup.py   2014-07-06 18:48:58.000000000 +0200
+++ new/wheel-0.26.0/setup.py   2015-09-15 19:28:15.000000000 +0200
@@ -28,7 +28,7 @@
         ],
       author='Daniel Holth',
       author_email='dho...@fastmail.fm',
-      url='http://bitbucket.org/pypa/wheel/',
+      url='https://bitbucket.org/pypa/wheel/',
       keywords=['wheel', 'packaging'],
       license='MIT',
       packages=[
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/wheel/__init__.py 
new/wheel-0.26.0/wheel/__init__.py
--- old/wheel-0.24.0/wheel/__init__.py  2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/__init__.py  2015-09-18 20:03:01.000000000 +0200
@@ -1,2 +1,2 @@
 # __variables__ with double-quoted values will be available in setup.py:
-__version__ = "0.24.0"
+__version__ = "0.26.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/wheel/bdist_wheel.py 
new/wheel-0.26.0/wheel/bdist_wheel.py
--- old/wheel-0.24.0/wheel/bdist_wheel.py       2014-07-06 18:40:16.000000000 
+0200
+++ new/wheel-0.26.0/wheel/bdist_wheel.py       2015-09-15 20:10:36.000000000 
+0200
@@ -90,7 +90,7 @@
         self.dist_dir = None
         self.distinfo_dir = None
         self.egginfo_dir = None
-        self.root_is_purelib = None
+        self.root_is_pure = None
         self.skip_build = None
         self.relative = False
         self.owner = None
@@ -110,7 +110,8 @@
         self.set_undefined_options('bdist',
                                    *zip(need_options, need_options))
 
-        self.root_is_purelib = self.distribution.is_pure()
+        self.root_is_pure = not (self.distribution.has_ext_modules()
+                                 or self.distribution.has_c_libraries())
 
         # Support legacy [wheel] section for setting universal
         wheel = self.distribution.get_option_dict('wheel')
@@ -129,7 +130,7 @@
     def get_tag(self):
         supported_tags = pep425tags.get_supported()
 
-        if self.distribution.is_pure():
+        if self.root_is_pure:
             if self.universal:
                 impl = 'py2.py3'
             else:
@@ -148,7 +149,7 @@
             # sys.pypy_version_info.minor)
             abi_tag = sysconfig.get_config_vars().get('SOABI', 'none')
             if abi_tag.startswith('cpython-'):
-                abi_tag = 'cp' + abi_tag.rsplit('-', 1)[-1]
+                abi_tag = 'cp' + abi_tag.split('-')[1]
 
             tag = (impl_name + impl_ver, abi_tag, plat_name)
             # XXX switch to this alternate implementation for non-pure:
@@ -203,7 +204,7 @@
             self.install_libbase = self.install_lib = basedir_observed
 
         setattr(install,
-                'install_purelib' if self.root_is_purelib else 
'install_platlib',
+                'install_purelib' if self.root_is_pure else 'install_platlib',
                 basedir_observed)
 
         logger.info("installing to %s", self.bdist_dir)
@@ -255,7 +256,7 @@
         msg = Message()
         msg['Wheel-Version'] = '1.0'  # of the spec
         msg['Generator'] = generator
-        msg['Root-Is-Purelib'] = str(self.root_is_purelib).lower()
+        msg['Root-Is-Purelib'] = str(self.root_is_pure).lower()
 
         # Doesn't work for bdist_wininst
         impl_tag, abi_tag, plat_tag = self.get_tag()
@@ -421,7 +422,8 @@
 
         def walk():
             for dir, dirs, files in os.walk(bdist_dir):
-                for f in files:
+                dirs.sort()
+                for f in sorted(files):
                     yield os.path.join(dir, f)
 
         def skip(path):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/wheel/metadata.py 
new/wheel-0.26.0/wheel/metadata.py
--- old/wheel-0.24.0/wheel/metadata.py  2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/metadata.py  2015-09-18 19:56:57.000000000 +0200
@@ -2,8 +2,13 @@
 Tools for converting old- to new-style metadata.
 """
 
-from collections import defaultdict, namedtuple
+from collections import namedtuple
 from .pkginfo import read_pkg_info
+from .util import OrderedDefaultDict
+try:
+    from collections import OrderedDict
+except ImportError:
+    OrderedDict = dict
 
 import re
 import os.path
@@ -51,8 +56,8 @@
     """
     Place the runtime requirements from pkg_info into metadata.
     """
-    may_requires = defaultdict(list)
-    for value in pkg_info.get_all(key):
+    may_requires = OrderedDefaultDict(list)
+    for value in sorted(pkg_info.get_all(key)):
         extra_match = EXTRA_RE.search(value)
         if extra_match:
             groupdict = extra_match.groupdict()
@@ -70,7 +75,7 @@
     if may_requires:
         metadata['run_requires'] = []
         for key, value in may_requires.items():
-            may_requirement = {'requires':value}
+            may_requirement = OrderedDict((('requires', value),))
             if key.extra:
                 may_requirement['extra'] = key.extra
             if key.condition:
@@ -93,7 +98,7 @@
     distribution: optional distutils Distribution()
     """
 
-    metadata = defaultdict(lambda: defaultdict(lambda: defaultdict(dict)))
+    metadata = OrderedDefaultDict(lambda: OrderedDefaultDict(lambda: 
OrderedDefaultDict(OrderedDict)))
     metadata["generator"] = "bdist_wheel (" + wheel.__version__ + ")"
     try:
         unicode
@@ -121,7 +126,7 @@
     if description:
         pkg_info['description'] = description
 
-    for key in unique(k.lower() for k in pkg_info.keys()):
+    for key in sorted(unique(k.lower() for k in pkg_info.keys())):
         low_key = key.replace('-', '_')
 
         if low_key in SKIP_FIELDS:
@@ -130,7 +135,7 @@
         if low_key in UNKNOWN_FIELDS and pkg_info.get(key) == 'UNKNOWN':
             continue
 
-        if low_key in PLURAL_FIELDS:
+        if low_key in sorted(PLURAL_FIELDS):
             metadata[PLURAL_FIELDS[low_key]] = pkg_info.get_all(key)
 
         elif low_key == "requires_dist":
@@ -161,7 +166,7 @@
             try:
                 requirements = getattr(distribution, attr)
                 if isinstance(requirements, list):
-                    new_requirements = list(convert_requirements(requirements))
+                    new_requirements = 
sorted(convert_requirements(requirements))
                     metadata[requires] = [{'requires':new_requirements}]
             except AttributeError:
                 pass
@@ -169,8 +174,8 @@
     # handle contacts
     contacts = []
     for contact_type, role in CONTACT_FIELDS:
-        contact = {}
-        for key in contact_type:
+        contact = OrderedDict()
+        for key in sorted(contact_type):
             if contact_type[key] in metadata:
                 contact[key] = metadata.pop(contact_type[key])
         if contact:
@@ -183,11 +188,11 @@
     try:
         with open(os.path.join(os.path.dirname(path), "entry_points.txt"), 
"r") as ep_file:
             ep_map = pkg_resources.EntryPoint.parse_map(ep_file.read())
-        exports = {}
-        for group, items in ep_map.items():
-            exports[group] = {}
-            for item in items.values():
-                name, export = str(item).split(' = ', 1)
+        exports = OrderedDict()
+        for group, items in sorted(ep_map.items()):
+            exports[group] = OrderedDict()
+            for item in sorted(map(str, items.values())):
+                name, export = item.split(' = ', 1)
                 exports[group][name] = export
         if exports:
             metadata['extensions']['python.exports'] = exports
@@ -233,7 +238,8 @@
     requires_path = os.path.join(egg_info_path, 'requires.txt')
     if os.path.exists(requires_path):
         requires = open(requires_path).read()
-        for extra, reqs in pkg_resources.split_sections(requires):
+        for extra, reqs in sorted(pkg_resources.split_sections(requires),
+                                  key=lambda x: x[0] or ''):
             condition = ''
             if extra and ':' in extra: # setuptools extra:condition syntax
                 extra, condition = extra.split(':', 1)
@@ -244,7 +250,7 @@
                 condition += 'extra == %s' % repr(extra)
             if condition:
                 condition = '; ' + condition
-            for new_req in convert_requirements(reqs):
+            for new_req in sorted(convert_requirements(reqs)):
                 pkg_info['Requires-Dist'] = new_req + condition
 
     description = pkg_info['Description']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/wheel/pep425tags.py 
new/wheel-0.26.0/wheel/pep425tags.py
--- old/wheel-0.24.0/wheel/pep425tags.py        2014-07-06 18:40:16.000000000 
+0200
+++ new/wheel-0.26.0/wheel/pep425tags.py        2015-09-15 20:10:36.000000000 
+0200
@@ -60,7 +60,7 @@
 
     soabi = sysconfig.get_config_var('SOABI')
     if soabi and soabi.startswith('cpython-'):
-        abis[0:0] = ['cp' + soabi.split('-', 1)[-1]]
+        abis[0:0] = ['cp' + soabi.split('-')[1]]
  
     abi3s = set()
     import imp
@@ -85,7 +85,10 @@
             # Tagged specifically as being cross-version compatible 
             # (with just the major version specified)
             supported.append(('%s%s' % (impl, versions[0][0]), 'none', 'any')) 
-            
+    
+    # Major Python version + platform; e.g. binaries not using the Python API
+    supported.append(('py%s' % (versions[0][0]), 'none', arch))
+
     # No abi / arch, generic Python
     for i, version in enumerate(versions):
         supported.append(('py%s' % (version,), 'none', 'any'))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/wheel/test/complex-dist/setup.py 
new/wheel-0.26.0/wheel/test/complex-dist/setup.py
--- old/wheel-0.24.0/wheel/test/complex-dist/setup.py   2014-07-06 
18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/test/complex-dist/setup.py   2015-09-18 
19:56:57.000000000 +0200
@@ -20,6 +20,11 @@
       install_requires=["quux", "splort"],
       extras_require={'simple':['simple.dist']},
       tests_require=["foo", "bar>=10.0.0"],
-      entry_points={'console_scripts':['complex-dist=complexdist:main']}
+      entry_points={
+          'console_scripts': [
+              'complex-dist=complexdist:main',
+              'complex-dist2=complexdist:main',
+          ],
+      },
       )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/wheel/util.py 
new/wheel-0.26.0/wheel/util.py
--- old/wheel-0.24.0/wheel/util.py      2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/util.py      2015-09-15 19:28:15.000000000 +0200
@@ -5,6 +5,10 @@
 import base64
 import json
 import hashlib
+try:
+    from collections import OrderedDict
+except ImportError:
+    OrderedDict = dict
 
 __all__ = ['urlsafe_b64encode', 'urlsafe_b64decode', 'utf8',
            'to_json', 'from_json', 'matches_requirement']
@@ -91,6 +95,23 @@
         digest = self.hash.digest()
         return self.hashtype + '=' + native(urlsafe_b64encode(digest))
 
+class OrderedDefaultDict(OrderedDict):
+    def __init__(self, *args, **kwargs):
+        if not args:
+            self.default_factory = None
+        else:
+            if not (args[0] is None or callable(args[0])):
+                raise TypeError('first argument must be callable or None')
+            self.default_factory = args[0]
+            args = args[1:]
+        super(OrderedDefaultDict, self).__init__(*args, **kwargs)
+
+    def __missing__ (self, key):
+        if self.default_factory is None:
+            raise KeyError(key)
+        self[key] = default = self.default_factory()
+        return default
+
 if sys.platform == 'win32':
     import ctypes.wintypes
     # CSIDL_APPDATA for reference - not used here for compatibility with
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/wheel.egg-info/PKG-INFO 
new/wheel-0.26.0/wheel.egg-info/PKG-INFO
--- old/wheel-0.24.0/wheel.egg-info/PKG-INFO    2014-07-06 18:56:21.000000000 
+0200
+++ new/wheel-0.26.0/wheel.egg-info/PKG-INFO    2015-09-18 20:03:12.000000000 
+0200
@@ -1,8 +1,8 @@
 Metadata-Version: 1.1
 Name: wheel
-Version: 0.24.0
+Version: 0.26.0
 Summary: A built-package format for Python.
-Home-page: http://bitbucket.org/pypa/wheel/
+Home-page: https://bitbucket.org/pypa/wheel/
 Author: Daniel Holth
 Author-email: dho...@fastmail.fm
 License: MIT
@@ -49,6 +49,19 @@
         
         
         
+        0.26.0
+        ======
+        - Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+        
+        0.25.0
+        ======
+        - Add Python 3.5 to tox configuration
+        - Deterministic (sorted) metadata
+        - Fix tagging for Python 3.5 compatibility
+        - Support py2-none-'arch' and py3-none-'arch' tags
+        - Treat data-only wheels as pure
+        - Write to temporary file and rename when using wheel install --force
+        
         0.24.0
         ======
         - The python tag used for pure-python packages is now .pyN (major 
version
@@ -65,7 +78,7 @@
         
         0.23.0
         ======
-        - Compatibiltiy tag flags added to the bdist_wheel command
+        - Compatibility tag flags added to the bdist_wheel command
         - sdist should include files necessary for tests
         - 'wheel convert' can now also convert unpacked eggs to wheel
         - Rename pydist.json to metadata.json to avoid stepping on the PEP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/wheel.egg-info/SOURCES.txt 
new/wheel-0.26.0/wheel.egg-info/SOURCES.txt
--- old/wheel-0.24.0/wheel.egg-info/SOURCES.txt 2014-07-06 18:56:22.000000000 
+0200
+++ new/wheel-0.26.0/wheel.egg-info/SOURCES.txt 2015-09-18 20:03:13.000000000 
+0200
@@ -2,6 +2,7 @@
 LICENSE.txt
 MANIFEST.in
 README.txt
+entry_points.txt
 setup.cfg
 setup.py
 vendorize.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wheel-0.24.0/wheel.egg-info/requires.txt 
new/wheel-0.26.0/wheel.egg-info/requires.txt
--- old/wheel-0.24.0/wheel.egg-info/requires.txt        2014-07-06 
18:56:21.000000000 +0200
+++ new/wheel-0.26.0/wheel.egg-info/requires.txt        2015-09-18 
20:03:12.000000000 +0200
@@ -1,16 +1,14 @@
 
-
-[tool]
-
-
-[signatures]
-keyring
+[:python_version=="2.6"]
+argparse
 
 [faster-signatures]
 ed25519ll
 
-[:python_version=="2.6"]
-argparse
+[signatures]
+keyring
 
 [signatures:sys_platform!="win32"]
-pyxdg
\ No newline at end of file
+pyxdg
+
+[tool]


Reply via email to