Skip to content

gitian building setup gitian debian

BytzCK edited this page Nov 23, 2021 · 2 revisions

Table of Contents

Setting up Debian for Gitian building

In this section we will be setting up the Debian installation for Gitian building. We assume that a user gitianuser was previously added.

First we need to set up dependencies. Type/paste the following in the terminal:

su -
<enter root password>
apt-get -y install sudo git
echo 'gitianuser  ALL=(ALL:ALL) NOPASSWD:ALL' >> /etc/sudoers
logout

Then set up LXC and the rest with the following, which is a complex jumble of settings and workarounds:

sudo -s
# the version of lxc-start in Debian needs to run as root, so make sure
# that the build script can execute it without providing a password
echo "%sudo ALL=NOPASSWD: /usr/bin/lxc-start" > /etc/sudoers.d/gitian-lxc
echo "%sudo ALL=NOPASSWD: /usr/bin/lxc-execute" >> /etc/sudoers.d/gitian-lxc
# make sure that USE_LXC is always set when logging in as gitianuser,
# and configure LXC BRIDGE interface
echo 'export USE_LXC=1' >> /home/gitianuser/.profile
echo 'export LXC_BRIDGE="br0"' >> /home/gitianuser/.profile
sudo reboot

At the end Debian is rebooted to make sure that the changes take effect. The steps in this section only need to be performed once.

Note: When sudo asks for a password, enter the password for the user gitianuser not for root.

Installing Gitian

Re-login as the user gitianuser that was created during installation. The rest of the steps in this guide will be performed as that user.

Note: If sudo asks for a password, enter the password for the user gitianuser not for root.

There is no python-vm-builder package in Debian, so we need to install it from source ourselves,

wget http://archive.ubuntu.com/ubuntu/pool/universe/v/vm-builder/vm-builder_0.12.4+bzr494.orig.tar.gz
echo "76cbf8c52c391160b2641e7120dbade5afded713afaa6032f733a261f13e6a8e  vm-builder_0.12.4+bzr494.orig.tar.gz" | sha256sum -c
# (verification -- must return OK)
tar -zxvf vm-builder_0.12.4+bzr494.orig.tar.gz
cd vm-builder-0.12.4+bzr494
sudo python setup.py install
cd ..

Clone the git repositories for BYTZ and Gitian.

git clone https://github.com/devrandom/gitian-builder.git
git clone https://github.com/bytzcurrency/bytz
git clone https://github.com/bytzcurrency/gitian.sigs.git
git clone https://github.com/bytzcurrency/bytz-detached-sigs.git
mkdir -p gitian-builder/inputs
cd gitian-builder/inputs
wget https://<url and path to MAC OSX SDK>/MacOSX10.11.sdk.tar.xz
cd -

Setting up the Gitian image

Gitian needs a virtual image of the operating system to build in. Currently this is Ubuntu Bionic x86_64. This image will be copied and used every time that a build is started to make sure that the build is deterministic. Creating the image will take a while, but only has to be done once.

Execute the following as user gitianuser:

bytz/contrib/gitian-builder.py -S

There will be a lot of warnings printed during the build of the image. These can be ignored.

Note: If sudo asks for a password, enter the password for the user gitianuser not for root.

Clone this wiki locally