Re: [tahoe-dev] 1.9.0 beta1 is tagged!

2011-10-14 Thread Greg Troxel

  
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!

2011-10-14 Thread Brian Warner
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!

2011-10-14 Thread Greg Troxel

  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!

2011-10-14 Thread David-Sarah Hopwood
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!

2011-10-14 Thread Marco Tedaldi
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!

2011-10-14 Thread David-Sarah Hopwood
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!

2011-10-14 Thread Brian Warner
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