Hello community,
here is the log from the commit of package python-zodbpickle for
openSUSE:Factory checked in at 2019-06-18 14:58:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zodbpickle (Old)
and /work/SRC/openSUSE:Factory/.python-zodbpickle.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zodbpickle"
Tue Jun 18 14:58:17 2019 rev:4 rq:710333 version:1.0.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-zodbpickle/python-zodbpickle.changes
2019-04-12 09:15:47.685728266 +0200
+++
/work/SRC/openSUSE:Factory/.python-zodbpickle.new.4811/python-zodbpickle.changes
2019-06-18 14:58:26.337327994 +0200
@@ -1,0 +2,6 @@
+Mon Jun 17 11:10:54 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Update to 1.0.4:
+ * Fix pickle corruption under certain conditions. See pull request 47.
+
+-------------------------------------------------------------------
Old:
----
zodbpickle-1.0.3.tar.gz
New:
----
zodbpickle-1.0.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zodbpickle.spec ++++++
--- /var/tmp/diff_new_pack.9vQPD8/_old 2019-06-18 14:58:29.205326347 +0200
+++ /var/tmp/diff_new_pack.9vQPD8/_new 2019-06-18 14:58:29.209326345 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-zodbpickle
-Version: 1.0.3
+Version: 1.0.4
Release: 0
Summary: Fork of Python 3 pickle module
License: Python-2.0 AND ZPL-2.1
++++++ zodbpickle-1.0.3.tar.gz -> zodbpickle-1.0.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zodbpickle-1.0.3/.gitignore
new/zodbpickle-1.0.4/.gitignore
--- old/zodbpickle-1.0.3/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/zodbpickle-1.0.4/.gitignore 2019-06-12 07:55:59.000000000 +0200
@@ -0,0 +1,16 @@
+*.egg-info
+*.pyc
+*.so
+.coverage
+.coverage.py*
+.dir-locals.el
+.installed.cfg
+.tox
+__pycache__
+bin
+build
+coverage.xml
+develop-eggs
+dist
+htmlcov
+parts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zodbpickle-1.0.3/.travis.yml
new/zodbpickle-1.0.4/.travis.yml
--- old/zodbpickle-1.0.3/.travis.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/zodbpickle-1.0.4/.travis.yml 2019-06-12 07:55:59.000000000 +0200
@@ -0,0 +1,76 @@
+language: python
+sudo: false
+python:
+ - 2.7
+ - 3.4
+ - 3.5
+ - 3.6
+ - pypy
+ - pypy3
+matrix:
+ include:
+ - python: 3.7
+ dist: xenial
+ sudo: true
+ # It's important to use 'macpython' builds to get the least
+ # restrictive wheel tag. It's also important to avoid
+ # 'homebrew 3' because it floats instead of being a specific version.
+ - os: osx
+ language: generic
+ 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
+ env: TERRYFY_PYTHON='macpython 3.6.1'
+ - os: osx
+ language: generic
+ env: TERRYFY_PYTHON='macpython 3.7.0'
+ - services:
+ - docker
+ env: DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
+ before_install:
+ - if [[ $TRAVIS_TAG ]]; then bash .manylinux.sh; fi
+ - exit 0
+ - services:
+ - docker
+ env:
+ - DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
+ - PRE_CMD=linux32
+ before_install:
+ - if [[ $TRAVIS_TAG ]]; then bash .manylinux.sh; fi
+ - exit 0
+before_install:
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then git clone
https://github.com/MacPython/terryfy; fi
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then source
terryfy/travis_tools.sh; fi
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then get_python_environment
$TERRYFY_PYTHON venv; fi
+install:
+ - pip install -U pip setuptools
+ - pip install -U coveralls coverage
+ - pip install .
+script:
+ - coverage run setup.py test -q
+notifications:
+ email: false
+after_success:
+ - coveralls
+ - echo [distutils] > ~/.pypirc
+ - echo index-servers = pypi >> ~/.pypirc
+ - echo [pypi] >> ~/.pypirc
+ - echo username=zope.wheelbuilder >> ~/.pypirc
+ - echo password=$PYPIPASSWORD >> ~/.pypirc
+ - if [[ $TRAVIS_TAG && "$TRAVIS_OS_NAME" == "osx" ]]; then pip install
twine; fi
+ - if [[ $TRAVIS_TAG && "$TRAVIS_OS_NAME" == "osx" ]]; then python setup.py
bdist_wheel; fi
+ - if [[ $TRAVIS_TAG && "$TRAVIS_OS_NAME" == "osx" ]]; then twine upload
dist/*; fi
+env:
+ global:
+ secure:
"edbJQIhe7grjaug7dxExoyB0zkrLca5IphzuQd2IfjGjBCY6Dn+QEBtDOMOcPjUsSvgxWL2XG2ZGIFF33bsoFlq0bZFPMtv5ZQ6jcpYQEpPX61fHsNzPs2RXavpHgHFC4aXt1o7jH7aSeImV98WWsNZTL5rhW4aHbgOM/jnnWdc="
+
+cache: pip
+
+before_cache:
+ - rm -f $HOME/.cache/pip/log/debug.log
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zodbpickle-1.0.3/CHANGES.rst
new/zodbpickle-1.0.4/CHANGES.rst
--- old/zodbpickle-1.0.3/CHANGES.rst 2018-12-18 15:43:47.000000000 +0100
+++ new/zodbpickle-1.0.4/CHANGES.rst 2019-06-12 07:55:59.000000000 +0200
@@ -2,6 +2,13 @@
Changelog
===========
+1.0.4 (2019-06-12)
+==================
+
+- Fix pickle corruption under certain conditions. See `pull request 47
+ <https://github.com/zopefoundation/zodbpickle/pull/47>`_.
+
+
1.0.3 (2018-12-18)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zodbpickle-1.0.3/PKG-INFO
new/zodbpickle-1.0.4/PKG-INFO
--- old/zodbpickle-1.0.3/PKG-INFO 2018-12-18 15:43:48.000000000 +0100
+++ new/zodbpickle-1.0.4/PKG-INFO 2019-06-12 07:56:00.000000000 +0200
@@ -1,7 +1,7 @@
Metadata-Version: 2.1
Name: zodbpickle
-Version: 1.0.3
-Summary: Fork of Python 3 pickle module.
+Version: 1.0.4
+Summary: Fork of Python 2 and 3 pickle module.
Home-page: https://github.com/zopefoundation/zodbpickle
Author: Python and Zope Foundation
Author-email: [email protected]
@@ -177,6 +177,13 @@
Changelog
===========
+ 1.0.4 (2019-06-12)
+ ==================
+
+ - Fix pickle corruption under certain conditions. See `pull request 47
+ <https://github.com/zopefoundation/zodbpickle/pull/47>`_.
+
+
1.0.3 (2018-12-18)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zodbpickle-1.0.3/setup.py
new/zodbpickle-1.0.4/setup.py
--- old/zodbpickle-1.0.3/setup.py 2018-12-18 15:43:47.000000000 +0100
+++ new/zodbpickle-1.0.4/setup.py 2019-06-12 07:55:59.000000000 +0200
@@ -42,8 +42,8 @@
setup(
name='zodbpickle',
- version='1.0.3',
- description='Fork of Python 3 pickle module.',
+ version='1.0.4',
+ description='Fork of Python 2 and 3 pickle module.',
author='Python and Zope Foundation',
author_email='[email protected]',
url='https://github.com/zopefoundation/zodbpickle',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zodbpickle-1.0.3/src/zodbpickle/_pickle_33.c
new/zodbpickle-1.0.4/src/zodbpickle/_pickle_33.c
--- old/zodbpickle-1.0.3/src/zodbpickle/_pickle_33.c 2018-12-18
15:43:47.000000000 +0100
+++ new/zodbpickle-1.0.4/src/zodbpickle/_pickle_33.c 2019-06-12
07:55:59.000000000 +0200
@@ -736,7 +736,7 @@
PyErr_NoMemory();
return -1;
}
- self->max_output_len = (self->output_len + n) / 2 * 3;
+ self->max_output_len = (self->output_len + n) / 2 * 3 + 1;
if (_PyBytes_Resize(&self->output_buffer, self->max_output_len) <
0)
return -1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zodbpickle-1.0.3/src/zodbpickle/tests/pickletester_3.py
new/zodbpickle-1.0.4/src/zodbpickle/tests/pickletester_3.py
--- old/zodbpickle-1.0.3/src/zodbpickle/tests/pickletester_3.py 2018-12-18
15:43:47.000000000 +0100
+++ new/zodbpickle-1.0.4/src/zodbpickle/tests/pickletester_3.py 2019-06-12
07:55:59.000000000 +0200
@@ -1272,6 +1272,29 @@
else:
self._check_pickling_with_opcode(obj, pickle.SETITEMS, proto)
+ def test_corrupted_pickle(self):
+ # Former C implementation produced corrupted pickles on these samples.
+ # See https://github.com/zopefoundation/zodbpickle/pull/47
+ sample1 = ['a'] * 17509
+ dumped = self.dumps(sample1, 0)
+ loaded = self.loads(dumped)
+ self.assertEqual(loaded, sample1)
+
+ sample2 = ['a'] * 34992
+ dumped = self.dumps(sample2, 1)
+ loaded = self.loads(dumped)
+ self.assertEqual(loaded, sample2)
+
+ sample3 = ['a'] * 34991
+ dumped = self.dumps(sample3, 2)
+ loaded = self.loads(dumped)
+ self.assertEqual(loaded, sample3)
+
+ sample4 = ['a'] * 34991
+ dumped = self.dumps(sample4, 3)
+ loaded = self.loads(dumped)
+ self.assertEqual(loaded, sample4)
+
class AbstractBytestrTests(unittest.TestCase):
def unpickleEqual(self, data, unpickled):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zodbpickle-1.0.3/src/zodbpickle.egg-info/PKG-INFO
new/zodbpickle-1.0.4/src/zodbpickle.egg-info/PKG-INFO
--- old/zodbpickle-1.0.3/src/zodbpickle.egg-info/PKG-INFO 2018-12-18
15:43:48.000000000 +0100
+++ new/zodbpickle-1.0.4/src/zodbpickle.egg-info/PKG-INFO 2019-06-12
07:56:00.000000000 +0200
@@ -1,7 +1,7 @@
Metadata-Version: 2.1
Name: zodbpickle
-Version: 1.0.3
-Summary: Fork of Python 3 pickle module.
+Version: 1.0.4
+Summary: Fork of Python 2 and 3 pickle module.
Home-page: https://github.com/zopefoundation/zodbpickle
Author: Python and Zope Foundation
Author-email: [email protected]
@@ -177,6 +177,13 @@
Changelog
===========
+ 1.0.4 (2019-06-12)
+ ==================
+
+ - Fix pickle corruption under certain conditions. See `pull request 47
+ <https://github.com/zopefoundation/zodbpickle/pull/47>`_.
+
+
1.0.3 (2018-12-18)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zodbpickle-1.0.3/src/zodbpickle.egg-info/SOURCES.txt
new/zodbpickle-1.0.4/src/zodbpickle.egg-info/SOURCES.txt
--- old/zodbpickle-1.0.3/src/zodbpickle.egg-info/SOURCES.txt 2018-12-18
15:43:48.000000000 +0100
+++ new/zodbpickle-1.0.4/src/zodbpickle.egg-info/SOURCES.txt 2019-06-12
07:56:00.000000000 +0200
@@ -1,6 +1,8 @@
.coveragerc
+.gitignore
.manylinux-install.sh
.manylinux.sh
+.travis.yml
CHANGES.rst
LICENSE.txt
MANIFEST.in