Hello community,

here is the log from the commit of package python3-setuptools for 
openSUSE:Factory checked in at 2016-02-18 11:06:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-02-05 00:31:13.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.python3-setuptools.new/python3-setuptools.changes   
    2016-02-18 12:35:48.000000000 +0100
@@ -1,0 +2,24 @@
+Sun Feb 14 02:10:35 UTC 2016 - [email protected]
+
+- update to version 20.1.1:
+  * Update "upload_docs" command to also honor keyring for password
+    resolution.
+
+-------------------------------------------------------------------
+Fri Feb 12 04:56:15 UTC 2016 - [email protected]
+
+- update to version 20.1:
+  * Added support for using passwords from keyring in the upload
+    command. See `the upload docs
+    
<http://pythonhosted.org/setuptools/setuptools.html#upload-upload-source-and-or-egg-distributions-to-pypi>`_
+    for details.
+
+-------------------------------------------------------------------
+Sun Feb  7 16:19:06 UTC 2016 - [email protected]
+
+- update to version 20.0:
+  * Issue #118: Once again omit the package metadata (egg-info) from
+    the list of outputs in "--record". This version of setuptools can
+    no longer be used to upgrade pip earlier than 6.0.
+
+-------------------------------------------------------------------

Old:
----
  setuptools-19.7.tar.gz

New:
----
  setuptools-20.1.1.tar.gz

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

Other differences:
------------------
++++++ python3-setuptools.spec ++++++
--- /var/tmp/diff_new_pack.HqY6jP/_old  2016-02-18 12:35:48.000000000 +0100
+++ /var/tmp/diff_new_pack.HqY6jP/_new  2016-02-18 12:35:48.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           python3-setuptools
-Version:        19.7
+Version:        20.1.1
 Release:        0
 Url:            http://pypi.python.org/pypi/setuptools
 Summary:        Easily download, build, install, upgrade, and uninstall Python 
packages

++++++ setuptools-19.7.tar.gz -> setuptools-20.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-19.7/CHANGES.txt 
new/setuptools-20.1.1/CHANGES.txt
--- old/setuptools-19.7/CHANGES.txt     2016-02-03 14:19:59.000000000 +0100
+++ new/setuptools-20.1.1/CHANGES.txt   2016-02-12 17:10:11.000000000 +0100
@@ -2,6 +2,27 @@
 CHANGES
 =======
 
+20.1.1
+------
+
+* Update ``upload_docs`` command to also honor keyring
+  for password resolution.
+
+20.1
+----
+
+* Added support for using passwords from keyring in the upload
+command. See `the upload docs
+<http://pythonhosted.org/setuptools/setuptools.html#upload-upload-source-and-or-egg-distributions-to-pypi>`_
+for details.
+
+20.0
+----
+
+* Issue #118: Once again omit the package metadata (egg-info)
+  from the list of outputs in ``--record``. This version of setuptools
+  can no longer be used to upgrade pip earlier than 6.0.
+
 19.7
 ----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-19.7/PKG-INFO 
new/setuptools-20.1.1/PKG-INFO
--- old/setuptools-19.7/PKG-INFO        2016-02-03 14:20:32.000000000 +0100
+++ new/setuptools-20.1.1/PKG-INFO      2016-02-12 17:11:11.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: setuptools
-Version: 19.7
+Version: 20.1.1
 Summary: Easily download, build, install, upgrade, and uninstall Python 
packages
 Home-page: https://bitbucket.org/pypa/setuptools
 Author: Python Packaging Authority
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-19.7/docs/setuptools.txt 
new/setuptools-20.1.1/docs/setuptools.txt
--- old/setuptools-19.7/docs/setuptools.txt     2016-01-30 18:43:56.000000000 
+0100
+++ new/setuptools-20.1.1/docs/setuptools.txt   2016-02-12 05:41:37.000000000 
+0100
@@ -2328,54 +2328,25 @@
 ``upload`` - Upload source and/or egg distributions to PyPI
 ===========================================================
 
