[tahoe-lafs-trac-stream] [Tahoe-LAFS] #1270: have a separate build target to download any missing deps but not to compile or install them
Tahoe-LAFS
trac at tahoe-lafs.org
Sat Mar 26 21:35:14 UTC 2016
#1270: have a separate build target to download any missing deps but not to
compile or install them
-----------------------------+-------------------------------
Reporter: zooko | Owner: gdt
Type: enhancement | Status: closed
Priority: major | Milestone: 1.11.0
Component: packaging | Version: 1.8.0
Resolution: invalid | Keywords: packaging install
Launchpad Bug: |
-----------------------------+-------------------------------
Changes (by warner):
* status: new => closed
* resolution: => invalid
* milestone: undecided => 1.11.0
Old description:
> As mentioned by gdt in comment:9:ticket:1200, it would be useful for
> packagers if they could ask the build system to download any missing
> dependencies, but not to build them or install them.
>
> This might be related to or satisfied by the "tahoe-deps" and/or SUMO
> tarball features, which we have sort-of working right now.
>
> Let's use this ticket to work out what test would satisfy this feature
> request. gdt: how could we test this? Maybe just do a test like the one
> described in comment:21:ticket:1220 (the one which will go red if the
> code under test says "Downloading http") but we first run {{{python
> setup.py justdeps}}}. So then after running {{{python setup.py
> justdeps}}}, then it runs {{{python setup.py justbuild}}} and goes red if
> it says "Downloading http", then it runs {{{python setup.py justinstall
> --prefix=$PREFIXDIR}}} (and again goes red if it says "Downloading
> http"), then it runs {{{$PREFIXDIR/bin/tahoe --version-and-path}}} and
> goes red unless it prints out the right version and path.
>
> Note that the test code doesn't have a fair chance of marking the code
> under test red if the system already has all deps already installed.
> There have to be some missing deps so that the code under test might be
> tempted to try to download those deps when it isn't supposed to.
New description:
As mentioned by gdt in comment:9:ticket:1200, it would be useful for
packagers if they could ask the build system to download any missing
dependencies, but not to build them or install them.
This might be related to or satisfied by the "tahoe-deps" and/or SUMO
tarball features, which we have sort-of working right now.
Let's use this ticket to work out what test would satisfy this feature
request. gdt: how could we test this? Maybe just do a test like the one
described in comment:21:ticket:1220 (the one which will go red if the code
under test says "Downloading http") but we first run {{{python setup.py
justdeps}}}. So then after running {{{python setup.py justdeps}}}, then it
runs {{{python setup.py justbuild}}} and goes red if it says "Downloading
http", then it runs {{{python setup.py justinstall --prefix=$PREFIXDIR}}}
(and again goes red if it says "Downloading http"), then it runs
{{{$PREFIXDIR/bin/tahoe --version-and-path}}} and goes red unless it
prints out the right version and path.
Note that the test code doesn't have a fair chance of marking the code
under test red if the system already has all deps already installed. There
have to be some missing deps so that the code under test might be tempted
to try to download those deps when it isn't supposed to.
--
Comment:
Now that we're on pip, the command to download the sources for all
dependencies (but not compile or install them) is:
{{{
pip download tahoe-lafs
}}}
And `pip wheel tahoe-lafs` will download+compile, but not install, leaving
you with a directory full of `*.whl` files.
The original request is more of an INVALID now, since we no longer want
people to even attempt to use dependencies that are already present on
their system (instead we recommend creating a new virtualenv, isolated
from the system).
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1270#comment:9>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list