[tahoe-dev] [tahoe-lafs] #709: hard to run against alternate dependencies, i.e. trunk version of Foolscap

tahoe-lafs trac at allmydata.org
Mon May 18 21:24:10 UTC 2009


#709: hard to run against alternate dependencies, i.e. trunk version of Foolscap
-----------------------+----------------------------------------------------
 Reporter:  warner     |           Owner:  somebody 
     Type:  defect     |          Status:  new      
 Priority:  major      |       Milestone:  undecided
Component:  packaging  |         Version:  1.4.1    
 Keywords:             |   Launchpad_bug:           
-----------------------+----------------------------------------------------

Old description:

> For the #653 work I'm doing now (which requires a change to foolscap:
> [foolscap#105 http://foolscap.lothar.com/trac/ticket/105]), I need to run
> a
> Tahoe trunk tree against a Foolscap trunk tree (to test changes I'm
> considering putting into the upcoming foolscap release). The normal way
> to do
> this (which used to work before we switched to setuptools) was:
>
> {{{
> PYTHONPATH=~/foolscap/trunk make test
> }}}
>
> I tried to do this yesterday, and here are the problems I ran into:
>
>  * the Foolscap .egg that was built in support/lib overrides anything
> else on
>    PYTHONPATH, so I must delete the .egg first
>  * on OS-X, there's also an .egg put in the root of the tahoe tree (the
> #657
>    problem), so I must delete that one too
>  * "make test" takes forever (#591) and rebuilds a Foolscap .egg before
>    running any tests, so I use "make quicktest" instead
>  * A Foolscap source tree (in my {{{~/foolscap/trunk}}} directory) does
> not
>    appear to qualify as fulfilling the setuptools dependency for
>    {{{foolscap[secure_connections]>=0.3.1}}}.
>    {{{src/allmydata/scripts/runner.py}}} has a line which does
>    {{{pkg_resources.require('allmydata-tahoe')}}}, and that throws a
>    !DistributionNotFound exception. I commented that line out.
>  * the {{{pkg_resources.load_entry_point}}}-based support/bin/tahoe
> script
>    does an implicit {{{pkg_resources.require}}}, also failing because it
>    thinks it doesn't have Foolscap available.
>
> I think the only way I can work around this is to use "setup.py develop
> TARGETDIR" on my Foolscap tree, and then set PYTHONPATH to point at
> TARGETDIR
> instead of {{{~/foolscap/trunk}}}.
>
> This is annoying. I really wish that PYTHONPATH could be used as it was
> originally intended, and that these eggs weren't getting in the way.

New description:

 For the #653 work I'm doing now (which requires a change to foolscap:
 [http://foolscap.lothar.com/trac/ticket/105 foolscap#105]), I need to run
 a
 Tahoe trunk tree against a Foolscap trunk tree (to test changes I'm
 considering putting into the upcoming foolscap release). The normal way to
 do
 this (which used to work before we switched to setuptools) was:

 {{{
 PYTHONPATH=~/foolscap/trunk make test
 }}}

 I tried to do this yesterday, and here are the problems I ran into:

  * the Foolscap .egg that was built in support/lib overrides anything else
 on
    PYTHONPATH, so I must delete the .egg first
  * on OS-X, there's also an .egg put in the root of the tahoe tree (the
 #657
    problem), so I must delete that one too
  * "make test" takes forever (#591) and rebuilds a Foolscap .egg before
    running any tests, so I use "make quicktest" instead
  * A Foolscap source tree (in my {{{~/foolscap/trunk}}} directory) does
 not
    appear to qualify as fulfilling the setuptools dependency for
    {{{foolscap[secure_connections]>=0.3.1}}}.
    {{{src/allmydata/scripts/runner.py}}} has a line which does
    {{{pkg_resources.require('allmydata-tahoe')}}}, and that throws a
    !DistributionNotFound exception. I commented that line out.
  * the {{{pkg_resources.load_entry_point}}}-based support/bin/tahoe script
    does an implicit {{{pkg_resources.require}}}, also failing because it
    thinks it doesn't have Foolscap available.

 I think the only way I can work around this is to use "setup.py develop
 TARGETDIR" on my Foolscap tree, and then set PYTHONPATH to point at
 TARGETDIR
 instead of {{{~/foolscap/trunk}}}.

 This is annoying. I really wish that PYTHONPATH could be used as it was
 originally intended, and that these eggs weren't getting in the way.

--

Comment(by warner):

 fix formatting of Foolscap ticket link

-- 
Ticket URL: <http://allmydata.org/trac/tahoe/ticket/709#comment:1>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid


More information about the tahoe-dev mailing list