Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
  • Sign in / Register
Merge Wallet
Merge Wallet
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 8
    • Issues 8
    • List
    • Boards
    • Labels
    • Milestones
  • Packages
    • Packages
    • Container Registry
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Merge
  • Merge WalletMerge Wallet
  • Wiki
  • Gitian Bionic Notes

Gitian Bionic Notes

Last edited by Sascha Krumbach Feb 08, 2019
Page history

Releases built with gitian-build.py

release tag version/branch Gitian signatures Built on OS Release v3.1.1 v3.1.1 gitianbuild log

Linux Mac OS Windows Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic Master branch (3.1.99-qt596) v3.1.99-qt596 Linux Mac OS Windows Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic master branch (3.1.99-qt597) (with qt5.9.7) with MacOSX10.11.sdk.tar.xz v3.1.99-qt597 gitianbuild log

Linux Mac OS Windows Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic This script is used with bionic or debian 9.x but can be adapted for usage with trusty. Current script works for current master and releases after 3.1.1.

Script works with debian 8 and trusty but would require some adaption, I compiled release 3.1.1 with gitian-descriptors from current master.

Script works also with docker for those who want to try something different than LXC. You can not build on bionic with KVM, latest supported by KVM is xenial

Script build info

Bulding for current master/newer releases (bionic)

  • debian 9 Stretch or later
  • Ubuntu 18.04 (bionic)
  • Fedora 29
  • Opensuse LEAP/Thumbleweed

Building for 3.1.1 or earlier (trusty)

  • debian 8.10
  • ubuntu trusty

More info and refference: https://github.com/bitcoin-core/docs/blob/master/gitian-building.md

How to setup gitian

  1. download latest ubuntu bionic netinstall (Ubuntu 18.04 LTS (Bionic Beaver) Netboot)
  2. install from Ubuntu Netbook (probably everybody uses here VM's, please check this part for connecting over ssh, if you did not set port forwarding to 22222, use please default port whihc is 22) During installation, when you choose software packages, mark checkbox [x] only for SSH
  3. Install dependencies sudo apt-get install git ruby apt-cacher-ng qemu-utils debootstrap lxc python-cheetah parted kpartx bridge-utils make curl firewalld
  4. configure LXC and reboot 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 /etc/rc.local script that sets up bridge between guest and host
    echo '#!/bin/sh -e' > /etc/rc.local
    echo 'brctl addbr br0' >> /etc/rc.local
    echo 'ip addr add 10.0.3.1/24 broadcast 10.0.3.255 dev br0' >> /etc/rc.local
    echo 'ip link set br0 up' >> /etc/rc.local
    echo 'firewall-cmd --zone=trusted --add-interface=br0' >> /etc/rc.local
    echo 'exit 0' >> /etc/rc.local
    chmod +x /etc/rc.local
    # make sure that USE_LXC is always set when logging in as gitianuser,
    # and configure LXC IP addresses
    echo 'export USE_LXC=1' >> /home/gitianuser/.profile
    echo 'export GITIAN_HOST_IP=10.0.3.1' >> /home/gitianuser/.profile
    echo 'export LXC_GUEST_IP=10.0.3.5' >> /home/gitianuser/.profile
    reboot
    You can install vm builder from repository or use the same which is used on debian
    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 ..
    Note: When sudo asks for a password, enter the password for the user gitianuser not for root.
  5. Clone the git repositories for pivx and Gitian.
    git clone https://github.com/devrandom/gitian-builder.git
    git clone https://github.com/PIVX-Project/PIVX.git
    git clone https://github.com/PIVX-Project/gitian.sigs.git
    git clone https://github.com/PIVX-Project/pivx-detached-sigs.git
  6. Copy gitian-build.py script and make it executable
    cp ./PIVX/contrib/gitian-build.py ../gitian-build.py
    chmod +x ./gitian-build.py
  7. Prepare gitian with gitian-build.py
    export VERSION=TagVersionOrBranch
    export SIGNER=YOURGPGID
    ./gitian-build.py --setup $SIGNER $VERSION    

How to build version 3.1.1 with this python-build.py script:

https://gist.github.com/cevap/66abfd69d47a8ac68c20b4ea7525d63f

(for automatic/signed commit, remove --no-commit)

export VERSION=3.1.1
export SIGNER=YOURGPGID
cd ./PIVX
wget https://gist.githubusercontent.com/cevap/66abfd69d47a8ac68c20b4ea7525d63f/raw/1ade0d0d237e51f08b7316011ae58f186858bec1/0001-Patch-gitian-descriptors-for-use-on-bionic-with-giti.patch
git apply 0001-Patch-gitian-descriptors-for-use-on-bionic-with-giti.patch
cp ./contrib/gitian-build.py ../gitian-build.py
chmod +x ../gitian-build.py
cd ..

./gitian-build.py --build --no-commit -j 2 -m 3071 $SIGNER $VERSION

How to build from branch/commit

(for automatic/signed commit, remove --no-commit)

export VERSION=master
export SIGNER=YOURGPGID
cd ./PIVX
wget https://gist.githubusercontent.com/cevap/66abfd69d47a8ac68c20b4ea7525d63f/raw/1ade0d0d237e51f08b7316011ae58f186858bec1/0001-Patch-gitian-descriptors-for-use-on-bionic-with-giti.patch
git apply 0001-Patch-gitian-descriptors-for-use-on-bionic-with-giti.patch
cp ./contrib/gitian-build.py ../gitian-build.py
chmod +x ../gitian-build.py
cd ..

./gitian-build.py --build --no-commit --commit -j 2 -m 3071 $SIGNER $VERSION

Connected to other pulls

Builds with following pulls:

Clone repository
  • Gitian Bionic Notes
  • Gitian Notes
  • Home
More Pages