In this section we will be setting up the Fedora installation for Gitian building.
We assume that a user gitianuser
was previously created and added to the wheel
group.
First we need to set up dependencies. Type/paste the following in the terminal:
sudo dnf install git ruby gnupg docker tar rsync wget curl
Then set up docker and the rest with the following, which is a complex jumble of settings and workarounds:
sudo -s
systemctl enable docker.service
# the version of docker in Fedora needs to run as root, so make sure
# that the build script can execute it without providing a password
# https://docs.docker.com/install/linux/linux-postinstall/
groupadd docker
usermod -aG docker gitianuser
echo 'export USE_DOCKER=1' >> /home/gitianuser/.bash_profile
reboot
At the end Fedora 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
.
Login as the user gitianuser
that was created during installation.
The rest of the steps in this guide will be performed as that user.
Clone the git repositories for artiqox and Gitian.
git clone https://github.com/devrandom/gitian-builder.git
git clone https://github.com/artiqox/artiqox
git clone https://github.com/artiqox/gitian.sigs.git
git clone https://github.com/artiqox/artiqox-detached-sigs.git
Gitian needs a virtual image of the operating system to build in. Currently this is Ubuntu Bionic x86_64, however previous releases were built with Ubuntu Trusty 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
:
cd gitian-builder
bin/make-base-vm --docker --arch amd64 --suite bionic # For releases after and including 0.17.0
bin/make-base-vm --docker --arch amd64 --suite trusty # For releases before 0.17.0
Note: When sudo asks for a password, enter the password for the user gitianuser
not for root
.