[tahoe-dev] [tahoe-lafs] #657: "python ./setup.py test" rebuilds packages
tahoe-lafs
trac at allmydata.org
Mon Mar 9 09:47:40 PDT 2009
#657: "python ./setup.py test" rebuilds packages
---------------------+------------------------------------------------------
Reporter: zooko | Owner: nobody
Type: defect | Status: new
Priority: minor | Milestone: eventually
Component: unknown | Version: 1.3.0
Keywords: | Launchpad_bug:
---------------------+------------------------------------------------------
If you build with {{{python ./setup.py build}}}, it will automatically
build required libraries such as pycryptopp. On Zandr's NAS device,
building pycryptopp takes about an hour. Then if you test with {{{python
./setup.py test}}}, it will rebuild pycryptopp *again*. I investigated
and I see that this is because the initial {{{build}}} puts the resulting
package into {{{./support/lib/python2.5/site-packages}}}, but the
{{{test}}} puts it into the current working directory. So a good fix
would be to configure it so that the {{{test}}} step uses {{{./support/}}}
as its "target directory".
You can work-around this issue by installing with {{{python ./setup.py
install}}}, which will copy all libraries such as pycryptopp into your
system directory (e.g. {{{/usr/lib/python2.5/site-packages}}}, or by
manually prepending the {{{test}}} step with
{{{PYTHONPATH=./support/lib/python2.5/site-packages}}}.
(Note that if you install with {{{python ./setup.py install}}} then it is
*very easy to uninstall*. All you do is {{{/bin/rm -rf}}} the *one* item
that got added into your {{{/usr/lib/python2.5/site-packages/}}} directory
for each library that got installed. For example, for pycryptopp that
item is named {{{pycryptopp-$VERSION_NUMBER-py2.5.egg}}}.)
--
Ticket URL: <http://allmydata.org/trac/tahoe/ticket/657>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid
More information about the tahoe-dev
mailing list