Date: Wed, 8 Dec 2004 22:28:50 -0500 (EST) From: Jonathan Lennox <lennox@cs.columbia.edu> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/74883: Python 2.4 upgrade breaks port net/py-bittorrent [fix included] Message-ID: <200412090328.iB93SoqH029757@cnr.cs.columbia.edu> Resent-Message-ID: <200412090330.iB93UMAR059312@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 74883 >Category: ports >Synopsis: Python 2.4 upgrade breaks port net/py-bittorrent [fix included] >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Dec 09 03:30:21 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Jonathan Lennox >Release: FreeBSD 5.3-RELEASE-p2 i386 >Organization: Columbia University >Environment: System: FreeBSD cnr.cs.columbia.edu 5.3-RELEASE-p2 FreeBSD 5.3-RELEASE-p2 #9: Sat Dec 4 12:36:03 EST 2004 lennox@cnr.cs.columbia.edu:/usr/obj/usr/src/sys/CNR i386 >Description: After upgrading the port lang/python to version 2.4, the port net/py-bittorrent is broken. This appears to be an incompatibility in bittorrent's zurllib.py file; the patch below has also been sent to the bittorrent development list. This problem, and the same solution, appears to also apply to the port net/bittornado. >How-To-Repeat: $ btdownloadheadless.py 'http://people.freebsd.org/~scottl/5.3-torrent/5.3-RELEASE-i386-all.torrent' Traceback (most recent call last): File "/usr/local/bin/btdownloadheadless.py", line 163, in ? run(argv[1:]) File "/usr/local/bin/btdownloadheadless.py", line 158, in run download(params, h.chooseFile, h.display, h.finished, h.error, Event(), cols, h.newpath) File "/usr/local/lib/python2.4/site-packages/BitTorrent/download.py", line 120, in download h = urlopen(config['url']) File "/usr/local/lib/python2.4/urllib2.py", line 130, in urlopen return _opener.open(url, data) File "/usr/local/lib/python2.4/urllib2.py", line 364, in open response = meth(req, response) File "/usr/local/lib/python2.4/urllib2.py", line 468, in http_response code, msg, hdrs = response.code, response.msg, response.info() AttributeError: addinfourldecompress instance has no attribute 'code' >Fix: Apply the following patch to net/py-bittorrent: --- Makefile~ Mon Nov 8 16:08:56 2004 +++ Makefile Wed Dec 8 22:23:42 2004 @@ -7,7 +7,7 @@ PORTNAME= BitTorrent PORTVERSION= 3.4.2 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES?= net python MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED} --- /dev/null Wed Dec 8 22:22:00 2004 +++ files/patch-BitTorrent::zurllib.py Wed Dec 8 22:23:26 2004 @@ -0,0 +1,18 @@ +--- BitTorrent/zurllib.py.bak Thu Jun 26 20:40:21 2003 ++++ BitTorrent/zurllib.py Wed Dec 8 22:21:26 2004 +@@ -35,7 +35,14 @@ + if DEBUG: + pprint.pprint(headers.dict) + url = fp.url +- return addinfourldecompress(fp, headers, url) ++ resp = addinfourldecompress(fp, headers, url) ++ # As of Python 2.4 http_open response also has 'code' and 'msg' ++ # members, and HTTPErrorProcessor breaks if they don't exist. ++ if 'code' in dir(fp): ++ resp.code = fp.code ++ if 'msg' in dir(fp): ++ resp.msg = fp.msg ++ return resp + + + class addinfourldecompress(addinfourl): >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412090328.iB93SoqH029757>