Re: [tahoe-dev] 1.9.0 beta1 is tagged!
http://tahoe-lafs.org/source/tahoe-lafs/tarballs/allmydata-tahoe-1.9.0b1.tar.gz Thanks for 1) making the unpacked dir match the version in the file and 2) having the path be close to the release path; both of these make pre-testing as a pkgsrc entry easier and closer to what I'll commit when the release happens. I built it and installed via pkgsrc, and a deep-check with it as a client is running. WUI reports versions: allmydata-tahoe: 1.9.0b1, foolscap: 0.6.1, pycryptopp: 0.5.25, zfec: 1.4.7, Twisted: 10.1.0, Nevow: 0.10.0, zope.interface: unknown, python: 2.6.7, platform: NetBSD-5.1_STABLE-i386-32bit-ELF, pyOpenSSL: 0.12, simplejson: 2.1.1, pycrypto: 2.3, pyasn1: unknown, mock: 0.7.0b4, pysqlite: 2.6.3 [sqlite 3.7.7.1], setuptools: 0.6c11 I am assuming while a new foolscap release is pending, 1.9.0 will not require it. I did get the following complaints when building: = Checking for non-existent script interpreters in tahoe-lafs-1.9.0b1 WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of /home/n0/ANONCVS/pkgsrc/filesystems/tahoe-lafs/work/.destdir/usr/pkg/lib/python2.6/site-package/allmydata/test/check_grid.py is not allowed. WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of /home/n0/ANONCVS/pkgsrc/filesystems/tahoe-lafs/work/.destdir/usr/pkg/lib/python2.6/site-package/allmydata/test/check_load.py is not allowed. WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of /home/n0/ANONCVS/pkgsrc/filesystems/tahoe-lafs/work/.destdir/usr/pkg/lib/python2.6/site-package/allmydata/test/check_memory.py is not allowed. WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of /home/n0/ANONCVS/pkgsrc/filesystems/tahoe-lafs/work/.destdir/usr/pkg/lib/python2.6/site-package/allmydata/test/check_speed.py is not allowed. WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of /home/n0/ANONCVS/pkgsrc/filesystems/tahoe-lafs/work/.destdir/usr/pkg/lib/python2.6/site-package/allmydata/test/test_base62.py is not allowed. WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of /home/n0/ANONCVS/pkgsrc/filesystems/tahoe-lafs/work/.destdir/usr/pkg/lib/python2.6/site-package/allmydata/util/base62.py is not allowed. The issue is that scripts that invoke python have to bind to the specific version found at configure time and explicitly depended on. I am not clear on how (or if) the tahoe build process deals with this, or if I should treat it as a not-fixed upstream bug and patch it in pkgsrc. pgpKJ0cXPXnci.pgp Description: PGP signature ___ tahoe-dev mailing list tahoe-dev@tahoe-lafs.org http://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev
Re: [tahoe-dev] 1.9.0 beta1 is tagged!
On 10/14/11 8:04 AM, Greg Troxel wrote: Thanks for 1) making the unpacked dir match the version in the file and Glad that helps.. it's part of the tarball-generation automation, so it should always work that way. I am assuming while a new foolscap release is pending, 1.9.0 will not require it. Correct. The dependency is actually going to be driven by Twisted. Tahoe (both current 1.8.3 and upcoming 1.9.0) is happy with both current Foolscap-0.6.1 and upcoming Foolscap-0.6.2 . Both current Foolscap-0.6.1 and upcoming Foolscap-0.6.2 are happy with current Twisted-11.0.0 . But current Foolscap-0.6.1 is not compatible with Twisted trunk, which means that as soon as they make their next release, 0.6.1 won't be compatible with that. So Foolscap-0.6.2 will be a pre-emptive compatibility strike. I'm not sure how Tahoe is most likely to express this, or if it's even possible to do something on the Tahoe side to help users get compatible versions of the dependencies. The worry is that someone will either a) have a working installation, update Twisted (but not Foolscap), and then things will break, or b) will have Foolscap-0.6.1 already installed, install Tahoe from scratch, wind up with a later Twisted version, and things will break. We've addressed this in the past by articifically raising the dependency on the troubled library (in this case it'd be by declaring Tahoe to require Foolscap-0.6.2, even though it doesn't really). But I don't think we'll do that until the new Twisted comes out, if at all. (their current release was made last January, so they're kinda due, but I haven't seen any schedules). I did get the following complaints when building: allmydata/test/check_grid.py allmydata/test/check_load.py allmydata/test/check_memory.py allmydata/test/check_speed.py allmydata/test/test_base62.py allmydata/util/base62.py The last two are a clear mistake: those libraries don't need interpreter shbang lines. The other four are occasionally run as developer testing tools: check_memory.py and check_speed.py are run by our buildbot on each commit, check_grid.py was run to make sure the old AllMyData production grid was still working, and check_load.py is a manually-triggered traffic-generator for load testing. I think we can just remove the shbang lines from them.. to get the Tahoe dependencies right, they're all run from our Makefile with a funky @ invocation that winds up running python .../check_speed.py, so the interpreter line isn't really necessary. I'll land a patch to fix that shortly. Thanks for the catch! cheers, -Brian ___ tahoe-dev mailing list tahoe-dev@tahoe-lafs.org http://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev
Re: [tahoe-dev] 1.9.0 beta1 is tagged!
Correct. The dependency is actually going to be driven by Twisted. Tahoe (both current 1.8.3 and upcoming 1.9.0) is happy with both current Foolscap-0.6.1 and upcoming Foolscap-0.6.2 . Both current Foolscap-0.6.1 and upcoming Foolscap-0.6.2 are happy with current Twisted-11.0.0 . But current Foolscap-0.6.1 is not compatible with Twisted trunk, which means that as soon as they make their next release, 0.6.1 won't be compatible with that. So Foolscap-0.6.2 will be a pre-emptive compatibility strike. OK, that makes sense. I'm not sure how Tahoe is most likely to express this, or if it's even possible to do something on the Tahoe side to help users get compatible versions of the dependencies. The worry is that someone will either a) have a working installation, update Twisted (but not Foolscap), and then things will break, or b) will have Foolscap-0.6.1 already installed, install Tahoe from scratch, wind up with a later Twisted version, and things will break. I have foolscap expressing a dependency on twisted, so it would seem this is not really a tahoe problem. The last two are a clear mistake: those libraries don't need interpreter shbang lines. The other four are occasionally run as developer testing tools: check_memory.py and check_speed.py are run by our buildbot on each commit, check_grid.py was run to make sure the old AllMyData production grid was still working, and check_load.py is a manually-triggered traffic-generator for load testing. ok, that makes sense I think we can just remove the shbang lines from them.. to get the Tahoe dependencies right, they're all run from our Makefile with a funky @ invocation that winds up running python .../check_speed.py, so the interpreter line isn't really necessary. Sounds good. It should probably be using what autoconf would call @PYTHON@; on pkgsrc there is no 'python', because it would end up referring to something possibly different than you found at configure time. But bin/tahoe gets this right, so it seems that setuptools deals with that. pgp7cj25vg8Kn.pgp Description: PGP signature ___ tahoe-dev mailing list tahoe-dev@tahoe-lafs.org http://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev
Re: [tahoe-dev] 1.9.0 beta1 is tagged!
On 14/10/11 16:04, Greg Troxel wrote: I did get the following complaints when building: = Checking for non-existent script interpreters in tahoe-lafs-1.9.0b1 WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of [...]/allmydata/test/check_grid.py is not allowed. WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of [...]/allmydata/test/check_load.py is not allowed. WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of [...]/allmydata/test/check_memory.py is not allowed. WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of [...]/allmydata/test/check_speed.py is not allowed. WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of [...]/allmydata/test/test_base62.py is not allowed. WARNING: [check-interpreter.mk] The interpreter /usr/bin/env of [...]/allmydata/util/base62.py is not allowed. The issue is that scripts that invoke python have to bind to the specific version found at configure time and explicitly depended on. I am not clear on how (or if) the tahoe build process deals with this, or if I should treat it as a not-fixed upstream bug and patch it in pkgsrc. I'd be happy with just removing the '#!/usr/bin/env python' lines and requiring these to be run explicitly via 'python'. -- David-Sarah Hopwood ⚥ http://davidsarah.livejournal.com signature.asc Description: OpenPGP digital signature ___ tahoe-dev mailing list tahoe-dev@tahoe-lafs.org http://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev
Re: [tahoe-dev] 1.9.0 beta1 is tagged!
On 14.10.2011 19:22, Brian Warner wrote: On 10/14/11 8:04 AM, Greg Troxel wrote: Thanks for 1) making the unpacked dir match the version in the file and Glad that helps.. it's part of the tarball-generation automation, so it should always work that way. I am assuming while a new foolscap release is pending, 1.9.0 will not require it. Correct. The dependency is actually going to be driven by Twisted. Tahoe (both current 1.8.3 and upcoming 1.9.0) is happy with both current Foolscap-0.6.1 and upcoming Foolscap-0.6.2 . Both current Foolscap-0.6.1 and upcoming Foolscap-0.6.2 are happy with current Twisted-11.0.0 . But current Foolscap-0.6.1 is not compatible with Twisted trunk, which means that as soon as they make their next release, 0.6.1 won't be compatible with that. So Foolscap-0.6.2 will be a pre-emptive compatibility strike. So current foolscap should have the dependency on twisted listed as =twisted-11.0.0 or something like this. Than the package system should take care or at least warn the user. best Marco ___ tahoe-dev mailing list tahoe-dev@tahoe-lafs.org http://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev
Re: [tahoe-dev] 1.9.0 beta1 is tagged!
On 14/10/11 18:38, Greg Troxel wrote: Sounds good. It should probably be using what autoconf would call @PYTHON@; on pkgsrc there is no 'python', because it would end up referring to something possibly different than you found at configure time. But bin/tahoe gets this right, so it seems that setuptools deals with that. There is custom magic in setup.py that creates bin/tahoe using a shebang for the interpreter that ran setup.py; but the Makefile just does this: PYTHON=python This might need to be patched to use whatever is the correct way for a pkgsrc package to refer to the right python interpreter in a Makefile. Extra credit if it is something that works portably on any Unix with Python installed (the Makefile doesn't work on Windows unless you have a Unix-compatible environment), but I don't know whether that is possible. -- David-Sarah Hopwood ⚥ http://davidsarah.livejournal.com signature.asc Description: OpenPGP digital signature ___ tahoe-dev mailing list tahoe-dev@tahoe-lafs.org http://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev
Re: [tahoe-dev] 1.9.0 beta1 is tagged!
On 10/14/11 10:57 AM, David-Sarah Hopwood wrote: There is custom magic in setup.py that creates bin/tahoe using a shebang for the interpreter that ran setup.py; Right, bin/tahoe is the only entry point, so it's the only script that needs this treatment. but the Makefile just does this: PYTHON=python This might need to be patched to use whatever is the correct way for a pkgsrc package to refer to the right python interpreter in a Makefile. Fortunately, the Makefile doesn't get installed :-). That's just for developers, and packagers. Anyone using the Makefile on a system where python is not the right python just needs to remember to set PYTHON to their python. One could argue that the entire test/ directory should be omitted too, but there's a second argument that says it's nice for end-users to be able to run the test suite themselves. I'd leave that up to the packagers. (I notice that Twisted on Ubuntu includes the test suite, maybe because that's easier than stripping it out). cheers, -Brian ___ tahoe-dev mailing list tahoe-dev@tahoe-lafs.org http://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev