[tahoe-dev] [tahoe-lafs] #1220: build/install should be able to refrain from getting dependencies
tahoe-lafs
trac at tahoe-lafs.org
Sat Nov 27 18:46:11 UTC 2010
#1220: build/install should be able to refrain from getting dependencies
---------------------------+------------------------------------------------
Reporter: gdt | Owner: gdt
Type: defect | Status: new
Priority: minor | Milestone: undecided
Component: packaging | Version: 1.8.0
Resolution: | Keywords: setuptools
Launchpad Bug: |
---------------------------+------------------------------------------------
Comment (by zooko):
Replying to [comment:17 gdt]:
> No, because a) --svem isn't usable during a build phase (install writes
to the destination)
How about this. I'm going to propose a build step and you have to tell me
if you would accept any code that passes that build step or whether you
have other requirements.
The buildstep starts with a pristine tarball of tahoe-lafs and unpacks it,
then runs {{{python setup.py justbuild}}}. If the code under test emits
any lines to stdout or stderr which have the phrase "Downloading http"
then it is marked as red by this buildstep. (The implementation of this
test is visible here: [source:trunk/misc/build_helpers/check-
build.py?annotate=blame&rev=4434#L15 misc/build_helpers/check-build.py],
which is invoked from here:
[source:trunk/Makefile?annotate=blame&rev=4847#L278 Makefile])
Then the buildstep runs {{{python setup.py justinstall
--prefix=$PREFIXDIR}}}. Then it executes {{{$PREFIXDIR/bin/tahoe
--version-and-path}}} and if the code under test emits the right version
and path then it is marked as green by this buildstep, else it is marked
as red.
Now, one thing that this buildstep does not require of the code under test
is that it detect missing dependencies or that it find and download
missing dependencies. That would be cool, and you have requested it in
this ticket, and I know how to implement it, but since that is above and
beyond the standard packaging functionality that we're trying to emulate
perhaps we should open a separate ticket and finish fixing the basic
functionality first.
This means that the test can't give the code under test a fair chance of
going green unless it is run on a system where all of the dependencies are
already installed. As far as I understand, that's standard for this sort
of packaging.
--
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1220#comment:21>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-dev
mailing list