bitcoin/contrib/gitian-descriptors
Wladimir J. van der Laan c13a13efec gitian: add -D flag to ar for deterministic output for linux deps
ar -D: Operate in deterministic mode. When adding files and the archive
index use zero for UIDs, GIDs, timestamps, and use consistent file modes
for all files.  When this option is used, if ar is used with identical
options and identical input files, multiple runs will create identical
output files regardless of the input files' owners, groups, file modes,
or modification times.
2014-02-10 16:20:13 +01:00
..
boost-linux.yml gitian: add -D flag to ar for deterministic output for linux deps 2014-02-10 16:20:13 +01:00
boost-win.yml gitian: Windows 64 bit support 2014-01-21 14:02:13 +01:00
deps-linux.yml gitian: add -D flag to ar for deterministic output for linux deps 2014-02-10 16:20:13 +01:00
deps-win.yml Gitian fixes for 0.9.0rc1 build 2014-02-03 14:43:51 +01:00
gitian-linux.yml gitian: Sort generated source distribution archive 2014-02-10 10:01:06 +01:00
gitian-win.yml Gitian fixes for 0.9.0rc1 build 2014-02-03 14:43:51 +01:00
protobuf-win.yml gitian: Windows 64 bit support 2014-01-21 14:02:13 +01:00
qt-win.yml Gitian fixes for 0.9.0rc1 build 2014-02-03 14:43:51 +01:00
README.md Make gitian builds consistent across platforms 2014-01-15 22:56:17 +02:00

Gavin's notes on getting gitian builds up and running using KVM:###

These instructions distilled from: https://help.ubuntu.com/community/KVM/Installation ... see there for complete details.

You need the right hardware: you need a 64-bit-capable CPU with hardware virtualization support (Intel VT-x or AMD-V). Not all modern CPUs support hardware virtualization.

You probably need to enable hardware virtualization in your machine's BIOS.

You need to be running a recent version of 64-bit-Ubuntu, and you need to install several prerequisites:

sudo apt-get install ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm

Sanity checks:

sudo service apt-cacher-ng status  # Should return apt-cacher-ng is running
ls -l /dev/kvm   # Should show a /dev/kvm device

Once you've got the right hardware and software:

git clone git://github.com/bitcoin/bitcoin.git
git clone git://github.com/devrandom/gitian-builder.git
mkdir gitian-builder/inputs
cd gitian-builder/inputs

# Get inputs (see doc/release-process.md for exact inputs needed and where to get them)
...
cd ../..

cd gitian-builder
bin/make-base-vm --arch i386
bin/make-base-vm --arch amd64
cd ..

# Build Linux release:
cd bitcoin
git pull
cd ../gitian-builder
git pull
./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml

# Build Win32 dependencies: (only needs to be done once, or when dependency versions change)
./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/boost-win32.yml
./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/deps-win32.yml
./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/qt-win32.yml
./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/protobuf-win32.yml

# Build Win32 release:
./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml

gitian-builder now also supports building using LXC. See https://help.ubuntu.com/12.04/serverguide/lxc.html ... for how to get LXC up and running under Ubuntu.

If your main machine is a 64-bit Mac or PC with a few gigabytes of memory and at least 10 gigabytes of free disk space, you can gitian-build using LXC running inside a virtual machine.

Here's a description of Gavin's setup on OSX 10.6:

  1. Download and install VirtualBox from https://www.virtualbox.org/

  2. Download the 64-bit Ubuntu Desktop 12.04 LTS .iso CD image from http://www.ubuntu.com/

  3. Run VirtualBox and create a new virtual machine, using the Ubuntu .iso (see the VirtualBox documentation for details). Create it with at least 2 gigabytes of memory and a disk that is at least 20 gigabytes big.

  4. Inside the running Ubuntu desktop, install:

    sudo apt-get install debootstrap lxc ruby apache2 git apt-cacher-ng python-vm-builder

  5. Still inside Ubuntu, tell gitian-builder to use LXC, then follow the "Once you've got the right hardware and software" instructions above:

    export USE_LXC=1 git clone git://github.com/bitcoin/bitcoin.git ... etc