-PyPI now supports uploading project files for redistribution; uploaded files
-are easily found by EasyInstall, even if you don't have download links on your
-project's home page.
-
-Although Python 2.5 will support uploading all types of distributions to PyPI,
-setuptools only supports source distributions and eggs.  (This is partly
-because PyPI's upload support is currently broken for various other file
-types.)  To upload files, you must include the ``upload`` command *after* the
-``sdist`` or ``bdist_egg`` commands on the setup command line.  For example::
-
-    setup.py bdist_egg upload         # create an egg and upload it
-    setup.py sdist upload             # create a source distro and upload it
-    setup.py sdist bdist_egg upload   # create and upload both
-
-Note that to upload files for a project, the corresponding version must already
-be registered with PyPI, using the distutils ``register`` command.  It's
-usually a good idea to include the ``register`` command at the start of the
-command line, so that any registration problems can be found and fixed before
-building and uploading the distributions, e.g.::
-
-    setup.py register sdist bdist_egg upload
-
-This will update PyPI's listing for your project's current version.
-
-Note, by the way, that the metadata in your ``setup()`` call determines what
-will be listed in PyPI for your package.  Try to fill out as much of it as
-possible, as it will save you a lot of trouble manually adding and updating
-your PyPI listings.  Just put it in ``setup.py`` and use the ``register``
-command to keep PyPI up to date.
-
-The ``upload`` command has a few options worth noting:
-
-``--sign, -s``
-    Sign each uploaded file using GPG (GNU Privacy Guard).  The ``gpg`` program
-    must be available for execution on the system ``PATH``.
-
-``--identity=NAME, -i NAME``
-    Specify the identity or key name for GPG to use when signing.  The value of
-    this option will be passed through the ``--local-user`` option of the
-    ``gpg`` program.
-
-``--show-response``
-    Display the full response text from server; this is useful for debugging
-    PyPI problems.
-
-``--repository=URL, -r URL``
-    The URL of the repository to upload to.  Defaults to
-    https://pypi.python.org/pypi (i.e., the main PyPI installation).
+The ``upload`` command is implemented and `documented
+<https://docs.python.org/3.1/distutils/uploading.html>`_
+in distutils.
+
+Setuptools augments the ``upload`` command with support
+for `keyring <https://pypi.python.org/pypi/keyring>`_,
+allowing the password to be stored in a secure
+location and not in plaintext in the .pypirc file. To use
+keyring, first install keyring and set the password for
+the relevant repository, e.g.::
+
+    python -m keyring set <repository> <username>
+    Password for '<username>' in '<repository>': ********
+
+Then, in .pypirc, set the repository configuration as normal,
+but omit the password. Thereafter, uploads will use the
+password from the keyring.
+
+New in 20.1: Added keyring support.
 
 .. _upload_docs:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/setuptools-19.7/pkg_resources/tests/test_resources.py 
new/setuptools-20.1.1/pkg_resources/tests/test_resources.py
--- old/setuptools-19.7/pkg_resources/tests/test_resources.py   2016-02-01 
03:32:22.000000000 +0100
+++ new/setuptools-20.1.1/pkg_resources/tests/test_resources.py 2016-02-07 
15:38:32.000000000 +0100
@@ -1,7 +1,7 @@
+from __future__ import unicode_literals
+
 import os
 import sys
-import tempfile
-import shutil
 import string
 
 from pkg_resources.extern.six.moves import map
@@ -610,35 +610,44 @@
 
 class TestNamespaces:
 
-    def setup_method(self, method):
-        self._ns_pkgs = pkg_resources._namespace_packages.copy()
-
-        # Further, test case where the temp dir is a symlink, where applicable
-        # See #231
-        if hasattr(os, 'symlink'):
-            real_tmpdir = tempfile.mkdtemp(prefix="real-tests-setuptools-")
-            tmpdir_base, tmpdir_name = os.path.split(real_tmpdir)
-            tmpdir = os.path.join(tmpdir_base, tmpdir_name[5:])
-            os.symlink(real_tmpdir, tmpdir)
-            self._real_tmpdir = real_tmpdir
-            self._tmpdir = tmpdir
-        else:
-            tmpdir = tempfile.mkdtemp(prefix="tests-setuptools-")
-            self._real_tmpdir = self._tmpdir = tmpdir
-
-        os.makedirs(os.path.join(self._tmpdir, "site-pkgs"))
-        self._prev_sys_path = sys.path[:]
-        sys.path.append(os.path.join(self._tmpdir, "site-pkgs"))
-
-    def teardown_method(self, method):
-        shutil.rmtree(self._real_tmpdir)
-        if os.path.islink(self._tmpdir):
-            os.unlink(self._tmpdir)
+    ns_str = "__import__('pkg_resources').declare_namespace(__name__)\n"
 
