Hello community, here is the log from the commit of package python3-amqp for openSUSE:Factory checked in at 2016-07-18 21:24:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-amqp (Old) and /work/SRC/openSUSE:Factory/.python3-amqp.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python3-amqp" Changes: -------- --- /work/SRC/openSUSE:Factory/python3-amqp/python3-amqp-doc.changes 2016-07-10 21:52:11.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python3-amqp.new/python3-amqp-doc.changes 2016-07-18 21:25:32.000000000 +0200 @@ -1,0 +2,14 @@ +Tue Jul 12 15:30:40 UTC 2016 - arun@gmx.de + +- update to version 2.0.3: + * SSLTransport: Fixed crash "no attribute sslopts" when "ssl=True" + (Issue #100). + * Fixed incompatible argument spec for "Connection.Close" (Issue + #45). This caused the RabbitMQ server to raise an exception + (INTERNAL ERROR). + * Transport: No longer implements `__del__` to make sure gc can + collect connections. It's the responsibility of the caller to + close connections, this was simply a relic from the amqplib + library. + +------------------------------------------------------------------- python3-amqp.changes: same change Old: ---- amqp-2.0.2.tar.gz New: ---- amqp-2.0.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-amqp-doc.spec ++++++ --- /var/tmp/diff_new_pack.BS1YgW/_old 2016-07-18 21:25:34.000000000 +0200 +++ /var/tmp/diff_new_pack.BS1YgW/_new 2016-07-18 21:25:34.000000000 +0200 @@ -17,7 +17,7 @@ Name: python3-amqp-doc -Version: 2.0.2 +Version: 2.0.3 Release: 0 Summary: Documentation for python3-amqp License: LGPL-2.1 python3-amqp.spec: same change ++++++ amqp-2.0.2.tar.gz -> amqp-2.0.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/Changelog new/amqp-2.0.3/Changelog --- old/amqp-2.0.2/Changelog 2016-06-11 02:41:53.000000000 +0200 +++ new/amqp-2.0.3/Changelog 2016-07-12 05:05:10.000000000 +0200 @@ -5,11 +5,31 @@ The previous amqplib changelog is here: http://code.google.com/p/py-amqplib/source/browse/CHANGES +.. _version-2.0.3: + +2.0.3 +===== +:release-date: 2016-07-11 08:00 P.M PDT +:release-by: Ask Solem + +- SSLTransport: Fixed crash "no attribute sslopts" when ``ssl=True`` + (Issue #100). + +- Fixed incompatible argument spec for ``Connection.Close`` (Issue #45). + + This caused the RabbitMQ server to raise an exception (INTERNAL ERROR). + +- Transport: No longer implements `__del__` to make sure gc can collect + connections. + + It's the responsibility of the caller to close connections, this was + simply a relic from the amqplib library. + .. _version-2.0.2: 2.0.2 ===== -:release-date: 2016-06-10 5:40 PM PDT +:release-date: 2016-06-10 5:40 P.M PDT :release-by: Ask Solem - Python 3: Installation requirements ended up being a generator @@ -33,7 +53,7 @@ 2.0.1 ===== -:release-date: 2016-05-31 6:20 PM PDT +:release-date: 2016-05-31 6:20 P.M PDT :release-by: Ask Solem - Adds backward compatibility layer for the 1.4 API. @@ -64,7 +84,7 @@ 2.0.0 ===== -:release-date: 2016-05-26 1:44 PM PDT +:release-date: 2016-05-26 1:44 P.M PDT :release-by: Ask Solem - No longer supports Python 2.6 @@ -122,10 +142,10 @@ 1.4.9 ===== -:release-date: 2016-01-08 5:50 PM PST +:release-date: 2016-01-08 5:50 P.M PST :release-by: Ask Solem -- Fixes compatibility with Linux/OS X instances where the ``ctypes`` module +- Fixes compatibility with Linux/macOS instances where the ``ctypes`` module does not exist. Fix contributed by Jared Lewis. @@ -134,7 +154,7 @@ 1.4.8 ===== -:release-date: 2015-12-07 12:25 AM +:release-date: 2015-12-07 12:25 A.M :release-by: Ask Solem - ``abstract_channel.wait`` now accepts a float `timeout` parameter expressed @@ -149,7 +169,7 @@ :release-date: 2015-10-02 05:30 P.M PDT :release-by: Ask Solem -- Fixed libSystem error on OS X 10.11 (El Capitan) +- Fixed libSystem error on macOS 10.11 (El Capitan) Fix contributed by Eric Wang. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/PKG-INFO new/amqp-2.0.3/PKG-INFO --- old/amqp-2.0.2/PKG-INFO 2016-06-11 02:42:33.000000000 +0200 +++ new/amqp-2.0.3/PKG-INFO 2016-07-12 05:13:13.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: amqp -Version: 2.0.2 +Version: 2.0.3 Summary: Low-level AMQP client for Python (fork of amqplib) Home-page: http://github.com/celery/py-amqp Author: Ask Solem @@ -10,9 +10,9 @@ Python AMQP 0.9.1 client library ===================================================================== - |build-status| |coverage| |bitdeli| + |build-status| |coverage| - :Version: 2.0.2 + :Version: 2.0.3 :Web: https://amqp.readthedocs.io/ :Download: http://pypi.python.org/pypi/amqp/ :Source: http://github.com/celery/py-amqp/ @@ -116,10 +116,6 @@ .. |coverage| image:: https://codecov.io/github/celery/py-amqp/coverage.svg?branch=master :target: https://codecov.io/github/celery/py-amqp?branch=master - .. |bitdeli| image:: https://d2weczhvl823v0.cloudfront.net/celery/py-amqp/trend.png - :alt: Bitdeli badge - :target: https://bitdeli.com/free - Platform: any Classifier: Development Status :: 5 - Production/Stable diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/README.rst new/amqp-2.0.3/README.rst --- old/amqp-2.0.2/README.rst 2016-06-11 02:41:53.000000000 +0200 +++ new/amqp-2.0.3/README.rst 2016-07-12 05:09:45.000000000 +0200 @@ -2,9 +2,9 @@ Python AMQP 0.9.1 client library ===================================================================== -|build-status| |coverage| |bitdeli| +|build-status| |coverage| -:Version: 2.0.2 +:Version: 2.0.3 :Web: https://amqp.readthedocs.io/ :Download: http://pypi.python.org/pypi/amqp/ :Source: http://github.com/celery/py-amqp/ @@ -108,7 +108,3 @@ .. |coverage| image:: https://codecov.io/github/celery/py-amqp/coverage.svg?branch=master :target: https://codecov.io/github/celery/py-amqp?branch=master -.. |bitdeli| image:: https://d2weczhvl823v0.cloudfront.net/celery/py-amqp/trend.png - :alt: Bitdeli badge - :target: https://bitdeli.com/free - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/amqp/__init__.py new/amqp-2.0.3/amqp/__init__.py --- old/amqp-2.0.2/amqp/__init__.py 2016-06-11 02:41:53.000000000 +0200 +++ new/amqp-2.0.3/amqp/__init__.py 2016-07-12 05:09:45.000000000 +0200 @@ -16,15 +16,11 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 from __future__ import absolute_import, unicode_literals -from collections import namedtuple - -version_info_t = namedtuple( - 'version_info_t', ('major', 'minor', 'micro', 'releaselevel', 'serial'), -) +import re -VERSION = version_info = version_info_t(2, 0, 2, '', '') +from collections import namedtuple -__version__ = '{0.major}.{0.minor}.{0.micro}{0.releaselevel}'.format(VERSION) +__version__ = '2.0.3' __author__ = 'Barry Pederson' __maintainer__ = 'Ask Solem' __contact__ = 'pyamqp@celeryproject.org' @@ -33,6 +29,19 @@ # -eof meta- +version_info_t = namedtuple('version_info_t', ( + 'major', 'minor', 'micro', 'releaselevel', 'serial', +)) + +# bumpversion can only search for {current_version} +# so we have to parse the version here. +_temp = re.match( + r'(\d+).(\d+).(\d+)(.+)?', __version__).groups() +VERSION = version_info = version_info_t( + int(_temp[0]), int(_temp[1]), int(_temp[2]), _temp[3] or '', '') +del(_temp) +del(re) + # # Pull in the public items from the various sub-modules # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/amqp/channel.py new/amqp-2.0.3/amqp/channel.py --- old/amqp-2.0.2/amqp/channel.py 2016-06-01 03:00:25.000000000 +0200 +++ new/amqp-2.0.3/amqp/channel.py 2016-07-12 01:14:37.000000000 +0200 @@ -70,7 +70,7 @@ / S:CLOSE C:CLOSE-OK """ - _METHODS = set([ + _METHODS = { spec.method(spec.Channel.Close, 'BsBB'), spec.method(spec.Channel.CloseOk), spec.method(spec.Channel.Flow, 'b'), @@ -99,7 +99,7 @@ spec.method(spec.Tx.SelectOk), spec.method(spec.Confirm.SelectOk), spec.method(spec.Basic.Ack, 'Lb'), - ]) + } _METHODS = {m.method_sig: m for m in _METHODS} def __init__(self, connection, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/amqp/connection.py new/amqp-2.0.3/amqp/connection.py --- old/amqp-2.0.2/amqp/connection.py 2016-06-01 03:22:25.000000000 +0200 +++ new/amqp-2.0.3/amqp/connection.py 2016-07-12 04:43:57.000000000 +0200 @@ -120,7 +120,7 @@ #: Number of bytes received from socket at the last heartbeat check. prev_recv = None - _METHODS = set([ + _METHODS = { spec.method(spec.Connection.Start, 'ooFSS'), spec.method(spec.Connection.OpenOk), spec.method(spec.Connection.Secure, 's'), @@ -129,7 +129,7 @@ spec.method(spec.Connection.Blocked), spec.method(spec.Connection.Unblocked), spec.method(spec.Connection.CloseOk), - ]) + } _METHODS = {m.method_sig: m for m in _METHODS} connection_errors = ( @@ -446,7 +446,7 @@ ) def close(self, reply_code=0, reply_text='', method_sig=(0, 0), - argsig='BssBB'): + argsig='BsBB'): """Request a connection close diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/amqp/serialization.py new/amqp-2.0.3/amqp/serialization.py --- old/amqp-2.0.2/amqp/serialization.py 2016-06-08 02:41:15.000000000 +0200 +++ new/amqp-2.0.3/amqp/serialization.py 2016-07-12 01:14:37.000000000 +0200 @@ -375,7 +375,10 @@ elif isinstance(v, float): write(pack(b'>cd', b'd', v)) elif isinstance(v, int_types): - write(pack(b'>ci', b'I', v)) + if v > 2147483647 or v < -2147483647: + write(pack(b'>cq', b'L', v)) + else: + write(pack(b'>ci', b'I', v)) elif isinstance(v, Decimal): sign, digits, exponent = v.as_tuple() v = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/amqp/tests/test_connection.py new/amqp-2.0.3/amqp/tests/test_connection.py --- old/amqp-2.0.2/amqp/tests/test_connection.py 2016-06-01 03:00:25.000000000 +0200 +++ new/amqp-2.0.3/amqp/tests/test_connection.py 2016-07-12 04:47:34.000000000 +0200 @@ -237,7 +237,7 @@ def test_close(self): self.conn.close(reply_text='foo', method_sig=spec.Channel.Open) self.conn.send_method.assert_called_with( - spec.Connection.Close, 'BssBB', + spec.Connection.Close, 'BsBB', (0, 'foo', spec.Channel.Open[0], spec.Channel.Open[1]), wait=spec.Connection.CloseOk, ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/amqp/tests/test_serialization.py new/amqp-2.0.3/amqp/tests/test_serialization.py --- old/amqp-2.0.2/amqp/tests/test_serialization.py 2016-06-08 02:41:15.000000000 +0200 +++ new/amqp-2.0.3/amqp/tests/test_serialization.py 2016-07-12 01:14:37.000000000 +0200 @@ -67,6 +67,16 @@ ANY(), ], y[0]) + def test_int_boundaries(self): + format = b'F' + x = dumps(format, [ + {'a': -2147483649, 'b': 2147483648}, # celery/celery#3121 + ]) + y = loads(format, x) + self.assertListEqual([ + {'a': -2147483649, 'b': 2147483648}, # celery/celery#3121 + ], y[0]) + def test_loads_unknown_type(self): with self.assertRaises(FrameSyntaxError): loads('x', 'asdsad') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/amqp/tests/test_transport.py new/amqp-2.0.3/amqp/tests/test_transport.py --- old/amqp-2.0.2/amqp/tests/test_transport.py 2016-06-08 02:41:15.000000000 +0200 +++ new/amqp-2.0.3/amqp/tests/test_transport.py 2016-07-12 05:00:10.000000000 +0200 @@ -79,6 +79,7 @@ self.transp = transport.Transport( self.host, self.connect_timeout, ssl=True, ) + self.assertIsNotNone(self.transp.sslopts) self.transp.connect() self.assertIsNotNone(self.transp.sock) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/amqp/transport.py new/amqp-2.0.3/amqp/transport.py --- old/amqp-2.0.2/amqp/transport.py 2016-06-08 02:41:15.000000000 +0200 +++ new/amqp-2.0.3/amqp/transport.py 2016-07-12 04:58:20.000000000 +0200 @@ -125,18 +125,6 @@ if timeout != prev: sock.settimeout(prev) - def __del__(self): - try: - # socket module may have been collected by gc - # if this is called by a thread at shutdown. - if socket is not None: - try: - self.close() - except socket.error: - pass - finally: - self.sock = None - def _connect(self, host, port, timeout): entries = socket.getaddrinfo( host, port, 0, socket.SOCK_STREAM, SOL_TCP, @@ -275,8 +263,7 @@ """Transport that works over SSL""" def __init__(self, host, connect_timeout=None, ssl=None, **kwargs): - if isinstance(ssl, dict): - self.sslopts = ssl + self.sslopts = ssl if isinstance(ssl, dict) else {} self._read_buffer = EMPTY_BUFFER super(SSLTransport, self).__init__( host, connect_timeout=connect_timeout, **kwargs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/amqp.egg-info/PKG-INFO new/amqp-2.0.3/amqp.egg-info/PKG-INFO --- old/amqp-2.0.2/amqp.egg-info/PKG-INFO 2016-06-11 02:42:27.000000000 +0200 +++ new/amqp-2.0.3/amqp.egg-info/PKG-INFO 2016-07-12 05:12:38.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: amqp -Version: 2.0.2 +Version: 2.0.3 Summary: Low-level AMQP client for Python (fork of amqplib) Home-page: http://github.com/celery/py-amqp Author: Ask Solem @@ -10,9 +10,9 @@ Python AMQP 0.9.1 client library ===================================================================== - |build-status| |coverage| |bitdeli| + |build-status| |coverage| - :Version: 2.0.2 + :Version: 2.0.3 :Web: https://amqp.readthedocs.io/ :Download: http://pypi.python.org/pypi/amqp/ :Source: http://github.com/celery/py-amqp/ @@ -116,10 +116,6 @@ .. |coverage| image:: https://codecov.io/github/celery/py-amqp/coverage.svg?branch=master :target: https://codecov.io/github/celery/py-amqp?branch=master - .. |bitdeli| image:: https://d2weczhvl823v0.cloudfront.net/celery/py-amqp/trend.png - :alt: Bitdeli badge - :target: https://bitdeli.com/free - Platform: any Classifier: Development Status :: 5 - Production/Stable diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/amqp.egg-info/requires.txt new/amqp-2.0.3/amqp.egg-info/requires.txt --- old/amqp-2.0.2/amqp.egg-info/requires.txt 2016-06-11 02:42:27.000000000 +0200 +++ new/amqp-2.0.3/amqp.egg-info/requires.txt 2016-07-12 05:12:38.000000000 +0200 @@ -1 +1 @@ -vine>=1.1.0 +vine>=1.1.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/docs/includes/introduction.txt new/amqp-2.0.3/docs/includes/introduction.txt --- old/amqp-2.0.2/docs/includes/introduction.txt 2016-06-11 02:41:53.000000000 +0200 +++ new/amqp-2.0.3/docs/includes/introduction.txt 2016-07-12 05:09:45.000000000 +0200 @@ -1,4 +1,4 @@ -:Version: 2.0.2 +:Version: 2.0.3 :Web: https://amqp.readthedocs.io/ :Download: http://pypi.python.org/pypi/amqp/ :Source: http://github.com/celery/py-amqp/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/docs/templates/readme.txt new/amqp-2.0.3/docs/templates/readme.txt --- old/amqp-2.0.2/docs/templates/readme.txt 2016-06-01 03:00:25.000000000 +0200 +++ new/amqp-2.0.3/docs/templates/readme.txt 2016-07-12 01:14:37.000000000 +0200 @@ -2,7 +2,7 @@ Python AMQP 0.9.1 client library ===================================================================== -|build-status| |coverage| |bitdeli| +|build-status| |coverage| .. include:: ../includes/introduction.txt @@ -12,7 +12,3 @@ .. |coverage| image:: https://codecov.io/github/celery/py-amqp/coverage.svg?branch=master :target: https://codecov.io/github/celery/py-amqp?branch=master - -.. |bitdeli| image:: https://d2weczhvl823v0.cloudfront.net/celery/py-amqp/trend.png - :alt: Bitdeli badge - :target: https://bitdeli.com/free diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/requirements/default.txt new/amqp-2.0.3/requirements/default.txt --- old/amqp-2.0.2/requirements/default.txt 2016-06-01 03:00:25.000000000 +0200 +++ new/amqp-2.0.3/requirements/default.txt 2016-07-12 01:14:37.000000000 +0200 @@ -1 +1 @@ -vine>=1.1.0 +vine>=1.1.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/requirements/pkgutils.txt new/amqp-2.0.3/requirements/pkgutils.txt --- old/amqp-2.0.2/requirements/pkgutils.txt 2016-06-01 03:00:25.000000000 +0200 +++ new/amqp-2.0.3/requirements/pkgutils.txt 2016-07-12 01:14:37.000000000 +0200 @@ -4,3 +4,4 @@ flakeplus>=1.1 tox>=2.3.1 sphinx2rst>=1.0 +bumpversion diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/requirements/test.txt new/amqp-2.0.3/requirements/test.txt --- old/amqp-2.0.2/requirements/test.txt 2016-06-01 03:00:25.000000000 +0200 +++ new/amqp-2.0.3/requirements/test.txt 2016-07-12 01:14:37.000000000 +0200 @@ -1 +1 @@ -case>=1.1.2 +case>=1.2.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-2.0.2/setup.py new/amqp-2.0.3/setup.py --- old/amqp-2.0.2/setup.py 2016-06-08 02:41:15.000000000 +0200 +++ new/amqp-2.0.3/setup.py 2016-07-12 01:14:37.000000000 +0200 @@ -1,15 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -try: - from setuptools import setup, find_packages - from setuptools.command.test import test -except ImportError: - raise - from ez_setup import use_setuptools - use_setuptools() - from setuptools import setup, find_packages # noqa - from setuptools.command.test import test # noqa +from setuptools import setup, find_packages +from setuptools.command.test import test import os import re @@ -43,29 +36,18 @@ # -*- Distribution Meta -*- re_meta = re.compile(r'__(\w+?)__\s*=\s*(.*)') -re_vers = re.compile(r'VERSION\s*=.*?((.*?))') re_doc = re.compile(r'^"""(.+?)"""') -def rq(s): - return s.strip(""'") - - def add_default(m): attr_name, attr_value = m.groups() - return ((attr_name, rq(attr_value)),) - - -def add_version(m): - v = list(map(rq, m.groups()[0].split(', '))) - return (('VERSION', '.'.join(v[0:3]) + ''.join(v[3:])),) + return ((attr_name, attr_value.strip(""'")),) def add_doc(m): return (('doc', m.groups()[0]),) pats = {re_meta: add_default, - re_vers: add_version, re_doc: add_doc} here = os.path.abspath(os.path.dirname(__file__)) with open(os.path.join(here, 'amqp/__init__.py')) as meta_fh: @@ -105,13 +87,11 @@ else: long_description = 'See http://pypi.python.org/pypi/amqp' -# -*- Entry Points -*- # - # -*- %%% -*- setup( name=NAME, - version=meta['VERSION'], + version=meta['version'], description=meta['doc'], author=meta['author'], author_email=meta['contact'],