Mon Dec 12 14:27:39 2016 UTC ()
Updated py-foolscap to 0.12.5.

* Release 0.12.5 (07-Dec-2016)

** Connection Status Reporting

This release adds an object named `ConnectionInfo`, which encapsulates
information about a connection (both progress while being established, and
the outcome once connected). This includes which connection hint was
successful, what happened with the other hints, which handlers were used for
each, and when the connection was made or lost. To get one of these, use
`tub.getConnectionInfoForFURL(furl)` any time after `getReference()` is
called, or `rref.getConnectionInfo()` after it resolves.  #267

It also adds `ReconnectionInfo`, a similar object for Reconnectors. These
capture the state of reconnection process (trying, established, waiting), and
will provide a `ConnectionInfo` for the most recent (possibly successful)
connection attempt. The API is `reconnector.getReconnectionInfo()`.  #268

For details, see "Connection Progress/Status" and "Reconnector Status" in
`doc/using-foolscap.rst`.

** Connection Handler API Changes

To support `ConnectionInfo`, the Connection Handler API was changed.

The one backwards-incompatible change was that the `hint_to_endpoint()`
method now takes a third argument, to update the status as the handler makes
progress. External handler functions will need to be modified to accept this
new argument, and applications which use them should declare a dependency
upon the latest Foolscap version, to avoid runtime breakage.

Several backwards-compatible changes were made too: handlers can provide a
`describe()` method (which feeds `ConnectionInfo.connectionHandlers`), and
they can now set a special attribute on any exception they raise, to further
influence the status string.

In addition, the `tor.control_endpoint_maker()` handler now accepts an
optional second argument, which causes the maker function to be called with a
additional `update_status` argument. This backwards-compatible change allows
the maker function to influence the `ConnectionInfo` status too.

The Tor connection handler was enhanced to report distinct statuses for the
different phases of connection: launching a new copy of Tor, connecting to an
existing Tor daemon, etc.

** Minor Fixes

Foolscap-0.12.0 broke `flappserver create`, causing the command to hang
rather than exiting cleanly (although the flappserver directory itself was
probably created properly). This release finally fixes it.  #271


(wiz)
diff -r1.23 -r1.24 pkgsrc/net/py-foolscap/Makefile
diff -r1.9 -r1.10 pkgsrc/net/py-foolscap/PLIST
diff -r1.15 -r1.16 pkgsrc/net/py-foolscap/distinfo

cvs diff -r1.23 -r1.24 pkgsrc/net/py-foolscap/Makefile (expand / switch to unified diff)

--- pkgsrc/net/py-foolscap/Makefile 2016/10/19 12:54:04 1.23
+++ pkgsrc/net/py-foolscap/Makefile 2016/12/12 14:27:39 1.24
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.23 2016/10/19 12:54:04 wiz Exp $ 1# $NetBSD: Makefile,v 1.24 2016/12/12 14:27:39 wiz Exp $
2 2
3DISTNAME= foolscap-0.12.4 3DISTNAME= foolscap-0.12.5
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
5CATEGORIES= net python 5CATEGORIES= net python
6MASTER_SITES= ${MASTER_SITE_PYPI:=f/foolscap/} 6MASTER_SITES= ${MASTER_SITE_PYPI:=f/foolscap/}
7 7
8MAINTAINER= kamel.derouiche@gmail.com 8MAINTAINER= kamel.derouiche@gmail.com
9#MAINTAINER+= gdt@NetBSD.org 9#MAINTAINER+= gdt@NetBSD.org
10HOMEPAGE= http://foolscap.lothar.com/trac 10HOMEPAGE= http://foolscap.lothar.com/trac
11COMMENT= Foolscap contains an RPC protocol for Twisted 11COMMENT= Foolscap contains an RPC protocol for Twisted
12LICENSE= mit 12LICENSE= mit
13 13
14DEPENDS+= ${PYPKGPREFIX}-ZopeInterface>=3.6.1:../../devel/py-ZopeInterface 14DEPENDS+= ${PYPKGPREFIX}-ZopeInterface>=3.6.1:../../devel/py-ZopeInterface
15DEPENDS+= ${PYPKGPREFIX}-twisted>=16.0:../../net/py-twisted 15DEPENDS+= ${PYPKGPREFIX}-twisted>=16.0:../../net/py-twisted
16DEPENDS+= ${PYPKGPREFIX}-OpenSSL>=0.6:../../security/py-OpenSSL 16DEPENDS+= ${PYPKGPREFIX}-OpenSSL>=0.6:../../security/py-OpenSSL

cvs diff -r1.9 -r1.10 pkgsrc/net/py-foolscap/PLIST (expand / switch to unified diff)