-        pkg_resources._namespace_packages = self._ns_pkgs.copy()
-        sys.path = self._prev_sys_path[:]
+    @pytest.yield_fixture
+    def symlinked_tmpdir(self, tmpdir):
+        """
+        Where available, return the tempdir as a symlink,
+        which as revealed in #231 is more fragile than
+        a natural tempdir.
+        """
+        if not hasattr(os, 'symlink'):
+            yield str(tmpdir)
+            return
+
+        link_name = str(tmpdir) + '-linked'
+        os.symlink(str(tmpdir), link_name)
+        try:
+            yield type(tmpdir)(link_name)
+        finally:
+            os.unlink(link_name)
+
+    @pytest.yield_fixture(autouse=True)
+    def patched_path(self, tmpdir):
+        """
+        Patch sys.path to include the 'site-pkgs' dir. Also
+        restore pkg_resources._namespace_packages to its
+        former state.
+        """
+        saved_ns_pkgs = pkg_resources._namespace_packages.copy()
+        saved_sys_path = sys.path[:]
+        site_pkgs = tmpdir.mkdir('site-pkgs')
+        sys.path.append(str(site_pkgs))
+        try:
+            yield
+        finally:
+            pkg_resources._namespace_packages = saved_ns_pkgs
+            sys.path = saved_sys_path
 
-    def test_two_levels_deep(self):
+    def test_two_levels_deep(self, symlinked_tmpdir):
         """
         Test nested namespace packages
         Create namespace packages in the following tree :
@@ -647,19 +656,16 @@
         Check both are in the _namespace_packages dict and that their __path__
         is correct
         """
-        sys.path.append(os.path.join(self._tmpdir, "site-pkgs2"))
-        os.makedirs(os.path.join(self._tmpdir, "site-pkgs", "pkg1", "pkg2"))
-        os.makedirs(os.path.join(self._tmpdir, "site-pkgs2", "pkg1", "pkg2"))
-        ns_str = "__import__('pkg_resources').declare_namespace(__name__)\n"
-        for site in ["site-pkgs", "site-pkgs2"]:
-            pkg1_init = open(os.path.join(self._tmpdir, site,
-                             "pkg1", "__init__.py"), "w")
-            pkg1_init.write(ns_str)
-            pkg1_init.close()
-            pkg2_init = open(os.path.join(self._tmpdir, site,
-                             "pkg1", "pkg2", "__init__.py"), "w")
-            pkg2_init.write(ns_str)
-            pkg2_init.close()
+        real_tmpdir = symlinked_tmpdir.realpath()
+        tmpdir = symlinked_tmpdir
+        sys.path.append(str(tmpdir / 'site-pkgs2'))
+        site_dirs = tmpdir / 'site-pkgs', tmpdir / 'site-pkgs2'
+        for site in site_dirs:
+            pkg1 = site / 'pkg1'
+            pkg2 = pkg1 / 'pkg2'
+            pkg2.ensure_dir()
+            (pkg1 / '__init__.py').write_text(self.ns_str, encoding='utf-8')
+            (pkg2 / '__init__.py').write_text(self.ns_str, encoding='utf-8')
         import pkg1
         assert "pkg1" in pkg_resources._namespace_packages
         # attempt to import pkg2 from site-pkgs2
@@ -669,12 +675,12 @@
         assert pkg_resources._namespace_packages["pkg1"] == ["pkg1.pkg2"]
         # check the __path__ attribute contains both paths
         expected = [
-            os.path.join(self._real_tmpdir, "site-pkgs", "pkg1", "pkg2"),
-            os.path.join(self._real_tmpdir, "site-pkgs2", "pkg1", "pkg2"),
+            str(real_tmpdir / "site-pkgs" / "pkg1" / "pkg2"),
+            str(real_tmpdir / "site-pkgs2" / "pkg1" / "pkg2"),
         ]
         assert pkg1.pkg2.__path__ == expected
 
-    def test_path_order(self):
+    def test_path_order(self, symlinked_tmpdir):
         """
         Test that if multiple versions of the same namespace package subpackage
         are on different sys.path entries, that only the one earliest on
@@ -684,26 +690,29 @@
         Regression test for https://bitbucket.org/pypa/setuptools/issues/207
         """
 
-        site_pkgs = ["site-pkgs", "site-pkgs2", "site-pkgs3"]
+        tmpdir = symlinked_tmpdir
+        site_dirs = (
+            tmpdir / "site-pkgs",
+            tmpdir / "site-pkgs2",
+            tmpdir / "site-pkgs3",
+        )
 
-        ns_str = "__import__('pkg_resources').declare_namespace(__name__)\n"
         vers_str = "__version__ = %r"
 
-        for idx, site in enumerate(site_pkgs):
-            if idx > 0:
-                sys.path.append(os.path.join(self._tmpdir, site))
-            os.makedirs(os.path.join(self._tmpdir, site, "nspkg", "subpkg"))
-            with open(os.path.join(self._tmpdir, site, "nspkg",
-                                   "__init__.py"), "w") as f:
-                f.write(ns_str)
-
-            with open(os.path.join(self._tmpdir, site, "nspkg", "subpkg",
-                                   "__init__.py"), "w") as f:
-                f.write(vers_str % (idx + 1))
+        for number, site in enumerate(site_dirs, 1):
+            if number > 1:
+                sys.path.append(str(site))
+            nspkg = site / 'nspkg'
+            subpkg = nspkg / 'subpkg'
+            subpkg.ensure_dir()
+            (nspkg / '__init__.py').write_text(self.ns_str, encoding='utf-8')
+            (subpkg / '__init__.py').write_text(vers_str % number, 
encoding='utf-8')
 
         import nspkg.subpkg
         import nspkg
-        assert nspkg.__path__ == [os.path.join(self._real_tmpdir, site,
-                                               "nspkg")
-                                  for site in site_pkgs]
+        expected = [
+            str(site.realpath() / 'nspkg')
+            for site in site_dirs
+        ]
+        assert nspkg.__path__ == expected
         assert nspkg.subpkg.__version__ == 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-19.7/setuptools/command/__init__.py 
new/setuptools-20.1.1/setuptools/command/__init__.py
--- old/setuptools-19.7/setuptools/command/__init__.py  2016-01-30 
18:43:56.000000000 +0100
+++ new/setuptools-20.1.1/setuptools/command/__init__.py        2016-02-12 
05:34:08.000000000 +0100
@@ -2,7 +2,7 @@
     'alias', 'bdist_egg', 'bdist_rpm', 'build_ext', 'build_py', 'develop',
     'easy_install', 'egg_info', 'install', 'install_lib', 'rotate', 'saveopts',
     'sdist', 'setopt', 'test', 'install_egg_info', 'install_scripts',
-    'register', 'bdist_wininst', 'upload_docs',
+    'register', 'bdist_wininst', 'upload_docs', 'upload',
 ]
 
 from distutils.command.bdist import bdist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/setuptools-19.7/setuptools/command/install_egg_info.py 
new/setuptools-20.1.1/setuptools/command/install_egg_info.py
--- old/setuptools-19.7/setuptools/command/install_egg_info.py  2016-02-01 
03:32:22.000000000 +0100
+++ new/setuptools-20.1.1/setuptools/command/install_egg_info.py        
2016-02-07 15:36:03.000000000 +0100
@@ -29,7 +29,7 @@
         ).egg_name() + '.egg-info'
         self.source = ei_cmd.egg_info
         self.target = os.path.join(self.install_dir, basename)
-        self.outputs = [self.target]
+        self.outputs = []
 
     def run(self):
         self.run_command('egg_info')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-19.7/setuptools/command/upload.py 
