It can be confusing to new users for make-base-vm to create a lucid vm
by default, so switch to xenial, which is also a LTS release, but isn't
EOL yet. Using lucid with gitian-builder is broken anyway, because
lucid has been moved to old-releases.ubuntu.com since it is EOL and
gitian-builder doesn't support old-releases.ubuntu.com.
So you can make local copy of /usr/share/debootstrap/ and
e.g. add there missing e.g. "xenial" or other script/template,
without mucking around in system directory managed by
package manager.
According to the Debian wiki, installing the package grub installs the
correct version of grub for your suite automatically. This fixes a "you
have held broken packages" error when creating the package manifest due
to a conflict between grub-pc and grub-legacy (at least with Wheezy).
Check for older suites with 686 flavour before checking for 686-pae
flavour suites, because the former should never change, but the latter
would have to be changed whenever a new suite was released if it wasn't
the last if statement.
It seems like a lsb_release program should be available on any distro if
the appropriate package is installed. So it seems better to use
lsb_release instead of /etc/lsb-release, because Debian doesn't appear
to have /etc/lsb-release.
The build process for [Bitcoin](https://github.com/bitcoin/bitcoin/blob/master/doc/gitian-building.md) was failing with the following error
```
./bin/gbuild:21:in `system!': failed to run on-target setarch x86_64 bash -x < var/build-script > var/build.log 2>&1 (RuntimeError)
from ./bin/gbuild:137:in `build_one_configuration'
from ./bin/gbuild:267:in `block (2 levels) in <main>'
from ./bin/gbuild:262:in `each'
from ./bin/gbuild:262:in `block in <main>'
from ./bin/gbuild:260:in `each'
from ./bin/gbuild:260:in `<main>'
```
Inside the log file `var/build.log` the entries towards the end show
```
/bin/sh: 1: wget: not found
```
I was running into trouble using gitian LXC INSIDE a VirtualBox VM, because
the 10.0.2.x IP range overlaps with the range that VirtualBox uses for
its internal NAT network.
This commit makes it possible to override the host and guest IP that
is used during LXC image creation and the build, using environment variables:
- `GITIAN_HOST_IP` (default=10.0.2.2, host IP from the viewpoint of the
VM, can be used for both LXC and KVM)
- `LXC_GUEST_IP` (default=10.0.2.5, guest IP from the viewpoint of the
host, effective for LXC only)
When these are not defined the behavior remains the same as before.