#593 closed enhancement (duplicate)

test installation of .deb's

Reported by: zooko Owned by: somebody
Priority: major Milestone: undecided
Component: dev-infrastructure Version: 1.2.0
Keywords: Cc:
Launchpad Bug:


Have a buildbot step asserting that dpkg -i allmydata-tahoe-$VERSION.deb works.

This was originally mentioned in #434 (automate testing of installation).

Change History (2)

comment:1 Changed at 2009-01-26T23:14:35Z by warner

As discussed on IRC the other week, this could use the 'debootstrap' and 'schroot' tools. The idea would be to have a chroot environment for the test, and not touch the buildslave's host OS at all. The first buildstep should be to checkout the tahoe source and build a .deb . The second step should be to create a new chroot environment (from the same distribution as the host, say, a "gutsy" chroot environment), with some basic level of functionality, using packages that are cached on the host so it won't require a huge download each time. This chroot should have an /etc/apt/sources.list that points at the allmydata.org APT repository. The third step should be to copy the .deb into the chroot and do some sort of 'apt-get install allmydata-tahoe', using it, such that any dependencies are pulled from the .org repo. The fourth step should be to run 'trial allmydata' inside the chroot and make sure it succeeds. The fifth step should be to run 'tahoe --version' inside the chroot.

This ought to validate:

  • the .deb is installable
  • the .deb's dependencies are available on allmydata.org
  • the /usr/bin/tahoe that gets installed is runnable
  • all dependencies are useable/importable/compatible

From the description of the 'schroot' package, it looks like it might contain sudo-style tools to allow non-root users to create and manipulate chroot environments. The 'debootstrap' package contains tools to create debian installations inside a chroot.

comment:2 Changed at 2009-03-12T20:59:28Z by warner

  • Resolution set to duplicate
  • Status changed from new to closed

this has been merged into #630.

Note: See TracTickets for help on using tickets.