[Tails-dev] New Vagrant based build system: please test and …

Delete this message

Reply to this message
Author: Ague Mill
Date:  
To: tails-dev
Subject: [Tails-dev] New Vagrant based build system: please test and review!
Hi!

I am done working on a new build system based on Vagrant, a tool to
prepare and manage development environments in virtual machines (using
VirtualBox). The result of that work can be seen in the
`feature/vagrant` branch.

Nearly quoting the proposed update to the build documentation:

> Tails can be built easily in a virtual machine using Rake, Vagrant and
> VirtualBox. The process requires a minimum of 1 GB of free memory and a
> maximum of 10 GB of free storage.
>
> Installing the needed tools on Debian Wheezy is a matter of:
>
>     $ sudo apt-get install virtualbox vagrant rake

>
> Then, please issue:
>
>     $ git clone git://git.immerda.ch/amnesia.git
>     $ cd amnesia
>     $ git checkout feature/vagrant
>     $ rake build

>
> The first time, this can take a little while to download the base virtual
> machine from Tails mirror (around 300 MB). It will then boot the machine,
> set it up and start the build process. When done, several `tails-*` files
> should appear in the current directory.


This simple `rake build` should have sane defaults for development:
in-memory builds if enough memory, gzip compression for SquashFS for
development branches, cached website builds, in-VM HTTP proxy. But all
that can be changed through the `TAILS_BUILD_OPTIONS` environment
variable. Please refer to the updated build documentation to know more
about it.

diffstat against devel:

 .gitignore                                  |    4 +
 Rakefile                                    |  311 +++++++++++++++++++++++++++
 vagrant/Vagrantfile                         |   45 ++++
 vagrant/definitions/squeeze/definition.rb   |   42 ++++
 vagrant/definitions/squeeze/postinstall.sh  |   51 +++++
 vagrant/definitions/squeeze/preseed.cfg.erb |   71 ++++++
 vagrant/lib/tails_build_settings.rb         |   27 +++
 vagrant/lib/vagrant_verified_download.rb    |   37 ++++
 vagrant/provision/assets/acng.conf          |   12 +
 vagrant/provision/assets/build-tails        |   59 +++++
 vagrant/provision/setup-tails-builder       |   70 ++++++
 wiki/src/contribute/build.mdwn              |  169 +++++++++++++--
 wiki/src/contribute/design/vagrant.mdwn     |  112 ++++++++++
 13 files changed, 995 insertions(+), 15 deletions(-)


Please test, review and comment. English and interface neatpicking is
even encouraged!

I really hope this will help us to get new contributors as getting them
started should be quite easier with all that… Who knows, it might even
work on Windows !

Enjoy,
--
Ague