Hello community,

here is the log from the commit of package python-zc.buildout for 
openSUSE:Factory checked in at 2018-09-25 15:43:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zc.buildout (Old)
 and      /work/SRC/openSUSE:Factory/.python-zc.buildout.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-zc.buildout"

Tue Sep 25 15:43:48 2018 rev:9 rq:637768 version:2.12.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-zc.buildout/python-zc.buildout.changes    
2018-07-14 20:27:39.932562827 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-zc.buildout.new/python-zc.buildout.changes   
    2018-09-25 15:43:50.321199748 +0200
@@ -1,0 +2,10 @@
+Mon Sep 17 19:55:23 UTC 2018 - Sebastian Wagner <[email protected]>
+
+- update to version 2.12.2:
+ - Upon an error, buildout exits with a non-zero exit code. This now also works
+   when running with ``-D``.
+ - Fixed most 'Deprecation' and 'Resource' warnings.
+- update to version 2.12.1:
+ - zc.buildout now explicitly requests zc.recipe.egg >=2.0.6 now.
+
+-------------------------------------------------------------------

Old:
----
  zc.buildout-2.12.0.tar.gz

New:
----
  zc.buildout-2.12.2.tar.gz

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

Other differences:
------------------
++++++ python-zc.buildout.spec ++++++
--- /var/tmp/diff_new_pack.Ut0lLB/_old  2018-09-25 15:43:51.641198337 +0200
+++ /var/tmp/diff_new_pack.Ut0lLB/_new  2018-09-25 15:43:51.645198333 +0200
@@ -12,14 +12,14 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %{!?license: %global license %doc}
 Name:           python-zc.buildout
-Version:        2.12.0
+Version:        2.12.2
 Release:        0
 Url:            http://pypi.python.org/pypi/zc.buildout
 Summary:        System for managing development buildouts

++++++ zc.buildout-2.12.0.tar.gz -> zc.buildout-2.12.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/CHANGES.rst 
new/zc.buildout-2.12.2/CHANGES.rst
--- old/zc.buildout-2.12.0/CHANGES.rst  2018-07-02 11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/CHANGES.rst  2018-09-04 09:49:31.000000000 +0200
@@ -1,6 +1,21 @@
 Change History
 **************
 
+2.12.2 (2018-09-04)
+===================
+
+- Upon an error, buildout exits with a non-zero exit code. This now also works
+  when running with ``-D``.
+
+- Fixed most 'Deprecation' and 'Resource' warnings.
+
+
+2.12.1 (2018-07-02)
+===================
+
+- zc.buildout now explicitly requests zc.recipe.egg >=2.0.6 now.
+
+
 2.12.0 (2018-07-02)
 ===================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/PKG-INFO 
new/zc.buildout-2.12.2/PKG-INFO
--- old/zc.buildout-2.12.0/PKG-INFO     2018-07-02 11:21:23.000000000 +0200
+++ new/zc.buildout-2.12.2/PKG-INFO     2018-09-04 09:49:31.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: zc.buildout
-Version: 2.12.0
+Version: 2.12.2
 Summary: System for managing development buildouts
 Home-page: http://buildout.org
 Author: Jim Fulton
@@ -63,6 +63,21 @@
         Change History
         **************
         
+        2.12.2 (2018-09-04)
+        ===================
+        
+        - Upon an error, buildout exits with a non-zero exit code. This now 
also works
+          when running with ``-D``.
+        
+        - Fixed most 'Deprecation' and 'Resource' warnings.
+        
+        
+        2.12.1 (2018-07-02)
+        ===================
+        
+        - zc.buildout now explicitly requests zc.recipe.egg >=2.0.6 now.
+        
+        
         2.12.0 (2018-07-02)
         ===================
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/setup.py 
new/zc.buildout-2.12.2/setup.py
--- old/zc.buildout-2.12.0/setup.py     2018-07-02 11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/setup.py     2018-09-04 09:49:31.000000000 +0200
@@ -12,13 +12,14 @@
 #
 ##############################################################################
 name = "zc.buildout"
-version = '2.12.0'
+version = '2.12.2'
 
 import os
 from setuptools import setup
 
 def read(*rnames):