new/setuptools-20.1.1/setuptools/command/upload.py
--- old/setuptools-19.7/setuptools/command/upload.py    1970-01-01 
01:00:00.000000000 +0100
+++ new/setuptools-20.1.1/setuptools/command/upload.py  2016-02-12 
13:49:14.000000000 +0100
@@ -0,0 +1,23 @@
+from distutils.command import upload as orig
+
+
+class upload(orig.upload):
+    """
+    Override default upload behavior to look up password
+    in the keyring if available.
+    """
+
+    def finalize_options(self):
+        orig.upload.finalize_options(self)
+        self.password or self._load_password_from_keyring()
+
+    def _load_password_from_keyring(self):
+        """
+        Attempt to load password from keyring. Suppress Exceptions.
+        """
+        try:
+            keyring = __import__('keyring')
+            self.password = keyring.get_password(self.repository,
+                self.username)
+        except Exception:
+            pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-19.7/setuptools/command/upload_docs.py 
new/setuptools-20.1.1/setuptools/command/upload_docs.py
--- old/setuptools-19.7/setuptools/command/upload_docs.py       2016-01-30 
18:43:56.000000000 +0100
+++ new/setuptools-20.1.1/setuptools/command/upload_docs.py     2016-02-12 
17:08:14.000000000 +0100
@@ -8,18 +8,17 @@
 from base64 import standard_b64encode
 from distutils import log
 from distutils.errors import DistutilsOptionError
-from distutils.command.upload import upload
 import os
 import socket
 import zipfile
 import tempfile
-import sys
 import shutil
 
 from setuptools.extern import six
 from setuptools.extern.six.moves import http_client, urllib
 
 from pkg_resources import iter_entry_points
+from .upload import upload
 
 
 errors = 'surrogateescape' if six.PY3 else 'strict'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-19.7/setuptools/version.py 
new/setuptools-20.1.1/setuptools/version.py
--- old/setuptools-19.7/setuptools/version.py   2016-02-03 14:20:24.000000000 
+0100
+++ new/setuptools-20.1.1/setuptools/version.py 2016-02-12 17:11:07.000000000 
+0100
@@ -1 +1 @@
-__version__ = '19.7'
+__version__ = '20.1.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-19.7/setuptools.egg-info/PKG-INFO 
new/setuptools-20.1.1/setuptools.egg-info/PKG-INFO
--- old/setuptools-19.7/setuptools.egg-info/PKG-INFO    2016-02-03 
14:20:29.000000000 +0100
+++ new/setuptools-20.1.1/setuptools.egg-info/PKG-INFO  2016-02-12 
17:11:10.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: setuptools
-Version: 19.7
+Version: 20.1.1
 Summary: Easily download, build, install, upgrade, and uninstall Python 
packages
 Home-page: https://bitbucket.org/pypa/setuptools
 Author: Python Packaging Authority
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-19.7/setuptools.egg-info/SOURCES.txt 
new/setuptools-20.1.1/setuptools.egg-info/SOURCES.txt
--- old/setuptools-19.7/setuptools.egg-info/SOURCES.txt 2016-02-03 
14:20:32.000000000 +0100
+++ new/setuptools-20.1.1/setuptools.egg-info/SOURCES.txt       2016-02-12 
17:11:11.000000000 +0100
@@ -103,6 +103,7 @@
 setuptools/command/sdist.py
 setuptools/command/setopt.py
 setuptools/command/test.py
+setuptools/command/upload.py
 setuptools/command/upload_docs.py
 setuptools/extern/__init__.py
 setuptools/tests/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-19.7/setuptools.egg-info/entry_points.txt 
new/setuptools-20.1.1/setuptools.egg-info/entry_points.txt
--- old/setuptools-19.7/setuptools.egg-info/entry_points.txt    2016-02-03 
14:20:29.000000000 +0100
+++ new/setuptools-20.1.1/setuptools.egg-info/entry_points.txt  2016-02-12 
17:11:10.000000000 +0100
@@ -22,6 +22,7 @@
 sdist = setuptools.command.sdist:sdist
 setopt = setuptools.command.setopt:setopt
 test = setuptools.command.test:test
+upload = setuptools.command.upload:upload
 upload_docs = setuptools.command.upload_docs:upload_docs
 
 [distutils.setup_keywords]


Reply via email to