Page MenuHomePhabricator

Add information to setup a VM to do gitian build manually
ClosedPublic

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

Details

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 Passed
Unit
No Test Coverage
Build Status
Buildable 4519
Build 7101: Bitcoin ABC Buildbot (legacy)
Build 7100: arc lint + arc unit

Event Timeline

Fabien requested changes to this revision.Jan 14 2019, 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.Jan 14 2019, 11:28
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.

Update doc to reflect comments

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 !

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.

As discussed in the dev meeting, at least some instructions have been tested successfully.
The remaining part can be tested/fixed in later diffs.

This revision is now accepted and ready to land.Jan 28 2019, 17:58
This revision was automatically updated to reflect the committed changes.