--- pkgsrc/net/py-foolscap/PLIST 2016/09/01 16:54:32 1.9
+++ pkgsrc/net/py-foolscap/PLIST 2016/12/12 14:27:39 1.10
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.9 2016/09/01 16:54:32 wiz Exp $ 1@comment $NetBSD: PLIST,v 1.10 2016/12/12 14:27:39 wiz Exp $
2bin/flappclient 2bin/flappclient
3bin/flappserver 3bin/flappserver
4bin/flogtool 4bin/flogtool
5${PYSITELIB}/${EGG_INFODIR}/PKG-INFO 5${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
6${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt 6${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
7${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt 7${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
8${PYSITELIB}/${EGG_INFODIR}/entry_points.txt 8${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
9${PYSITELIB}/${EGG_INFODIR}/requires.txt 9${PYSITELIB}/${EGG_INFODIR}/requires.txt
10${PYSITELIB}/${EGG_INFODIR}/top_level.txt 10${PYSITELIB}/${EGG_INFODIR}/top_level.txt
11${PYSITELIB}/foolscap/__init__.py 11${PYSITELIB}/foolscap/__init__.py
12${PYSITELIB}/foolscap/__init__.pyc 12${PYSITELIB}/foolscap/__init__.pyc
13${PYSITELIB}/foolscap/__init__.pyo 13${PYSITELIB}/foolscap/__init__.pyo
14${PYSITELIB}/foolscap/_version.py 14${PYSITELIB}/foolscap/_version.py
@@ -67,26 +67,29 @@ ${PYSITELIB}/foolscap/constraint.pyc @@ -67,26 +67,29 @@ ${PYSITELIB}/foolscap/constraint.pyc
67${PYSITELIB}/foolscap/constraint.pyo 67${PYSITELIB}/foolscap/constraint.pyo
68${PYSITELIB}/foolscap/copyable.py 68${PYSITELIB}/foolscap/copyable.py
69${PYSITELIB}/foolscap/copyable.pyc 69${PYSITELIB}/foolscap/copyable.pyc
70${PYSITELIB}/foolscap/copyable.pyo 70${PYSITELIB}/foolscap/copyable.pyo
71${PYSITELIB}/foolscap/crypto.py 71${PYSITELIB}/foolscap/crypto.py
72${PYSITELIB}/foolscap/crypto.pyc 72${PYSITELIB}/foolscap/crypto.pyc
73${PYSITELIB}/foolscap/crypto.pyo 73${PYSITELIB}/foolscap/crypto.pyo
74${PYSITELIB}/foolscap/eventual.py 74${PYSITELIB}/foolscap/eventual.py
75${PYSITELIB}/foolscap/eventual.pyc 75${PYSITELIB}/foolscap/eventual.pyc
76${PYSITELIB}/foolscap/eventual.pyo 76${PYSITELIB}/foolscap/eventual.pyo
77${PYSITELIB}/foolscap/furl.py 77${PYSITELIB}/foolscap/furl.py
78${PYSITELIB}/foolscap/furl.pyc 78${PYSITELIB}/foolscap/furl.pyc
79${PYSITELIB}/foolscap/furl.pyo 79${PYSITELIB}/foolscap/furl.pyo
 80${PYSITELIB}/foolscap/info.py
 81${PYSITELIB}/foolscap/info.pyc
 82${PYSITELIB}/foolscap/info.pyo
80${PYSITELIB}/foolscap/ipb.py 83${PYSITELIB}/foolscap/ipb.py
81${PYSITELIB}/foolscap/ipb.pyc 84${PYSITELIB}/foolscap/ipb.pyc
82${PYSITELIB}/foolscap/ipb.pyo 85${PYSITELIB}/foolscap/ipb.pyo
83${PYSITELIB}/foolscap/logging/__init__.py 86${PYSITELIB}/foolscap/logging/__init__.py
84${PYSITELIB}/foolscap/logging/__init__.pyc 87${PYSITELIB}/foolscap/logging/__init__.pyc
85${PYSITELIB}/foolscap/logging/__init__.pyo 88${PYSITELIB}/foolscap/logging/__init__.pyo
86${PYSITELIB}/foolscap/logging/app_versions.py 89${PYSITELIB}/foolscap/logging/app_versions.py
87${PYSITELIB}/foolscap/logging/app_versions.pyc 90${PYSITELIB}/foolscap/logging/app_versions.pyc
88${PYSITELIB}/foolscap/logging/app_versions.pyo 91${PYSITELIB}/foolscap/logging/app_versions.pyo
89${PYSITELIB}/foolscap/logging/cli.py 92${PYSITELIB}/foolscap/logging/cli.py
90${PYSITELIB}/foolscap/logging/cli.pyc 93${PYSITELIB}/foolscap/logging/cli.pyc
91${PYSITELIB}/foolscap/logging/cli.pyo 94${PYSITELIB}/foolscap/logging/cli.pyo
92${PYSITELIB}/foolscap/logging/dumper.py 95${PYSITELIB}/foolscap/logging/dumper.py
@@ -229,26 +232,29 @@ ${PYSITELIB}/foolscap/test/test_connecti @@ -229,26 +232,29 @@ ${PYSITELIB}/foolscap/test/test_connecti
229${PYSITELIB}/foolscap/test/test_connection.pyo 232${PYSITELIB}/foolscap/test/test_connection.pyo
230${PYSITELIB}/foolscap/test/test_copyable.py 233${PYSITELIB}/foolscap/test/test_copyable.py
231${PYSITELIB}/foolscap/test/test_copyable.pyc 234${PYSITELIB}/foolscap/test/test_copyable.pyc
232${PYSITELIB}/foolscap/test/test_copyable.pyo 235${PYSITELIB}/foolscap/test/test_copyable.pyo
233${PYSITELIB}/foolscap/test/test_crypto.py 236${PYSITELIB}/foolscap/test/test_crypto.py
234${PYSITELIB}/foolscap/test/test_crypto.pyc 237${PYSITELIB}/foolscap/test/test_crypto.pyc
235${PYSITELIB}/foolscap/test/test_crypto.pyo 238${PYSITELIB}/foolscap/test/test_crypto.pyo
236${PYSITELIB}/foolscap/test/test_eventual.py 239${PYSITELIB}/foolscap/test/test_eventual.py
237${PYSITELIB}/foolscap/test/test_eventual.pyc 240${PYSITELIB}/foolscap/test/test_eventual.pyc
238${PYSITELIB}/foolscap/test/test_eventual.pyo 241${PYSITELIB}/foolscap/test/test_eventual.pyo
239${PYSITELIB}/foolscap/test/test_gifts.py 242${PYSITELIB}/foolscap/test/test_gifts.py
240${PYSITELIB}/foolscap/test/test_gifts.pyc 243${PYSITELIB}/foolscap/test/test_gifts.pyc
241${PYSITELIB}/foolscap/test/test_gifts.pyo 244${PYSITELIB}/foolscap/test/test_gifts.pyo
 245${PYSITELIB}/foolscap/test/test_info.py
 246${PYSITELIB}/foolscap/test/test_info.pyc
 247${PYSITELIB}/foolscap/test/test_info.pyo
242${PYSITELIB}/foolscap/test/test_interfaces.py 248${PYSITELIB}/foolscap/test/test_interfaces.py
243${PYSITELIB}/foolscap/test/test_interfaces.pyc 249${PYSITELIB}/foolscap/test/test_interfaces.pyc
244${PYSITELIB}/foolscap/test/test_interfaces.pyo 250${PYSITELIB}/foolscap/test/test_interfaces.pyo
245${PYSITELIB}/foolscap/test/test_keepalive.py 251${PYSITELIB}/foolscap/test/test_keepalive.py
246${PYSITELIB}/foolscap/test/test_keepalive.pyc 252${PYSITELIB}/foolscap/test/test_keepalive.pyc
247${PYSITELIB}/foolscap/test/test_keepalive.pyo 253${PYSITELIB}/foolscap/test/test_keepalive.pyo
248${PYSITELIB}/foolscap/test/test_listener.py 254${PYSITELIB}/foolscap/test/test_listener.py
249${PYSITELIB}/foolscap/test/test_listener.pyc 255${PYSITELIB}/foolscap/test/test_listener.pyc
250${PYSITELIB}/foolscap/test/test_listener.pyo 256${PYSITELIB}/foolscap/test/test_listener.pyo
251${PYSITELIB}/foolscap/test/test_logging.py 257${PYSITELIB}/foolscap/test/test_logging.py
252${PYSITELIB}/foolscap/test/test_logging.pyc 258${PYSITELIB}/foolscap/test/test_logging.pyc
253${PYSITELIB}/foolscap/test/test_logging.pyo 259${PYSITELIB}/foolscap/test/test_logging.pyo
254${PYSITELIB}/foolscap/test/test_loopback.py 260${PYSITELIB}/foolscap/test/test_loopback.py

cvs diff -r1.15 -r1.16 pkgsrc/net/py-foolscap/distinfo (expand / switch to unified diff)

--- pkgsrc/net/py-foolscap/distinfo 2016/10/19 12:54:04 1.15
+++ pkgsrc/net/py-foolscap/distinfo 2016/12/12 14:27:39 1.16
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.15 2016/10/19 12:54:04 wiz Exp $ 1$NetBSD: distinfo,v 1.16 2016/12/12 14:27:39 wiz Exp $
2 2
3SHA1 (foolscap-0.12.4.tar.gz) = 55f6010cc9ccca400e835866e7a18d7f3f8a58c1 3SHA1 (foolscap-0.12.5.tar.gz) = b52f35f13713568c3dd2c28ce666c4a5c9c2d209
4RMD160 (foolscap-0.12.4.tar.gz) = 1dc6115895e9947fc37bd08337d3f76840ca3bfe 4RMD160 (foolscap-0.12.5.tar.gz) = 0627c62438bdec951731b8d9715f07d96dc62e61
5SHA512 (foolscap-0.12.4.tar.gz) = d991f252d5e54caac810b67e33be2a357d7da462e112688ca99b0d2a71b600830d87c00236325b5240c35b046d34b56cf8bd54045c4ccf533f99b7981a4f8634 5SHA512 (foolscap-0.12.5.tar.gz) = 80c18ac67d74ae2ffa26c84aba17ceac4e98745d9c91730136c2aaeab7349ee8c0aadc5b6e19fed8e1e210c33957e52f9a25699348e07ace7cfb26859f13e7ec
6Size (foolscap-0.12.4.tar.gz) = 507397 bytes 6Size (foolscap-0.12.5.tar.gz) = 516411 bytes