-    return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
+    with open(os.path.join(os.path.dirname(__file__), *rnames)) as f:
+        return f.read()
 
 long_description= read('README.rst') + '\n' + read('CHANGES.rst')
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/bootstrap.txt 
new/zc.buildout-2.12.2/src/zc/buildout/bootstrap.txt
--- old/zc.buildout-2.12.0/src/zc/buildout/bootstrap.txt        2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/bootstrap.txt        2018-09-04 
09:49:31.000000000 +0200
@@ -19,7 +19,9 @@
     ... [buildout]
     ... parts =
     ... ''')
-    >>> write('bootstrap.py', open(bootstrap_py).read())
+    >>> with open(bootstrap_py) as f:
+    ...     bootstrap_py_contents = f.read()
+    >>> write('bootstrap.py', bootstrap_py_contents)
     >>> print_('X'); print_(system(
     ...     zc.buildout.easy_install._safe_arg(sys.executable)+' '+
     ...     'bootstrap.py')); print_('X') # doctest: +ELLIPSIS
@@ -52,7 +54,7 @@
     >>> buildout_script = join(sample_buildout, 'bin', 'buildout')
     >>> if sys.platform.startswith('win'):
     ...     buildout_script += '-script.py'
-    >>> print_(open(buildout_script).read()) # doctest: +ELLIPSIS
+    >>> with open(buildout_script) as f: print_(f.read()) # doctest: +ELLIPSIS
     #...
     sys.path[0:0] = [
       '/sample/eggs/zc.buildout-22.0.0...egg',
@@ -83,7 +85,7 @@
 
 Let's make sure the generated ``buildout`` script uses it::
 
-    >>> print_(open(buildout_script).read()) # doctest: +ELLIPSIS
+    >>> with open(buildout_script) as f: print_(f.read()) # doctest: +ELLIPSIS
     #...
     sys.path[0:0] = [
       '/sample/eggs/zc.buildout-2.0.0...egg',
@@ -103,7 +105,7 @@
 
 Let's make sure the generated ``buildout`` script uses it::
 
-    >>> print_(open(buildout_script).read()) # doctest: +ELLIPSIS
+    >>> with open(buildout_script) as f: print_(f.read()) # doctest: +ELLIPSIS
     #...
     sys.path[0:0] = [
       '/sample/eggs/zc.buildout-...egg',
@@ -121,7 +123,7 @@
 
 Let's make sure the generated ``buildout`` script uses it::
 
-    >>> print_(open(buildout_script).read()) # doctest: +ELLIPSIS
+    >>> with open(buildout_script) as f: print_(f.read()) # doctest: +ELLIPSIS
     #...
     sys.path[0:0] = [
       '/sample/eggs/zc.buildout-2.0.0...egg',
@@ -153,7 +155,7 @@
     >>> os.path.exists('setuptools-32.1.0.zip')
     True
 
-    >>> print_(open(buildout_script).read()) # doctest: +ELLIPSIS
+    >>> with open(buildout_script) as f: print_(f.read()) # doctest: +ELLIPSIS
     #...
     sys.path[0:0] = [
       '/sample/eggs/zc.buildout-2.0.0...egg',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/zc.buildout-2.12.0/src/zc/buildout/bootstrap_cl_settings.test 
new/zc.buildout-2.12.2/src/zc/buildout/bootstrap_cl_settings.test
--- old/zc.buildout-2.12.0/src/zc/buildout/bootstrap_cl_settings.test   
2018-07-02 11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/bootstrap_cl_settings.test   
2018-09-04 09:49:31.000000000 +0200
@@ -20,7 +20,8 @@
     ... [buildout]
     ... parts =
     ... ''')
-    >>> write('bootstrap.py', open(bootstrap_py).read())
+    >>> with open(bootstrap_py) as f: bootstrap_py_contents = f.read()
+    >>> write('bootstrap.py', bootstrap_py_contents)
     >>> print_('X'); print_(system(
     ...     zc.buildout.easy_install._safe_arg(sys.executable) +
     ...     ' bootstrap.py buildout:directory=' + top +
@@ -43,7 +44,8 @@
     >>> os.chdir(top)
     >>> mkdir(top, 'buildout')
     >>> os.chdir(top)
-    >>> write('bootstrap.py', open(bootstrap_py).read())
+    >>> with open(bootstrap_py) as f: bootstrap_py_contents = f.read()
+    >>> write('bootstrap.py', bootstrap_py_contents)
     >>> print_('X'); print_(system(
     ...     zc.buildout.easy_install._safe_arg(sys.executable) +
     ...     ' bootstrap.py buildout:directory=' + top +
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/buildout.py 
new/zc.buildout-2.12.2/src/zc/buildout/buildout.py
--- old/zc.buildout-2.12.0/src/zc/buildout/buildout.py  2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/buildout.py  2018-09-04 
09:49:31.000000000 +0200
@@ -378,7 +378,7 @@
                           pkg_resources.Requirement.parse('zc.buildout')
                           ).version),
                      # Use 2, even though not final
-                     ('zc.recipe.egg', '>=2.0.0a3'),
+                     ('zc.recipe.egg', '>=2.0.6'),
                      )
                  if k not in versions
                  ))
@@ -893,8 +893,8 @@
                     setup = self._buildout_path(setup)
                     files = glob.glob(setup)
                     if not files:
-                        self._logger.warn("Couldn't develop %r (not found)",
-                                          setup)
+                        self._logger.warning("Couldn't develop %r (not found)",
+                                             setup)
                     else:
                         files.sort()
                     for setup in files:
@@ -1108,8 +1108,8 @@
         if (realpath(os.path.abspath(sys.argv[0])) != should_run):
             self._logger.debug("Running %r.", realpath(sys.argv[0]))
             self._logger.debug("Local buildout is %r.", should_run)
-            self._logger.warn("Not upgrading because not running a local "
-                              "buildout command.")
+            self._logger.warning("Not upgrading because not running a local "
+                                 "buildout command.")
             return
 
         self._logger.info("Upgraded:\n  %s;\nrestarting.",
@@ -1464,7 +1464,7 @@
 
     _template_split = re.compile('([$]{[^}]*})').split
     _simple = re.compile('[-a-zA-Z0-9 ._]+$').match
-    _valid = re.compile('\${[-a-zA-Z0-9 ._]*:[-a-zA-Z0-9 ._]+}$').match
+    _valid = re.compile(r'\${[-a-zA-Z0-9 ._]*:[-a-zA-Z0-9 ._]+}$').match
     def _sub(self, template, seen):
         value = self._template_split(template)
         subs = []
@@ -1563,7 +1563,7 @@
                     elif os.path.isfile(p):
                         os.remove(p)
                     else:
-                        self.buildout._logger.warn("Couldn't clean up %r.", p)
+                        self.buildout._logger.warning("Couldn't clean up %r.", 
p)
                 raise
         finally:
             self._created = None
@@ -1921,9 +1921,9 @@
     unused = [option for option in sorted(options._raw)
               if option not in options._data]
     if unused:
-        buildout._logger.warn("Unused options for %s: %s."
-                              % (section, ' '.join(map(repr, unused)))
-                              )
+        buildout._logger.warning("Unused options for %s: %s."
+                                 % (section, ' '.join(map(repr, unused)))
+        )
 
 _usage = """\
 Usage: buildout [options] [assignments] [command [command arguments]]
@@ -2149,7 +2149,7 @@
                 else:
                     sys.stderr.write(_internal_error_template)
                     traceback.print_exception(*exc_info)
-                    sys.exit(1)
+            sys.exit(1)
 
     finally:
         logging.shutdown()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/buildout.txt 
new/zc.buildout-2.12.2/src/zc/buildout/buildout.txt
--- old/zc.buildout-2.12.0/src/zc/buildout/buildout.txt 2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/buildout.txt 2018-09-04 
09:49:31.000000000 +0200
@@ -3104,7 +3104,7 @@
     >>> print_(system(buildout + ' -csetup.cfg init demo other ./src'), end='')
     Creating '/sample-bootstrapped/setup.cfg'.
     Creating directory '/sample-bootstrapped/develop-eggs'.
-    Getting distribution for 'zc.recipe.egg>=2.0.0a3'.
+    Getting distribution for 'zc.recipe.egg>=2.0.6'.
     Got zc.recipe.egg
     Installing py.
     Getting distribution for 'demo'.
@@ -3355,3 +3355,7 @@
     ext ['buildout', 'versions']
     Develop: '/sample-bootstrapped/demo'
     unload ['buildout', 'versions']
+
+..
+
+    >>> stop_server(server_url)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/configparser.py 
new/zc.buildout-2.12.2/src/zc/buildout/configparser.py
--- old/zc.buildout-2.12.0/src/zc/buildout/configparser.py      2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/configparser.py      2018-09-04 
09:49:31.000000000 +0200
@@ -178,7 +178,7 @@
                     tail = tail.replace(';', '#') if tail else ''
                     # un-escape literal # and ; . Do not use a
                     # string-escape decode
-                    expr = expression.replace(r'\x23','#').replace(r'x3b', ';')
+                    expr = expression.replace(r'\x23','#').replace(r'\x3b', 
';')
                     # rebuild a valid Python expression wrapped in a list
                     expr = head + expr + tail
                     # lazily populate context only expression
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/configparser.test 
new/zc.buildout-2.12.2/src/zc/buildout/configparser.test
--- old/zc.buildout-2.12.0/src/zc/buildout/configparser.test    2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/configparser.test    2018-09-04 
09:49:31.000000000 +0200
@@ -33,7 +33,7 @@
   b    += 1
 
   [s3]; comment
-  x =           a b        
+  x =           a b
 
 .. -> text
 
@@ -92,9 +92,9 @@
      'versions': {}}
 
 
-Sections headers can contain an optional arbitrary Python expression. 
+Sections headers can contain an optional arbitrary Python expression.
 When the expression evaluates to false the whole section is skipped.
-Several sections can have the same name with different expressions, enabling 
+Several sections can have the same name with different expressions, enabling
 conditional exclusion of sections::
 
   [s1: 2 + 2 == 4] # this expression is true [therefore "this section" _will_ 
be NOT skipped
@@ -106,7 +106,7 @@
   [   s2 : 41 + 1 == 42  ]  # a comment: this expression is [true], so this 
section will be kept
   long = b
 
-  [s3:2 in map(lambda i:i*2, [i for i in range(10)])] ;# Complex expressions 
are [possible!];, though they should not be (abused:) 
+  [s3:2 in map(lambda i:i*2, [i for i in range(10)])] ;# Complex expressions 
are [possible!];, though they should not be (abused:)
   # this section will not be skipped
   long = c
 
@@ -117,11 +117,11 @@
 
 
 Title line optional trailing comments are separated by a hash '#' or semicolon
-';' character.  The expression is an arbitrary expression with one 
restriction: 
-it cannot contain a literal hash '#' or semicolon ';' character: these need to 
be 
+';' character.  The expression is an arbitrary expression with one restriction:
+it cannot contain a literal hash '#' or semicolon ';' character: these need to 
be
 string-escaped.
-The comment can contain arbitrary characters, including brackets that are also 
-used to mark the end of a section header and may be ambiguous to recognize in 
+The comment can contain arbitrary characters, including brackets that are also
+used to mark the end of a section header and may be ambiguous to recognize in
 some cases. For example, valid sections lines include::
 
   [ a ]
@@ -170,7 +170,7 @@
 
 
 
-A title line optional trailing comment be separated by a hash or semicolon 
+A title line optional trailing comment be separated by a hash or semicolon
 character. The following are valid semicolon-separated comments::
 
   [ a ]  ;semicolon comment are supported for lines without expressions ]
@@ -226,10 +226,10 @@
      'e': {'e': '1'}}
 
 
-However, explicit semicolon and hash characters are invalid in expressions and 
+However, explicit semicolon and hash characters are invalid in expressions and
 must be escaped or this triggers an error. In the rare case where a hash '#' or
-semicolon ';' would be needed in an expression literal, you can use the 
-string-escaped representation of these characters:  use '\x23' for hash '#' 
and 
+semicolon ';' would be needed in an expression literal, you can use the
+string-escaped representation of these characters:  use '\x23' for hash '#' and
 '\x3b' for semicolon ';' to avoid evaluation errors.
 These expressions are valid and use escaped hash and semicolons in literals::
 
@@ -256,11 +256,11 @@
     ... except zc.buildout.configparser.MissingSectionHeaderError: pass # 
success
 
 
-One of the typical usage of expression is to have buildout parts that are 
-operating system or platform-specific.  The configparser.parse function has an 
-optional exp_globals argument.  This is a callable returning a mapping of 
-objects made available to the evaluation context of the expression. Here we 
add 
-the platform and sys modules to the evaluation context, so we can access 
+One of the typical usage of expression is to have buildout parts that are
+operating system or platform-specific.  The configparser.parse function has an
+optional exp_globals argument.  This is a callable returning a mapping of
+objects made available to the evaluation context of the expression. Here we add
+the platform and sys modules to the evaluation context, so we can access
 platform and sys modules functions and objects in our expressions ::
 
   [s1: str(platform.python_version_tuple()[0]) in ('2', '3',)] # this 
expression is true, the major versions of python are either 2 or 3
@@ -280,8 +280,8 @@
     {'s1': {'a': '1'}, 's2': {'long': 'b'}}
 
 
-Some limited (but hopefully sane and sufficient) default modules and 
-pre-computed common expressions available to an expression when the parser in 
+Some limited (but hopefully sane and sufficient) default modules and
+pre-computed common expressions available to an expression when the parser in
 called by buildout::
 
 
@@ -290,20 +290,20 @@
   a = 1
 
   # major and minor python versions, yes even python 3.5 and 3.6 are there , 
prospectively
-  # comment: this expression "is true" and not that long expression cannot 
span several lines 
-  [s2: any([python2, python3, python24 , python25 , python26 , python27 , 
python30 , python31 , python32 , python33 , python34 , python35 , python36]) ] 
+  # comment: this expression "is true" and not that long expression cannot 
span several lines
+  [s2: any([python2, python3, python24 , python25 , python26 , python27 , 
python30 , python31 , python32 , python33 , python34 , python35 , python36]) ]
   b = 1
 
   # common python interpreter types
   [s3:cpython or pypy or jython or ironpython]  # a comment: this expression 
is likely always true, so this section will be kept
-  c = 1 
+  c = 1
 
   # common operating systems
-  [s4:linux or windows or cygwin or macosx or solaris or posix or True]  
+  [s4:linux or windows or cygwin or macosx or solaris or posix or True]
   d = 1
 
   # common bitness and endianness
-  [s5:bits32 or bits64 or little_endian or big_endian]  
+  [s5:bits32 or bits64 or little_endian or big_endian]
   e = 1
 
 .. -> text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/debugging.txt 
new/zc.buildout-2.12.2/src/zc/buildout/debugging.txt
--- old/zc.buildout-2.12.0/src/zc/buildout/debugging.txt        2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/debugging.txt        2018-09-04 
09:49:31.000000000 +0200
@@ -56,12 +56,13 @@
 
 If we run the buildout, we'll get an error:
 
-    >>> print_(system(buildout), end='')
+    >>> print_(system(buildout, with_exit_code=True), end='')
     Develop: '/sample-buildout/recipes'
     Installing data-dir.
     While:
       Installing data-dir.
     Error: Missing option: data-dir:directory
+    EXIT CODE: 1
 
 
 If we want to debug the error, we can add the -D option. Here's we'll
@@ -71,7 +72,7 @@
     ... up
     ... p sorted(self.options.keys())
     ... q
-    ... """), end='')
+    ... """, with_exit_code=True), end='')
     Develop: '/sample-buildout/recipes'
     Installing data-dir.
     > /zc/buildout/buildout.py(925)__getitem__()
@@ -95,3 +96,4 @@
     MissingOption: Missing option: data-dir:directory
     <BLANKLINE>
     Starting pdb:
+    EXIT CODE: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/download.py 
new/zc.buildout-2.12.2/src/zc/buildout/download.py
--- old/zc.buildout-2.12.0/src/zc/buildout/download.py  2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/download.py  2018-09-04 
09:49:31.000000000 +0200
@@ -20,15 +20,8 @@
 
 try:
     # Python 3
-    from urllib.request import FancyURLopener, URLopener, urlretrieve
+    from urllib.request import urlretrieve
     from urllib.parse import urlparse
-    from urllib import request
-
-    class PatchedURLopener(FancyURLopener):
-        http_error_default = URLopener.http_error_default
-
-    request._urlopener = PatchedURLopener()  # Ook! Monkey patch!
-
 except ImportError:
     # Python 2
     import base64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/easy_install.py 
new/zc.buildout-2.12.2/src/zc/buildout/easy_install.py
--- old/zc.buildout-2.12.0/src/zc/buildout/easy_install.py      2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/easy_install.py      2018-09-04 
09:49:31.000000000 +0200
@@ -637,7 +637,7 @@
         if dist_needs_pkg_resources(dist):
             # We have a namespace package but no requirement for setuptools
             if dist.precedence == pkg_resources.DEVELOP_DIST:
-                logger.warn(
+                logger.warning(
                     "Develop distribution: %s\n"
                     "uses namespace packages but the distribution "
                     "does not require setuptools.",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/repeatable.txt 
new/zc.buildout-2.12.2/src/zc/buildout/repeatable.txt
--- old/zc.buildout-2.12.0/src/zc/buildout/repeatable.txt       2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/repeatable.txt       2018-09-04 
09:49:31.000000000 +0200
@@ -397,7 +397,7 @@
 
 The versions file now contains the extra pin:
 
-    >>> print_(open('my_versions.cfg').read()) # doctest: +ELLIPSIS
+    >>> with open('my_versions.cfg') as f: print_(f.read()) # doctest: 
+ELLIPSIS
     <BLANKLINE>
     ...
     # Added by buildout at YYYY-MM-DD hh:mm:ss.dddddd
@@ -437,7 +437,7 @@
 
 The versions file contains the extra pin:
 
-    >>> print_(open('my_versions.cfg').read()) # doctest: +ELLIPSIS
+    >>> with open('my_versions.cfg') as f: print_(f.read()) # doctest: 
+ELLIPSIS
     <BLANKLINE>
     [versions]
     ...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/rmtree.py 
new/zc.buildout-2.12.2/src/zc/buildout/rmtree.py
--- old/zc.buildout-2.12.0/src/zc/buildout/rmtree.py    2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/rmtree.py    2018-09-04 
09:49:31.000000000 +0200
@@ -40,7 +40,7 @@
     Now create a file ...
 
     >>> foo = os.path.join (d, 'foo')
-    >>> _ = open (foo, 'w').write ('huhu')
+    >>> with open (foo, 'w') as f: _ = f.write ('huhu')
 
     and make it unwriteable
 
@@ -75,4 +75,3 @@
 
 if "__main__" == __name__:
     doctest.testmod()
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/testing.py 
new/zc.buildout-2.12.2/src/zc/buildout/testing.py
--- old/zc.buildout-2.12.0/src/zc/buildout/testing.py   2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/testing.py   2018-09-04 
09:49:31.000000000 +0200
@@ -131,6 +131,19 @@
     # https://github.com/buildout/buildout/pull/311
     # http://bugs.python.org/issue19884
     env = dict(os.environ, TERM='dumb')
+
+    # Beginning in Python 3.4, 'U' mode to open() is deprecated.
+    # Python 3.7 changes the way deprecations are shown for main
+    # modules, and introduces $PYTHONDEVMODE which turns on warnigs in
+    # more places. If that's done, this leads many of our doctests to
+    # break; some code path through executing setup.py does this, but
+    # it's not in our code. Unfortunately, normalizing this printed
+    # line away doesn't work, it just produces a blank line. We resort
+    # to turning that warning off.
+    warnings = env.get('PYTHONWARNINGS', '')
+    env['PYTHONWARNINGS'] = "ignore:'U' mode is 
deprecated:DeprecationWarning::," + warnings
+
+
     p = subprocess.Popen(command,
                          shell=True,
                          stdin=subprocess.PIPE,
@@ -150,6 +163,7 @@
         # Use the with_exit_code=True parameter when you want to test the exit
         # code of the command you're running.
         output += 'EXIT CODE: %s' % p.wait()
+    p.wait()
     return output
 
 def get(url):
@@ -358,6 +372,7 @@
         sdist = sdist,
         bdist_egg = bdist_egg,
         start_server = start_server,
+        stop_server = stop_server,
         buildout = os.path.join(sample, 'bin', 'buildout'),
         wait_until = wait_until,
         print_ = print_,
@@ -395,6 +410,7 @@
 
     def do_GET(self):
         if '__stop__' in self.path:
+            self.__server.server_close()
             raise SystemExit
 
         def k():
@@ -466,6 +482,7 @@
     server_address = ('localhost', port)
     httpd = Server(tree, server_address, Handler)
     httpd.serve_forever()
+    httpd.server_close()
 
 def get_port():
     for i in range(10):
@@ -578,10 +595,10 @@
         re.compile('(\n?)d  __pycache__\n'), '\\1')
 else:
     normalize___pycache__ = (
-        re.compile('(\n?)-  \S+\.pyc\n'), '\\1')
+        re.compile(r'(\n?)-  \S+\.pyc\n'), '\\1')
 
 normalize_egg_py = (
-    re.compile('-py\d[.]\d(-\S+)?.egg'),
+    re.compile(r'-py\d[.]\d(-\S+)?.egg'),
     '-pyN.N.egg',
     )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/tests.py 
new/zc.buildout-2.12.2/src/zc/buildout/tests.py
--- old/zc.buildout-2.12.0/src/zc/buildout/tests.py     2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/tests.py     2018-09-04 
09:49:31.000000000 +0200
@@ -380,9 +380,10 @@
 
 def make_dist_that_requires(dest, name, requires=[], version=1, egg=''):
     os.mkdir(os.path.join(dest, name))
-    open(os.path.join(dest, name, 'setup.py'), 'w').write(
-        make_dist_that_requires_setup_py_template
-        % (name, version, requires)
+    with open(os.path.join(dest, name, 'setup.py'), 'w') as f:
+        f.write(
+            make_dist_that_requires_setup_py_template
+            % (name, version, requires)
         )
 
 def show_who_requires_when_there_is_a_conflict():
@@ -616,7 +617,7 @@
     ...         options['format'] = '%3d'
     ...
     ...     def install(self):
-    ...         open('t', 'w').write('t')
+    ...         with open('t', 'w') as f: f.write('t')
     ...         return 't'
     ...
     ...     update = install
@@ -2002,6 +2003,7 @@
         ...     p.stdin.close()
         ...     print_(p.stdout.read().decode())
         ...     print_('Exit:', bool(p.wait()))
+        ...     p.stdout.close()
 
         >>> call(buildout)
         <BLANKLINE>
@@ -2336,11 +2338,12 @@
     else:
         requires = ''
     try:
-        open(os.path.join(d, 'setup.py'), 'w').write(
-            'from setuptools import setup\n'
-            'setup(name=%r, version=%r, extras_require=%r, zip_safe=True,\n'
-            '      %s %s py_modules=["setup"]\n)'
-            % (name, str(version), extras, requires, links)
+        with open(os.path.join(d, 'setup.py'), 'w') as f:
+            f.write(
+                'from setuptools import setup\n'
+                'setup(name=%r, version=%r, extras_require=%r, 
zip_safe=True,\n'
+                '      %s %s py_modules=["setup"]\n)'
+                % (name, str(version), extras, requires, links)
             )
         zc.buildout.testing.bdist_egg(d, sys.executable, os.path.abspath(dest))
     finally:
@@ -2786,7 +2789,8 @@
     """
     There was a bug that caused extras in requirements to be lost.
 
