Hello community, here is the log from the commit of package python-BTrees for openSUSE:Factory checked in at 2019-08-06 15:11:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-BTrees (Old) and /work/SRC/openSUSE:Factory/.python-BTrees.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-BTrees" Tue Aug 6 15:11:49 2019 rev:7 rq:721097 version:4.6.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-BTrees/python-BTrees.changes 2019-02-11 21:27:32.447010824 +0100 +++ /work/SRC/openSUSE:Factory/.python-BTrees.new.4126/python-BTrees.changes 2019-08-06 15:11:54.523740641 +0200 @@ -1,0 +2,12 @@ +Mon Aug 5 11:36:26 UTC 2019 - pgaj...@suse.com + +- version update to 4.6.0 + * Drop support for Python 3.4. + * Fix tests against persistent 4.4. + * Stop accidentally installing the 'terryfy' package in macOS wheels. + See `issue 98 + <https://github.com/zopefoundation/BTrees/issues/98>`_. + * Fix segmentation fault in ``bucket_repr()``. See + `issue 106 <https://github.com/zopefoundation/BTrees/issue/106>`_. + +------------------------------------------------------------------- Old: ---- BTrees-4.5.1.tar.gz New: ---- BTrees-4.6.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-BTrees.spec ++++++ --- /var/tmp/diff_new_pack.AAi5A5/_old 2019-08-06 15:11:54.987740541 +0200 +++ /var/tmp/diff_new_pack.AAi5A5/_new 2019-08-06 15:11:54.987740541 +0200 @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-BTrees -Version: 4.5.1 +Version: 4.6.0 Release: 0 Summary: Persistent B-tree object containers for Python License: ZPL-2.1 ++++++ BTrees-4.5.1.tar.gz -> BTrees-4.6.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/BTrees-4.5.1/.travis.yml new/BTrees-4.6.0/.travis.yml --- old/BTrees-4.5.1/.travis.yml 2018-08-10 00:17:35.000000000 +0200 +++ new/BTrees-4.6.0/.travis.yml 2019-07-30 10:36:48.000000000 +0200 @@ -1,5 +1,5 @@ language: python -sudo: false +dist: xenial matrix: include: - os: linux @@ -8,8 +8,6 @@ python: 2.7 env: PURE_PYTHON=1 - os: linux - python: 3.4 - - os: linux python: 3.5 - os: linux python: 3.6 @@ -21,8 +19,6 @@ - WITH_COVERAGE=1 - os: linux python: 3.7 - dist: xenial - sudo: true - os: linux python: pypy - os: linux @@ -35,9 +31,6 @@ env: TERRYFY_PYTHON='macpython 2.7' - os: osx language: generic - env: TERRYFY_PYTHON='macpython 3.4' - - os: osx - language: generic env: TERRYFY_PYTHON='macpython 3.5' - os: osx language: generic diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/BTrees-4.5.1/BTrees/BucketTemplate.c new/BTrees-4.6.0/BTrees/BucketTemplate.c --- old/BTrees-4.5.1/BTrees/BucketTemplate.c 2018-08-10 00:17:35.000000000 +0200 +++ new/BTrees-4.6.0/BTrees/BucketTemplate.c 2019-07-30 10:36:48.000000000 +0200 @@ -1814,51 +1814,40 @@ bucket_repr(Bucket *self) { PyObject *i, *r; -#ifdef PY3K - PyObject *rb; -#endif +#ifndef PY3K char repr[10000]; int rv; +#endif i = bucket_items(self, NULL, NULL); if (!i) { return NULL; } +#ifdef PY3K + r = PyUnicode_FromFormat("%s(%R)", Py_TYPE(self)->tp_name, i); + Py_DECREF(i); + return r; +#else r = PyObject_Repr(i); Py_DECREF(i); if (!r) { return NULL; } -#ifdef PY3K - rb = PyUnicode_AsLatin1String(r); - rv = PyOS_snprintf(repr, sizeof(repr), - "%s(%s)", Py_TYPE(self)->tp_name, - PyBytes_AsString(rb)); - Py_DECREF(rb); -#else rv = PyOS_snprintf(repr, sizeof(repr), "%s(%s)", Py_TYPE(self)->tp_name, PyBytes_AS_STRING(r)); -#endif if (rv > 0 && (size_t)rv < sizeof(repr)) { Py_DECREF(r); -#ifdef PY3K - return PyUnicode_DecodeLatin1(repr, strlen(repr), "surrogateescape"); -#else return PyBytes_FromStringAndSize(repr, strlen(repr)); -#endif } else { /* The static buffer wasn't big enough */ int size; PyObject *s; -#ifdef PY3K - PyObject *result; -#endif /* 3 for the parens and the null byte */ size = strlen(Py_TYPE(self)->tp_name) + PyBytes_GET_SIZE(r) + 3; s = PyBytes_FromStringAndSize(NULL, size); @@ -1869,14 +1858,9 @@ PyOS_snprintf(PyBytes_AS_STRING(s), size, "%s(%s)", Py_TYPE(self)->tp_name, PyBytes_AS_STRING(r)); Py_DECREF(r); -#ifdef PY3K - result = PyUnicode_FromEncodedObject(s, "latin1", "surrogateescape"); - Py_DECREF(s); - return result; -#else return s; -#endif } +#endif } static PyTypeObject BucketType = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/BTrees-4.5.1/BTrees/tests/common.py new/BTrees-4.6.0/BTrees/tests/common.py --- old/BTrees-4.5.1/BTrees/tests/common.py 2018-08-10 00:17:35.000000000 +0200 +++ new/BTrees-4.6.0/BTrees/tests/common.py 2019-07-30 10:36:48.000000000 +0200 @@ -365,6 +365,7 @@ t = self._makeOne() for i in range(5): t[i] = i + t._p_oid = b'12345678' r = repr(t) # Make sure the repr is **not* 10000 bytes long for a shrort bucket. # (the buffer must be terminated when copied). @@ -374,9 +375,14 @@ self.assertTrue(r.startswith("BTrees")) self.assertTrue(r.endswith(repr(t.items()) + ')'), r) else: - self.assertEqual(r[:8], '<BTrees.') + # persistent-4.4 changed the default reprs, adding + # oid and jar reprs + self.assertIn("<BTrees.", r) + self.assertIn('BTree object at', r) + self.assertIn('oid 0x3132333435363738', r) + # Make sure it's the same between Python and C - self.assertTrue('Py' not in r) + self.assertNotIn('Py', r) def testRepr(self): # test the repr because buckets have a complex repr implementation @@ -1379,6 +1385,7 @@ t = self._makeOne() for i in range(5): t.add(i) + t._p_oid = b'12345678' r = repr(t) # Make sure the repr is **not* 10000 bytes long for a shrort bucket. # (the buffer must be terminated when copied). @@ -1387,9 +1394,14 @@ if 'TreeSet' not in r: self.assertTrue(r.endswith("Set(%r)" % t.keys())) else: - self.assertEqual(r[:7], '<BTrees', r) + # persistent-4.4 changed the default reprs, adding + # oid and jar reprs + self.assertIn("<BTrees.", r) + self.assertIn('TreeSet object at', r) + self.assertIn('oid 0x3132333435363738', r) + # Make sure it's the same between Python and C - self.assertTrue('Py' not in r) + self.assertNotIn('Py', r) def testInsertReturnsValue(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/BTrees-4.5.1/BTrees/tests/testBTreesUnicode.py new/BTrees-4.6.0/BTrees/tests/testBTreesUnicode.py --- old/BTrees-4.5.1/BTrees/tests/testBTreesUnicode.py 2018-08-10 00:17:35.000000000 +0200 +++ new/BTrees-4.6.0/BTrees/tests/testBTreesUnicode.py 2019-07-30 10:36:48.000000000 +0200 @@ -72,5 +72,18 @@ self.assertTrue(isinstance(k, str)) self.assertEqual(self.tree[k], v) + +class TestBTreeBucketUnicode(unittest.TestCase): + + def testUnicodeRepr(self): + # Regression test for + # https://github.com/zopefoundation/BTrees/issues/106 + items = [(1, u'\uaabb')] + from BTrees.OOBTree import OOBucket + bucket = OOBucket(items) + self.assertEqual(repr(bucket), + 'BTrees.OOBTree.OOBucket(%s)' % repr(items)) + + def test_suite(): - return unittest.makeSuite(TestBTreesUnicode) + return unittest.defaultTestLoader.loadTestsFromName(__name__) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/BTrees-4.5.1/BTrees.egg-info/PKG-INFO new/BTrees-4.6.0/BTrees.egg-info/PKG-INFO --- old/BTrees-4.5.1/BTrees.egg-info/PKG-INFO 2018-08-10 00:17:36.000000000 +0200 +++ new/BTrees-4.6.0/BTrees.egg-info/PKG-INFO 2019-07-30 10:36:54.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: BTrees -Version: 4.5.1 +Version: 4.6.0 Summary: Scalable persistent object containers Home-page: https://github.com/zopefoundation/BTrees Author: Zope Foundation @@ -39,6 +39,21 @@ ``BTrees`` Changelog ==================== + 4.6.0 (2019-07-30) + ------------------ + + - Drop support for Python 3.4. + + - Fix tests against persistent 4.4. + + - Stop accidentally installing the 'terryfy' package in macOS wheels. + See `issue 98 + <https://github.com/zopefoundation/BTrees/issues/98>`_. + + - Fix segmentation fault in ``bucket_repr()``. See + `issue 106 <https://github.com/zopefoundation/BTrees/issue/106>`_. + + 4.5.1 (2018-08-09) ------------------ @@ -320,7 +335,6 @@ Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 @@ -331,6 +345,6 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: Unix +Provides-Extra: ZODB Provides-Extra: docs Provides-Extra: test -Provides-Extra: ZODB diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/BTrees-4.5.1/BTrees.egg-info/requires.txt new/BTrees-4.6.0/BTrees.egg-info/requires.txt --- old/BTrees-4.5.1/BTrees.egg-info/requires.txt 2018-08-10 00:17:36.000000000 +0200 +++ new/BTrees-4.6.0/BTrees.egg-info/requires.txt 2019-07-30 10:36:54.000000000 +0200 @@ -9,5 +9,6 @@ repoze.sphinx.autointerface [test] +persistent>=4.4.3 transaction zope.testrunner diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/BTrees-4.5.1/CHANGES.rst new/BTrees-4.6.0/CHANGES.rst --- old/BTrees-4.5.1/CHANGES.rst 2018-08-10 00:17:35.000000000 +0200 +++ new/BTrees-4.6.0/CHANGES.rst 2019-07-30 10:36:48.000000000 +0200 @@ -1,6 +1,21 @@ ``BTrees`` Changelog ==================== +4.6.0 (2019-07-30) +------------------ + +- Drop support for Python 3.4. + +- Fix tests against persistent 4.4. + +- Stop accidentally installing the 'terryfy' package in macOS wheels. + See `issue 98 + <https://github.com/zopefoundation/BTrees/issues/98>`_. + +- Fix segmentation fault in ``bucket_repr()``. See + `issue 106 <https://github.com/zopefoundation/BTrees/issue/106>`_. + + 4.5.1 (2018-08-09) ------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/BTrees-4.5.1/MANIFEST.in new/BTrees-4.6.0/MANIFEST.in --- old/BTrees-4.5.1/MANIFEST.in 2018-08-10 00:17:35.000000000 +0200 +++ new/BTrees-4.6.0/MANIFEST.in 2019-07-30 10:36:48.000000000 +0200 @@ -1,3 +1,4 @@ +prune terryfy include pyproject.toml include *.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/BTrees-4.5.1/PKG-INFO new/BTrees-4.6.0/PKG-INFO --- old/BTrees-4.5.1/PKG-INFO 2018-08-10 00:17:36.000000000 +0200 +++ new/BTrees-4.6.0/PKG-INFO 2019-07-30 10:36:54.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: BTrees -Version: 4.5.1 +Version: 4.6.0 Summary: Scalable persistent object containers Home-page: https://github.com/zopefoundation/BTrees Author: Zope Foundation @@ -39,6 +39,21 @@ ``BTrees`` Changelog ==================== + 4.6.0 (2019-07-30) + ------------------ + + - Drop support for Python 3.4. + + - Fix tests against persistent 4.4. + + - Stop accidentally installing the 'terryfy' package in macOS wheels. + See `issue 98 + <https://github.com/zopefoundation/BTrees/issues/98>`_. + + - Fix segmentation fault in ``bucket_repr()``. See + `issue 106 <https://github.com/zopefoundation/BTrees/issue/106>`_. + + 4.5.1 (2018-08-09) ------------------ @@ -320,7 +335,6 @@ Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 @@ -331,6 +345,6 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: Unix +Provides-Extra: ZODB Provides-Extra: docs Provides-Extra: test -Provides-Extra: ZODB diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/BTrees-4.5.1/setup.py new/BTrees-4.6.0/setup.py --- old/BTrees-4.5.1/setup.py 2018-08-10 00:17:35.000000000 +0200 +++ new/BTrees-4.6.0/setup.py 2019-07-30 10:36:48.000000000 +0200 @@ -12,7 +12,7 @@ # ############################################################################## from __future__ import print_function -version = '4.5.1' +version = '4.6.0' import os import sys @@ -138,6 +138,9 @@ ] TESTS_REQUIRE = [ + # Our tests check for the new repr strings + # generated in persistent 4.4. + 'persistent >= 4.4.3', 'transaction', 'zope.testrunner', ] @@ -150,13 +153,12 @@ "Development Status :: 6 - Mature", "License :: OSI Approved :: Zope Public License", "Programming Language :: Python", - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Framework :: ZODB", @@ -170,7 +172,9 @@ url="https://github.com/zopefoundation/BTrees", license="ZPL 2.1", platforms=["any"], - packages=find_packages(), + # Make sure we don't get 'terryfy' included in wheels + # created on macOS CI + packages=find_packages(include=("BTrees",)), include_package_data=True, zip_safe=False, ext_modules=ext_modules, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/BTrees-4.5.1/tox.ini new/BTrees-4.6.0/tox.ini --- old/BTrees-4.5.1/tox.ini 2018-08-10 00:17:35.000000000 +0200 +++ new/BTrees-4.6.0/tox.ini 2019-07-30 10:36:48.000000000 +0200 @@ -3,26 +3,17 @@ # Jython support pending 2.7 support, due 2012-07-15 or so. See: # http://fwierzbicki.blogspot.com/2012/03/adconion-to-fund-jython-27.html # py27,jython,pypy,coverage,docs - py27,py27-pure,pypy,py34,py35,py35-pure,py36,py37,pypy3,w_zodb,coverage,docs + py27,py27-pure,py35,py35-pure,py36,py37,pypy,pypy3,w_zodb,coverage,docs [testenv] usedevelop = true -deps = - .[test] +extras = + test commands = zope-testrunner --test-path=. --auto-color --auto-progress [] - -[testenv:py27-pure] -basepython = - python2.7 setenv = - PURE_PYTHON = 1 - -[testenv:py35-pure] -basepython = - python3.5 -setenv = - PURE_PYTHON = 1 + PYTHONFAULTHANDLER=1 + pure: PURE_PYTHON=1 #[testenv:jython] #commands = @@ -32,7 +23,6 @@ basepython = python2.7 deps = - {[testenv]deps} ZODB [testenv:coverage] @@ -42,7 +32,6 @@ coverage run -m zope.testrunner --test-path=. --auto-color --auto-progress [] coverage report --fail-under=92 deps = - {[testenv]deps} coverage [testenv:docs] @@ -51,5 +40,5 @@ commands = sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html sphinx-build -b doctest -d docs/_build/doctrees docs docs/_build/doctest -deps = - .[docs] +extras = + docs