Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-zc.buildout for 
openSUSE:Factory checked in at 2026-05-20 15:24:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zc.buildout (Old)
 and      /work/SRC/openSUSE:Factory/.python-zc.buildout.new.1966 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-zc.buildout"

Wed May 20 15:24:42 2026 rev:27 rq:1354107 version:5.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-zc.buildout/python-zc.buildout.changes    
2026-03-15 14:32:55.168752766 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-zc.buildout.new.1966/python-zc.buildout.changes
  2026-05-20 15:25:40.060973701 +0200
@@ -1,0 +2,10 @@
+Tue May 19 21:11:36 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 5.2.0:
+  * Restrict setuptools to less than 82 if it is not pinned. When
+    zc.buildout checks if it should upgrade itself or setuptools,
+    under some circumstances this could lead to a too new
+    setuptools version getting installed. [maurits]
+  * Test with pip 26.1.  [maurits]
+
+-------------------------------------------------------------------

Old:
----
  zc_buildout-5.1.3.tar.gz

New:
----
  zc_buildout-5.2.0.tar.gz

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

Other differences:
------------------
++++++ python-zc.buildout.spec ++++++
--- /var/tmp/diff_new_pack.DiSp77/_old  2026-05-20 15:25:41.461031391 +0200
+++ /var/tmp/diff_new_pack.DiSp77/_new  2026-05-20 15:25:41.465031556 +0200
@@ -19,7 +19,7 @@
 %bcond_without libalternatives
 %{?sle15_python_module_pythons}
 Name:           python-zc.buildout
-Version:        5.1.3
+Version:        5.2.0
 Release:        0
 Summary:        System for managing development buildouts
 License:        ZPL-2.1

++++++ zc_buildout-5.1.3.tar.gz -> zc_buildout-5.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/buildout-5.1.3/.github/workflows/run-tests.yml 
new/buildout-5.2.0/.github/workflows/run-tests.yml
--- old/buildout-5.1.3/.github/workflows/run-tests.yml  2026-03-06 
21:29:56.000000000 +0100
+++ new/buildout-5.2.0/.github/workflows/run-tests.yml  2026-04-29 
09:54:09.000000000 +0200
@@ -101,7 +101,7 @@
       matrix:
         os: [ubuntu-24.04]
         python-version: ["3.10"]
-        pip-version: ["21.3.1", "22.3.1", "23.3.2", "24.3.1", "25.3", "26.0.1"]
+        pip-version: ["21.3.1", "22.3.1", "23.3.2", "24.3.1", "25.3", "26.1"]
         setuptools-version: ["65.7.0", "75.8.2"]
     runs-on: ${{ matrix.os }}
     steps:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/buildout-5.1.3/CHANGES.rst 
new/buildout-5.2.0/CHANGES.rst
--- old/buildout-5.1.3/CHANGES.rst      2026-03-06 21:29:56.000000000 +0100
+++ new/buildout-5.2.0/CHANGES.rst      2026-04-29 09:54:09.000000000 +0200
@@ -8,6 +8,23 @@
 
 .. towncrier release notes start
 
+5.2.0 (2026-04-29)
+------------------
+
+New features:
+
+
+- Restrict ``setuptools`` to less than 82 if it is not pinned.
+  When ``zc.buildout`` checks if it should upgrade itself or ``setuptools``, 
under some circumstances this could lead to a too new ``setuptools`` version 
getting installed.
+  [maurits]
+
+
+Tests:
+
+
+- Test with ``pip`` 26.1.  [maurits]
+
+
 5.1.3 (2026-03-06)
 ------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/buildout-5.1.3/setup.py new/buildout-5.2.0/setup.py
--- old/buildout-5.1.3/setup.py 2026-03-06 21:29:56.000000000 +0100
+++ new/buildout-5.2.0/setup.py 2026-04-29 09:54:09.000000000 +0200
@@ -12,7 +12,7 @@
 #
 ##############################################################################
 name = "zc.buildout"
-version = "5.1.3"
+version = "5.2.0"
 
 import os
 from setuptools import setup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/buildout-5.1.3/src/zc/buildout/easy_install.py 
new/buildout-5.2.0/src/zc/buildout/easy_install.py
--- old/buildout-5.1.3/src/zc/buildout/easy_install.py  2026-03-06 
21:29:56.000000000 +0100
+++ new/buildout-5.2.0/src/zc/buildout/easy_install.py  2026-04-29 
09:54:09.000000000 +0200
@@ -352,6 +352,34 @@
     )
 
 
+class IncompatibleConstraintError(zc.buildout.UserError):
+    """A specified version is incompatible with a given requirement.
+    """
+
+IncompatibleVersionError = IncompatibleConstraintError # Backward compatibility
+
+
+def _constrained_requirement(constraint, requirement):
+    assert isinstance(requirement, pkg_resources.Requirement)
+    if constraint[0] not in '<>':
+        if constraint.startswith('='):
+            assert constraint.startswith('==')
+            version = constraint[2:]
+        else:
+            version = constraint
+            constraint = '==' + constraint
+        if version not in requirement:
+            msg = ("The requirement (%r) is not allowed by your [versions] "
+                   "constraint (%s)" % (str(requirement), version))
+            raise IncompatibleConstraintError(msg)
+        specifier = specifiers.SpecifierSet(constraint)
+    else:
+        specifier = requirement.specifier & constraint
+    constrained = copy.deepcopy(requirement)
+    constrained.specifier = specifier
+    return pkg_resources.Requirement.parse(str(constrained))
+
+
 class Installer(object):
 
     _versions = {}
@@ -796,6 +824,18 @@
             except IncompatibleConstraintError:
                 logger.info(self._version_conflict_information(canonical_name))
                 raise
+        elif requirement.project_name == "setuptools":
+            # Restrict setuptools to less than 82 if it is not pinned.
+            # Especially when zc.buildout checks if it should upgrade itself
+            # or setuptools, under some circumstances this could lead to a
+            # too new setuptools version getting installed.
+            # See https://github.com/buildout/buildout/issues/744
+            try:
+                requirement = _constrained_requirement('<82',
+                                                       requirement)
+            except IncompatibleConstraintError:
+                logger.info(self._version_conflict_information(canonical_name))
+                raise
 
         return requirement
 
@@ -1864,34 +1904,6 @@
         req, ws = self.data
         return "Couldn't find a distribution for %r." % str(req)
 
-def _constrained_requirement(constraint, requirement):
-    assert isinstance(requirement, pkg_resources.Requirement)
-    if constraint[0] not in '<>':
-        if constraint.startswith('='):
-            assert constraint.startswith('==')
-            version = constraint[2:]
-        else:
-            version = constraint
-            constraint = '==' + constraint
-        if version not in requirement:
-            msg = ("The requirement (%r) is not allowed by your [versions] "
-                   "constraint (%s)" % (str(requirement), version))
-            raise IncompatibleConstraintError(msg)
-        specifier = specifiers.SpecifierSet(constraint)
-    else:
-        specifier = requirement.specifier & constraint
-    constrained = copy.deepcopy(requirement)
-    constrained.specifier = specifier
-    return pkg_resources.Requirement.parse(str(constrained))
-
-
-class IncompatibleConstraintError(zc.buildout.UserError):
-    """A specified version is incompatible with a given requirement.
-    """
-
-IncompatibleVersionError = IncompatibleConstraintError # Backward compatibility
-
-
 def call_pip_install(spec, dest, editable=False):
     """
     Call `pip install` from a subprocess to install a

Reply via email to