← Back to team overview

vmbuilder team mailing list archive

lp:~wt-penguintechs-org/vmbuilder/vmbuilder_add_debootstrap_tarball into lp:vmbuilder

 

Warren Turkal has proposed merging lp:~wt-penguintechs-org/vmbuilder/vmbuilder_add_debootstrap_tarball into lp:vmbuilder.

Requested reviews:
  VMBuilder (vmbuilder)

For more details, see:
https://code.launchpad.net/~wt-penguintechs-org/vmbuilder/vmbuilder_add_debootstrap_tarball/+merge/151893

This change adds an option to use a prebuilt debootstrap tarball so that one doesn't have to download the packages for every image creation. You can create a debootstrap tarball with something like:

$ debootstrap --variant=minbase --make-tarball=blah.tgz precise /tmp/minprec-chroot

Then you can use it with:

$ ubuntu-vm-builder xen precise --variant=minbase --debootstrap-tarball=/home/wt/projects/tarball_debootstrap/precise_minbase_debootstrap.tgz

The build process has the potential to be way faster when building more than one image.
-- 
https://code.launchpad.net/~wt-penguintechs-org/vmbuilder/vmbuilder_add_debootstrap_tarball/+merge/151893
Your team VMBuilder is requested to review the proposed merge of lp:~wt-penguintechs-org/vmbuilder/vmbuilder_add_debootstrap_tarball into lp:vmbuilder.
=== modified file 'VMBuilder/plugins/ubuntu/dapper.py'
--- VMBuilder/plugins/ubuntu/dapper.py	2010-12-02 08:15:01 +0000
+++ VMBuilder/plugins/ubuntu/dapper.py	2013-03-06 09:04:23 +0000
@@ -259,6 +259,10 @@
         if variant:
             cmd += ['--variant=%s' % variant]
 
+        debootstrap_tarball = self.context.get_setting('debootstrap-tarball')
+        if debootstrap_tarball:
+            cmd += ['--unpack-tarball=%s' % debootstrap_tarball]
+
         suite = self.context.get_setting('suite')
         cmd += [suite, self.context.chroot_dir, self.debootstrap_mirror()]
         kwargs = { 'env' : { 'DEBIAN_FRONTEND' : 'noninteractive' } }

=== modified file 'VMBuilder/plugins/ubuntu/distro.py'
--- VMBuilder/plugins/ubuntu/distro.py	2012-08-06 19:37:24 +0000
+++ VMBuilder/plugins/ubuntu/distro.py	2013-03-06 09:04:23 +0000
@@ -54,6 +54,7 @@
         group.add_setting('suite', default='lucid', help='Suite to install. Valid options: %s [default: %%default]' % ' '.join(self.suites))
         group.add_setting('flavour', extra_args=['--kernel-flavour'], help='Kernel flavour to use. Default and valid options depend on architecture and suite')
         group.add_setting('variant', metavar='VARIANT', help='Passed to debootstrap --variant flag; use minbase, buildd, or fakechroot.')
+        group.add_setting('debootstrap-tarball', metavar='FILE', help='Passed to debootstrap --unpack-tarball flag.')
         group.add_setting('iso', metavar='PATH', help='Use an iso image as the source for installation of file. Full path to the iso must be provided. If --mirror is also provided, it will be used in the final sources.list of the vm.  This requires suite and kernel parameter to match what is available on the iso, obviously.')
         group.add_setting('mirror', metavar='URL', help='Use Ubuntu mirror at URL instead of the default, which is http://archive.ubuntu.com/ubuntu for official arches and http://ports.ubuntu.com/ubuntu-ports otherwise')
         group.add_setting('proxy', metavar='URL', help='Use proxy at URL for cached packages')