-    >>> _ = open('setup.py', 'w').write('''
+    >>> with open('setup.py', 'w') as f:
+    ...    _ = f.write('''
     ... from setuptools import setup
     ... setup(name='extraversiondemo', version='1.0',
     ...       url='x', author='x', author_email='x',
@@ -3031,14 +3035,14 @@
     ... eggs = demo
     ... ''')
     >>> print_(system(join('bin', 'buildout')), end='') # doctest: +ELLIPSIS
-    Getting distribution for 'zc.recipe.egg<2dev,>=2.0.0a3'...
+    Getting distribution for 'zc.recipe.egg<2dev,>=2.0.6'...
     While:
       Installing.
       Getting section egg.
       Initializing section egg.
       Installing recipe zc.recipe.egg <2dev.
-      Getting distribution for 'zc.recipe.egg<2dev,>=2.0.0a3'.
-    Error: Couldn't find a distribution for 'zc.recipe.egg<2dev,>=2.0.0a3'.
+      Getting distribution for 'zc.recipe.egg<2dev,>=2.0.6'.
+    Error: Couldn't find a distribution for 'zc.recipe.egg<2dev,>=2.0.6'.
     """
 
 def macro_inheritance_bug():
@@ -3478,7 +3482,7 @@
         os.path.join(eggs, 'zc.recipe.egg'),
         )
 
-egg_parse = re.compile('([0-9a-zA-Z_.]+)-([0-9a-zA-Z_.]+)-py(\d[.]\d).egg$'
+egg_parse = re.compile(r'([0-9a-zA-Z_.]+)-([0-9a-zA-Z_.]+)-py(\d[.]\d).egg$'
                        ).match
 def makeNewRelease(project, ws, dest, version='99.99'):
     dist = ws.find(pkg_resources.Requirement.parse(project))
@@ -3500,9 +3504,11 @@
     else:
         shutil.copytree(dist.location, dest)
         info_path = os.path.join(dest, 'EGG-INFO', 'PKG-INFO')
-        info = open(info_path).read().replace("Version: %s" % oldver,
-                                              "Version: %s" % version)
-        open(info_path, 'w').write(info)
+        with open(info_path) as f:
+            info = f.read().replace("Version: %s" % oldver,
+                                    "Version: %s" % version)
+        with open(info_path, 'w') as f:
+            f.write(info)
 
 def getWorkingSetWithBuildoutEgg(test):
     sample_buildout = test.globs['sample_buildout']
@@ -3578,7 +3584,9 @@
     '#!/usr/local/bin/python2.7',
     )
 
+
 def test_suite():
+
     test_suite = [
         manuel.testing.TestSuite(
             manuel.doctest.Manuel() + manuel.capture.Manuel(),
@@ -3594,17 +3602,17 @@
                     zc.buildout.testing.not_found,
                     zc.buildout.testing.adding_find_link,
                     # (re.compile(r"Installing 'zc.buildout >=\S+"), ''),
-                    (re.compile('__buildout_signature__ = recipes-\S+'),
+                    (re.compile(r'__buildout_signature__ = recipes-\S+'),
                      '__buildout_signature__ = recipes-SSSSSSSSSSS'),
-                    (re.compile('executable = [\S ]+python\S*', re.I),
+                    (re.compile(r'executable = [\S ]+python\S*', re.I),
                      'executable = python'),
-                    (re.compile('[-d]  (setuptools|setuptools)-\S+[.]egg'),
+                    (re.compile(r'[-d]  (setuptools|setuptools)-\S+[.]egg'),
                      'setuptools.egg'),
-                    (re.compile('zc.buildout(-\S+)?[.]egg(-link)?'),
+                    (re.compile(r'zc.buildout(-\S+)?[.]egg(-link)?'),
                      'zc.buildout.egg'),
-                    (re.compile('creating \S*setup.cfg'), 'creating 
setup.cfg'),
-                    (re.compile('hello\%ssetup' % os.path.sep), 'hello/setup'),
-                    (re.compile('Picked: (\S+) = \S+'),
+                    (re.compile(r'creating \S*setup.cfg'), 'creating 
setup.cfg'),
+                    (re.compile(r'hello\%ssetup' % os.path.sep), 
'hello/setup'),
+                    (re.compile(r'Picked: (\S+) = \S+'),
                      'Picked: \\1 = V.V'),
                     (re.compile(r'We have a develop egg: zc.buildout (\S+)'),
                      'We have a develop egg: zc.buildout X.X.'),
@@ -3615,7 +3623,7 @@
                      '[Errno 17] File exists: '
                      ),
                     (re.compile('setuptools'), 'setuptools'),
-                    (re.compile('Got zc.recipe.egg \S+'), 'Got zc.recipe.egg'),
+                    (re.compile(r'Got zc.recipe.egg \S+'), 'Got 
zc.recipe.egg'),
                     (re.compile(r'zc\.(buildout|recipe\.egg)\s*= >=\S+'),
                      'zc.\\1 = >=1.99'),
                     ])
@@ -3639,20 +3647,20 @@
                # (re.compile(r"Installing 'zc.buildout >=\S+"), ''),
                # (re.compile(r"Getting distribution for 'zc.buildout >=\S+"),
                #  ''),
-               (re.compile('__buildout_signature__ = recipes-\S+'),
+               (re.compile(r'__buildout_signature__ = recipes-\S+'),
                 '__buildout_signature__ = recipes-SSSSSSSSSSS'),
-               (re.compile('[-d]  setuptools-\S+[.]egg'), 'setuptools.egg'),
-               (re.compile('zc.buildout(-\S+)?[.]egg(-link)?'),
+               (re.compile(r'[-d]  setuptools-\S+[.]egg'), 'setuptools.egg'),
+               (re.compile(r'zc.buildout(-\S+)?[.]egg(-link)?'),
                 'zc.buildout.egg'),
-               (re.compile('creating \S*setup.cfg'), 'creating setup.cfg'),
-               (re.compile('hello\%ssetup' % os.path.sep), 'hello/setup'),
-               (re.compile('Picked: (\S+) = \S+'),
+               (re.compile(r'creating \S*setup.cfg'), 'creating setup.cfg'),
+               (re.compile(r'hello\%ssetup' % os.path.sep), 'hello/setup'),
+               (re.compile(r'Picked: (\S+) = \S+'),
                 'Picked: \\1 = V.V'),
                (re.compile(r'We have a develop egg: zc.buildout (\S+)'),
                 'We have a develop egg: zc.buildout X.X.'),
                (re.compile(r'\\[\\]?'), '/'),
-               (re.compile('WindowsError'), 'OSError'),
-               (re.compile('setuptools = \S+'), 'setuptools = 0.7.99'),
+               (re.compile(r'WindowsError'), 'OSError'),
+               (re.compile(r'setuptools = \S+'), 'setuptools = 0.7.99'),
                (re.compile(r'\[Error 17\] Cannot create a file '
                            r'when that file already exists: '),
                 '[Errno 17] File exists: '
@@ -3688,7 +3696,7 @@
             optionflags=doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS,
             checker=renormalizing.RENormalizing([
                 (re.compile(r'(zc.buildout|setuptools)-\d+[.]\d+\S*'
-                            '-py\d.\d.egg'),
+                            r'-py\d.\d.egg'),
                  '\\1.egg'),
                 zc.buildout.testing.normalize_path,
                 zc.buildout.testing.normalize_endings,
@@ -3726,7 +3734,7 @@
                 zc.buildout.testing.not_found,
                 normalize_bang,
                 normalize_S,
-                (re.compile('[-d]  setuptools-\S+[.]egg'), 'setuptools.egg'),
+                (re.compile(r'[-d]  setuptools-\S+[.]egg'), 'setuptools.egg'),
                 (re.compile(r'\\[\\]?'), '/'),
                 (re.compile('(\n?)-  ([a-zA-Z_.-]+)\n-  \\2.exe\n'),
                  '\\1-  \\2\n'),
@@ -3771,18 +3779,18 @@
                 zc.buildout.testing.adding_find_link,
                 normalize_bang,
                 (re.compile(r'^(\w+\.)*(Missing\w+: )'), '\2'),
-                (re.compile("buildout: Running \S*setup.py"),
+                (re.compile(r"buildout: Running \S*setup.py"),
                  'buildout: Running setup.py'),
-                (re.compile('setuptools-\S+-'),
+                (re.compile(r'setuptools-\S+-'),
                  'setuptools.egg'),
-                (re.compile('zc.buildout-\S+-'),
+                (re.compile(r'zc.buildout-\S+-'),
                  'zc.buildout.egg'),
-                (re.compile('setuptools = \S+'), 'setuptools = 0.7.99'),
-                (re.compile('File "\S+one.py"'),
+                (re.compile(r'setuptools = \S+'), 'setuptools = 0.7.99'),
+                (re.compile(r'File "\S+one.py"'),
                  'File "one.py"'),
                 (re.compile(r'We have a develop egg: (\S+) (\S+)'),
                  r'We have a develop egg: \1 V'),
-                (re.compile('Picked: setuptools = \S+'),
+                (re.compile(r'Picked: setuptools = \S+'),
                  'Picked: setuptools = V'),
                 (re.compile('[-d]  setuptools'), '-  setuptools'),
                 (re.compile(r'\\[\\]?'), '/'),
@@ -3816,14 +3824,14 @@
                zc.buildout.testing.normalize_egg_py,
                zc.buildout.testing.not_found,
                zc.buildout.testing.adding_find_link,
-               (re.compile('__buildout_signature__ = recipes-\S+'),
+               (re.compile(r'__buildout_signature__ = recipes-\S+'),
                 '__buildout_signature__ = recipes-SSSSSSSSSSS'),
-               (re.compile('[-d]  setuptools-\S+[.]egg'), 'setuptools.egg'),
-               (re.compile('zc.buildout(-\S+)?[.]egg(-link)?'),
+               (re.compile(r'[-d]  setuptools-\S+[.]egg'), 'setuptools.egg'),
+               (re.compile(r'zc.buildout(-\S+)?[.]egg(-link)?'),
                 'zc.buildout.egg'),
-               (re.compile('creating \S*setup.cfg'), 'creating setup.cfg'),
-               (re.compile('hello\%ssetup' % os.path.sep), 'hello/setup'),
-               (re.compile('Picked: (\S+) = \S+'),
+               (re.compile(r'creating \S*setup.cfg'), 'creating setup.cfg'),
+               (re.compile(r'hello\%ssetup' % os.path.sep), 'hello/setup'),
+               (re.compile(r'Picked: (\S+) = \S+'),
                 'Picked: \\1 = V.V'),
                (re.compile(r'We have a develop egg: zc.buildout (\S+)'),
                 'We have a develop egg: zc.buildout X.X.'),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc/buildout/windows.txt 
new/zc.buildout-2.12.2/src/zc/buildout/windows.txt
--- old/zc.buildout-2.12.0/src/zc/buildout/windows.txt  2018-07-02 
11:21:22.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc/buildout/windows.txt  2018-09-04 
09:49:31.000000000 +0200
@@ -28,7 +28,7 @@
     ...             os.makedirs (self.location)
     ...
     ...         name = os.path.join (self.location, 'readonly.txt')
-    ...         open (name, 'w').write ('this is a read only file')
+    ...         with open (name, 'w') as f: f.write ('this is a read only 
file')
     ...         os.chmod(name, 256)
     ...         return ()
     ...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zc.buildout-2.12.0/src/zc.buildout.egg-info/PKG-INFO 
new/zc.buildout-2.12.2/src/zc.buildout.egg-info/PKG-INFO
--- old/zc.buildout-2.12.0/src/zc.buildout.egg-info/PKG-INFO    2018-07-02 
11:21:23.000000000 +0200
+++ new/zc.buildout-2.12.2/src/zc.buildout.egg-info/PKG-INFO    2018-09-04 
09:49:31.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: zc.buildout
-Version: 2.12.0
+Version: 2.12.2
 Summary: System for managing development buildouts
 Home-page: http://buildout.org
 Author: Jim Fulton
@@ -63,6 +63,21 @@
         Change History
         **************
         
+        2.12.2 (2018-09-04)
+        ===================
+        
+        - Upon an error, buildout exits with a non-zero exit code. This now 
also works
+          when running with ``-D``.
+        
+        - Fixed most 'Deprecation' and 'Resource' warnings.
+        
+        
+        2.12.1 (2018-07-02)
+        ===================
+        
+        - zc.buildout now explicitly requests zc.recipe.egg >=2.0.6 now.
+        
+        
         2.12.0 (2018-07-02)
         ===================
         


Reply via email to