Page MenuHomePhabricator

Add information to setup a VM to do gitian build manually
Needs ReviewPublic

Authored by deadalnix on Fri, Jan 11, 15:58.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Summary

This ports the documentation from https://github.com/bitcoin-core/docs/blob/master/gitian-building.md and adapt them to fit Bitcoin ABC.

Link to sections of release-process.md are now dead as this docmentation was removed from Bitcoin ABC.

Test Plan

I was able to:

  • follow the instruction and create a Debian VM.
  • run the manual gitian build on said VM.
  • run the offline gitian build on that VM.

I was unable to:

  • Verifiy the vagrant documentation
  • Verify that gitian-build.py works as advertised
  • Create a Fedora VM

Diff Detail

Repository
rABC Bitcoin ABC
Branch
gittiandoc
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 4519
Build 7101: Bitcoin ABC Teamcity Staging
Build 7100: arc lint + arc unit

Event Timeline

deadalnix created this revision.Fri, Jan 11, 15:58
Herald added a reviewer: Restricted Project. · View Herald TranscriptFri, Jan 11, 15:58
Herald added a subscriber: schancel. · View Herald Transcript
Fabien requested changes to this revision.Mon, Jan 14, 11:28
Fabien added a subscriber: Fabien.

What I tried:

  • follow the instruction and create a Debian VM => OK
  • run the offline gitian build on said VM => OK
  • run the gitian-build.py script => did not work

The gitian-build.py script is trying to setup an Ubuntu Bionic VM using Debootstrap scripts, but the Debootstrap version shipped with Debian 9 is too old and does not know about Ubuntu Bionic.

Note: the contrib/gitian-descriptors/gitian-*-signer.yml should be updated or removed as they seem to not have been updated from core

doc/gitian-building/gitian-building-mac-os-sdk.md
35 ↗(On Diff #6624)

Xcode_7.3.1.dmg is no longer needed:
rm -rf 5.hfs MacOSX10.11.sdk Xcode_7.3.1.dmg

doc/gitian-building/gitian-building-manual.md
84 ↗(On Diff #6624)

If the user is strictly following the instructions, the path is know:

export PATH="$PATH":/home/gitianuser/gitian-builder/libexec
export USE_LXC=1
cd ~/gitian-builder

This will help copy and paste the lines

100 ↗(On Diff #6624)

Suggestion:

sudo sed -i 's/# Offlinemode: 0/Offlinemode: 1/g' /etc/apt-cacher-ng/acng.conf
sudo service apt-cacher-ng restart
111 ↗(On Diff #6624)

Update to:

cd
URL=${PWD}/bitcoin-abc
COMMIT=<commmit hash or tag>
./bin/gbuild --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin-abc/contrib/gitian-descriptors/gitian-win.yml
This revision now requires changes to proceed.Mon, Jan 14, 11:28
deadalnix added inline comments.Mon, Jan 14, 22:49
doc/gitian-building/gitian-building-mac-os-sdk.md
35 ↗(On Diff #6624)

Because it wasn't specified how and where to get it from, I don't think we should specify how to delete it. The doc never took ownership of that file.

doc/gitian-building/gitian-building-manual.md
100 ↗(On Diff #6624)

I don't think we should use sed here, as someone might want to toggle this n a way that do not fit the pattern.

deadalnix updated this revision to Diff 6660.Mon, Jan 14, 23:43

Update doc to reflect comments

Fabien added inline comments.Tue, Jan 15, 08:30
doc/gitian-building/gitian-building-mac-os-sdk.md
35 ↗(On Diff #6624)

The file name is somewhat specified from the direct download link, and the same remove instruction is given in the MacOS host section.
This would not be a big concern if the file was not 5GB !

deadalnix added inline comments.Sat, Jan 19, 01:43
doc/gitian-building/gitian-building-mac-os-sdk.md
35 ↗(On Diff #6624)

This doesn't change that this doc hasn't took ownership of the file.