[tahoe-dev] [tahoe-lafs] #1159: 1.8beta is incompatible with existing node directories due to change of appname

tahoe-lafs trac at tahoe-lafs.org
Fri Aug 6 21:41:30 UTC 2010


#1159: 1.8beta is incompatible with existing node directories due to change of
appname
----------------------------+-----------------------------------------------
     Reporter:  davidsarah  |       Owner:  somebody                                                           
         Type:  defect      |      Status:  new                                                                
     Priority:  critical    |   Milestone:  1.8.0                                                              
    Component:  code        |     Version:  1.8β                                                               
   Resolution:              |    Keywords:  regression test-needed backward-compatibility forward-compatibility
Launchpad Bug:              |  
----------------------------+-----------------------------------------------

Comment (by warner):

 I seem to recall that the {{{pkg_resources.require}}} API is intended to
 let programs express a dependency on specific versions (or version ranges)
 of other package/modules, in the actual code that does the {{{import}}}
 (as opposed to off in some remote {{{setup.py}}} world). Using it without
 a version number specification seems to be not particularly useful,
 although I think it probably does serve to tell setuptools to fuss around
 with PYTHONPATH enough to allow the {{{import}}} to maybe work.

 I think I'd like to see a list of all the things in our tree that depend
 upon PYTHONPATH being set in some particular way (probably bin/tahoe and
 test_runner), and then see if there's a way to accomplish this by either
 removing those places or purely by manipulating PYTHONPATH, depending less
 upon setuptools mechanisms. In particular, I think that {{{twistd}}} has
 been loadable as a library for several years now, so I think that the
 subprocess-spawning done by {{{tahoe start}}}/{{{tahoe run}}} can go away,
 which might remove one of the needs to change PYTHONPATH. (the test_runner
 code that really does want to spawn a subprocess, because it wants to kill
 the subprocess, may be replaceable with an {{{os.fork}}} or something, so
 the child can simply inherit the environment of the parent).

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1159#comment:3>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-dev mailing list