path: root/Rakefile
Commit message (Collapse)AuthorAgeFilesLines
* Fix typos in Vagrant related messagesTails developers2012-09-231-2/+2
* vagrant: Allow in-memory builds when a VM with enough memory is already startedTails developers2012-09-141-1/+8
| | | | | There is already another check in 'vm:up' to be sure that the VM has enough memory to perform the build.
* vagrant: disable the bootstrap stage cache by default.Tails developers2012-09-111-3/+0
| | | | On second thought this is a more sane default.
* vagrant: make sure release builds are clean.Tails developers2012-09-101-0/+3
* vagrant: don't use gzip compression when building from a tag.Tails developers2012-09-101-3/+4
| | | | | Also chomp all shell output. I don't think the previous check ever worked since branch_name would get a '\n' on the end.
* vagrant: store {stages,packages}_bootstrap on disk.Tails developers2012-09-071-1/+10
| | | | | | This will reduce the amount of ram needed when building inside a tmpfs by (currently) ~200 MiB, and may even speed up the build somewhat since the bootstrap stage can be restored.
* vagrant: Do not use in-VM proxy to download the baseboxTails developers2012-05-221-0/+8
* vagrant: Factor out in-VM proxy URLTails developers2012-05-221-1/+4
* vagrant: Add defaults to SquashFS build settingsTails developers2012-05-161-0/+11
| | | | | We default to the fast gzip algorithm when building a branch that is not considered "stable", namely `stable` and `testing`.
* vagrant: Prevent builds with uncommited changesTails developers2012-05-161-1/+29
| | | | | | We also add a new 'ignorechanges' option that force a build to happen when there are uncommited changes. As the option name implies, they *will* be ignored.
* vagrant: Move build products to the top directoryTails developers2012-05-161-0/+5
* vagrant: Add defaults for virtual CPUs build settingsTails developers2012-05-161-0/+14
| | | | | On Linux, we set the number of virtual CPUs to the number of CPUs in host system.
* vagrant: Add support for virtual CPUs build settingsTails developers2012-05-161-0/+21
* vagrant: Prevent in-memory builds when memory is tightTails developers2012-05-161-0/+1
* vagrant: Add defaults for in-memory build settingsTails developers2012-05-161-0/+15
| | | | | When we can know the current amount of usable free memory (read using GNU/Linux), we default to in-memory builds if enough memory is available.
* vagrant: Add support for clean-up build settingsTails developers2012-05-161-1/+4
| | | | | As we now cache ikiwiki's work between builds, we add an option to force an initial clean-up.
* vagrant: Add suport for in-memory build settingsTails developers2012-05-161-1/+24
* vagrant: Factor out common build settingsTails developers2012-05-161-2/+3
| | | | | Let's factor out some build related settings to a Ruby snippet that can be shared between Rakefile and Vagrantfile.
* vagrant: Add defaults for HTTP proxy build settingsTails developers2012-05-161-1/+6
| | | | | If there is an HTTP proxy in the environment, we use it. If not, we switch to the in-VM proxy. This can be overidden through TAILS_BUILD_OPTIONS.
* vagrant: Add suport for HTTP proxy build settingsTails developers2012-05-161-2/+16
| | | | | | | | | | | | | | We support three options: external proxy, a proxy inside the virtual machine and no proxy at all. The first and the last are both trivial to implement. For the in-VM proxy, we install and configure apt-cacher-ng during provisioning. We do that all the time to support different proxy options once the VM is started. The custom apt-cacher-ng configuration is required to support downloads of `.o` and `.tar.bz2` files by the firmware installers.
* vagrant: Add suport for SquashFS build settingsTails developers2012-05-161-1/+14
* vagrant: Support http_proxy during VM provisioningTails developers2012-05-161-2/+2
* vagrant: Handle invalid http_proxy gracefullyTails developers2012-05-161-0/+6
* vagrant: Add build taskTails developers2012-05-161-0/+16
| | | | | | | | | We export some environment variables to the build script inside the virtual machine. One of them is http_proxy, so we first validate if it is not set to use a proxy on localhost. In order to properly get output from Vagrant, we handle its replication on stderr/stdout manually.
* vagrant: Factor out http_proxy validationTails developers2012-05-161-14/+16
* vagrant: Add task to create our squeeze baseboxTails developers2012-05-161-3/+55
| | | | | | | | | | | | | | | | As we use Veewee to automate the creation of the basebox, we are forced to back up on the "do not execute Vagrant manually" stance. This is due to the fact that Veewee is quite hackish and itself calls `vagrant` directly. So we move our monkey-patching from the Rakefile to the Vagrantfile itself. In order to support an HTTP proxy, the `preseed.cfg` file that Veewee need is created beforehands in another Rake task. Proxies bound to localhost will result in a failure and an explicit error messages. Note: it is unfortunately not possible to use `definitions.rb` to add `mirror/http/proxy` to the installer command-line. As the defined proxy is set by network-preesed, it will prevent the installer from retrieving the preseed file provided by Veewee on a local interface.
* vagrant: Download and verify from Tails mirrorTails developers2012-05-161-0/+3
| | | | | | | | Vagrant does not currently offer any way to verify a downloaded box file. In order to overcome this limitation, we monkey-patch Vagrant::Action::Box::Download#download method to verify a checksum right after the file has been retrieved. This should definitely implemented upstream in a more proper way but it will do for now.
* vagrant: Start a Rakefile to drive buildsTails developers2012-05-161-0/+78
Build based on Vagrant will be drived using `rake`. This has the definite advantage that we can easily isolate Vagrant related files in the `vagrant` subdirectory while providing an easy access to build functions. This will also allow easier local customizations to Vagrant itself, as we will be able to mangle stuff in Rake before handing commands to Vagrant. The Rakefile currently only wraps a few Vagrant commands, it will be extended later on.