diff -Nru pyzmq-14.4.0/debian/changelog pyzmq-14.4.1/debian/changelog --- pyzmq-14.4.0/debian/changelog 2014-10-26 16:47:20.000000000 +0000 +++ pyzmq-14.4.1/debian/changelog 2015-01-20 09:27:07.000000000 +0000 @@ -1,3 +1,9 @@ +pyzmq (14.4.1-0ubuntu1) vivid; urgency=medium + + * New upstream point release. + + -- James Page Tue, 20 Jan 2015 09:27:05 +0000 + pyzmq (14.4.0-1build1) vivid; urgency=medium * No-change rebuild against PyPy 2.4.0 diff -Nru pyzmq-14.4.0/debian/control pyzmq-14.4.1/debian/control --- pyzmq-14.4.0/debian/control 2014-10-21 17:43:03.000000000 +0000 +++ pyzmq-14.4.1/debian/control 2015-01-19 22:21:04.000000000 +0000 @@ -1,7 +1,8 @@ Source: pyzmq Section: python Priority: optional -Maintainer: Debian Python Modules Team +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian Python Modules Team Uploaders: Julian Taylor Build-Depends: cython (>= 0.16), cython-dbg (>= 0.16), diff -Nru pyzmq-14.4.0/docs/source/changelog.rst pyzmq-14.4.1/docs/source/changelog.rst --- pyzmq-14.4.0/docs/source/changelog.rst 2014-10-17 21:28:37.000000000 +0000 +++ pyzmq-14.4.1/docs/source/changelog.rst 2014-10-31 18:10:35.000000000 +0000 @@ -9,6 +9,16 @@ This is a coarse summary of changes in pyzmq versions. For a real changelog, consult the `git log `_ + +14.4.1 +====== + +Bugfixes for 14.4 + +- SyntaxError on Python 2.6 in zmq.ssh +- Handle possible bug in garbage collection after fork + + 14.4.0 ====== @@ -30,6 +40,10 @@ 14.3.1 ====== +.. note:: + + pyzmq-14.3.1 is the last version to include bdists for Python 3.3 + Minor bugfixes to pyzmq 14.3: - Fixes to building bundled libzmq on OS X < 10.9 diff -Nru pyzmq-14.4.0/MANIFEST.in pyzmq-14.4.1/MANIFEST.in --- pyzmq-14.4.0/MANIFEST.in 2014-10-17 21:28:37.000000000 +0000 +++ pyzmq-14.4.1/MANIFEST.in 2014-10-31 18:10:35.000000000 +0000 @@ -10,6 +10,7 @@ include setupegg.py include zmqversion.py include tox.ini +include tools include .travis.yml graft docs diff -Nru pyzmq-14.4.0/README.md pyzmq-14.4.1/README.md --- pyzmq-14.4.0/README.md 2014-10-17 21:28:37.000000000 +0000 +++ pyzmq-14.4.1/README.md 2014-10-31 18:10:35.000000000 +0000 @@ -46,15 +46,16 @@ For more detail on building pyzmq, see [our Wiki](https://github.com/zeromq/pyzmq/wiki/Building-and-Installing-PyZMQ). -We build eggs and wheels for OS X and Windows, so you can get a binary on those platforms with either: +We build wheels for OS X and Windows, so you can get a binary installer on those platforms with: pip install pyzmq -or - - easy_install pyzmq - but compiling from source with `pip install pyzmq` should work in most environments. +If the wheel doesn't work for some reason, or you want to force pyzmq to be compiled +(this is often preferable if you already have libzmq installed and configured the way you want it), +you can force installation with: + + pip install --no-use-wheel pyzmq When compiling pyzmq (e.g. installing with pip on Linux), it is generally recommended that zeromq be installed separately, @@ -69,7 +70,7 @@ If this is not available, pyzmq will *try* to build libzmq as a Python Extension, though this is not guaranteed to work. -To build pyzmq from the git repo (including release tags) requires Cython. +Building pyzmq from the git repo (including release tags on GitHub) requires Cython. ## Old versions diff -Nru pyzmq-14.4.0/tools/release_windows.bat pyzmq-14.4.1/tools/release_windows.bat --- pyzmq-14.4.0/tools/release_windows.bat 1970-01-01 00:00:00.000000000 +0000 +++ pyzmq-14.4.1/tools/release_windows.bat 2014-10-31 18:10:35.000000000 +0000 @@ -0,0 +1,51 @@ +@echo off +REM build a pyzmq release on Windows +REM 32+64b eggs on Python 27, and wheels on 27, 34 +REM that's 6 bdists +REM requires Windows SDK 7.0 (for py2) and 7.1 (for py3) +REM and Python installed in the locations: C:\Python34 (32b) and C:\Python34_64 (64b) + +REM run with cmd /k tools/release_windows.bat + +setlocal EnableDelayedExpansion + +set SDKS=C:\Program Files\Microsoft SDKs\Windows +set SDK7=%SDKS%\v7.0 +set SDK71=%SDKS%\v7.1 +set DISTUTILS_USE_SDK=1 +set UPLOAD=%~1 +set PYROOT=C:\ + +for %%p in (34, 27) do ( + if "%%p"=="27" ( + set SDK=%SDK7% + ) else ( + set SDK=%SDK71% + ) + + if "%%p"=="34" ( + set cmd=build bdist_wheel --zmq=bundled %UPLOAD% + ) else ( + set cmd=build bdist_egg bdist_wheel --zmq=bundled %UPLOAD% + ) + for %%b in (64, 32) do ( + if "%%b"=="64" ( + set SUFFIX=_64 + set ARCH=/x64 + ) else ( + set SUFFIX= + set ARCH=/x86 + ) + set PY=%PYROOT%\Python%%p!SUFFIX!\Python + echo !PY! !SDK! + !PY! -m pip install --upgrade setuptools pip wheel + + @call "!SDK!\Bin\SetEnv.cmd" /release !ARCH! + if !errorlevel! neq 0 exit /b !errorlevel! + @echo on + !PY! setupegg.py !cmd! + @echo off + if !errorlevel! neq 0 exit !errorlevel! + ) +) +exit diff -Nru pyzmq-14.4.0/tools/tasks.py pyzmq-14.4.1/tools/tasks.py --- pyzmq-14.4.0/tools/tasks.py 2014-10-17 21:28:37.000000000 +0000 +++ pyzmq-14.4.1/tools/tasks.py 2014-10-31 18:10:35.000000000 +0000 @@ -32,11 +32,10 @@ py_exes = { '2.7' : "/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7", - '3.3' : "/Library/Frameworks/Python.framework/Versions/3.3/bin/python3.3", '3.4' : "/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4", 'pypy': "/usr/local/bin/pypy", } -egg_pys = {'2.7', '3.3'} +egg_pys = {'2.7'} tmp = "/tmp" env_root = os.path.join(tmp, 'envs') @@ -213,8 +212,10 @@ @task def gh_pages(): - py = make_env('2.7', 'cython', 'sphinx') + py = make_env('2.7', 'cython', 'sphinx', 'numpydoc', 'gevent') + bin = os.path.dirname(py) with cd(repo_root): - run([py, 'setup.py', 'install']) + run([py, 'setup.py', 'install', '--zmq=bundled']) with cd(pjoin(repo_root, 'docs')): + os.environ['PATH'] = '%s:%s' % (bin, os.environ['PATH']) run('make gh-pages') diff -Nru pyzmq-14.4.0/zmq/backend/cffi/_verify.c pyzmq-14.4.1/zmq/backend/cffi/_verify.c --- pyzmq-14.4.0/zmq/backend/cffi/_verify.c 2014-10-17 21:28:37.000000000 +0000 +++ pyzmq-14.4.1/zmq/backend/cffi/_verify.c 2014-10-31 18:10:35.000000000 +0000 @@ -9,4 +9,4 @@ int get_ipc_path_max_len(void) { struct sockaddr_un *dummy; return sizeof(dummy->sun_path) - 1; -} \ No newline at end of file +} diff -Nru pyzmq-14.4.0/zmq/ssh/tunnel.py pyzmq-14.4.1/zmq/ssh/tunnel.py --- pyzmq-14.4.0/zmq/ssh/tunnel.py 2014-10-17 21:28:37.000000000 +0000 +++ pyzmq-14.4.1/zmq/ssh/tunnel.py 2014-10-31 18:10:35.000000000 +0000 @@ -83,9 +83,12 @@ if keyfile: cmd += ' -i ' + keyfile cmd += ' exit' - p = pexpect.spawn(cmd, - env={v:os.environ[v] if v!='SSH_ASKPASS' - else False for v in os.environ}) + + # pop SSH_ASKPASS from env + env = os.environ.copy() + env.pop('SSH_ASKPASS', None) + + p = pexpect.spawn(cmd, env=env) while True: try: p.expect('[Pp]assword:', timeout=.1) @@ -217,9 +220,12 @@ return pid cmd = "%s -f -S none -L 127.0.0.1:%i:%s:%i %s sleep %i" % ( ssh, lport, remoteip, rport, server, timeout) - tunnel = pexpect.spawn(cmd, - env={v:os.environ[v] if v!='SSH_ASKPASS' - else False for v in os.environ}) + + # pop SSH_ASKPASS from env + env = os.environ.copy() + env.pop('SSH_ASKPASS', None) + + tunnel = pexpect.spawn(cmd, env=env) failed = False while True: try: diff -Nru pyzmq-14.4.0/zmq/sugar/version.py pyzmq-14.4.1/zmq/sugar/version.py --- pyzmq-14.4.0/zmq/sugar/version.py 2014-10-17 21:28:37.000000000 +0000 +++ pyzmq-14.4.1/zmq/sugar/version.py 2014-10-31 18:10:35.000000000 +0000 @@ -9,7 +9,7 @@ VERSION_MAJOR = 14 VERSION_MINOR = 4 -VERSION_PATCH = 0 +VERSION_PATCH = 1 VERSION_EXTRA = "" __version__ = '%i.%i.%i' % (VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH) diff -Nru pyzmq-14.4.0/zmq/tests/test_imports.py pyzmq-14.4.1/zmq/tests/test_imports.py --- pyzmq-14.4.0/zmq/tests/test_imports.py 2014-10-17 21:28:37.000000000 +0000 +++ pyzmq-14.4.1/zmq/tests/test_imports.py 2014-10-31 18:10:35.000000000 +0000 @@ -54,5 +54,9 @@ from zmq.utils import strtypes from zmq.utils import jsonapi + def test_ssh(self): + """test ssh imports""" + from zmq.ssh import tunnel + diff -Nru pyzmq-14.4.0/zmq/tests/test_socket.py pyzmq-14.4.1/zmq/tests/test_socket.py --- pyzmq-14.4.0/zmq/tests/test_socket.py 2014-10-17 21:28:37.000000000 +0000 +++ pyzmq-14.4.1/zmq/tests/test_socket.py 2014-10-31 18:10:35.000000000 +0000 @@ -141,7 +141,7 @@ if sopt.startswith(( 'ROUTER', 'XPUB', 'TCP', 'FAIL', 'REQ_', 'CURVE_', 'PROBE_ROUTER', - 'IPC_FILTER', + 'IPC_FILTER', 'GSSAPI', )): # some sockopts are write-only continue diff -Nru pyzmq-14.4.0/zmq/utils/garbage.py pyzmq-14.4.1/zmq/utils/garbage.py --- pyzmq-14.4.0/zmq/utils/garbage.py 2014-10-17 21:28:37.000000000 +0000 +++ pyzmq-14.4.1/zmq/utils/garbage.py 2014-10-31 18:10:35.000000000 +0000 @@ -29,9 +29,13 @@ self.ready = Event() def run(self): + # detect fork at begining of the thread + if getpid is None or getpid() != self.pid: + return s = self.gc.context.socket(zmq.PULL) s.linger = 0 s.bind(self.gc.url) + self.ready.set() while True: