Update README.md

master
gdm85 9 years ago
parent 6bfe823cc7
commit 5407f858d4

@ -1,24 +1,35 @@
Building bitcoin with a gitian-builder Docker container
=======================================================
This image allows automated gitian builds of bitcoin using a docker container.
Before proceeding make sure you have created the necessary *gdm85/wheezy*, *gdm85/gitian-host* and *gdm85/gitian-host-vms* images, see [these instructions](../gitian-host/README.md).
This image allows automated Gitian builds of bitcoin core using a Docker container.
Prerequisites
-------------
Before proceeding make sure you have created these necessary images:
* gdm85/wheezy
* gdm85/gitian-host
* gdm85/gitian-host-vms
Instructions to build them are available [here](../gitian-host/README.md).
Image creation
---------------
Afterwards you can create the *gdm85/gitian-bitcoin-host* image by running [scripts/create-gitian-bitcoin-host.sh](../scripts/create-gitian-bitcoin-host.sh).
**NOTE:** this image currently supports only building of bitcoin 0.9.1, but it can be easily adapted to build other versions.
You can submit the source lists for other versions as a patch or pull request, see directory [input-sources/](input-sources/) for currently available versions.
Bitcoin input sources
---------------------
Since version 0.10.0 it's no more needed to use [input-sources/](input-sources/).
Do not forget to read also the [Preamble here](../gitian-host/README.md#preamble) to correctly use Gitian builder and these provided scripts.
Do not forget to read also the [Preamble here](../gitian-host/README.md#preamble) to correctly use Gitian builder and provided scripts.
Spawning a container
--------------------
You can spawn a new container for Gitian bitcoin builds with:
A new container for Gitian bitcoin builds can be spawned with:
- [scripts/spawn-gitian-bitcoin-host.sh](scripts/spawn-gitian-bitcoin-host.sh)
This script will create the running docker container and provide details about how to connect via SSH to the container, example:
This script will spawn a running Docker container and provide details about how to connect via SSH to the container, example:
```
$ scripts/spawn-gitian-bitcoin-host.sh
You can now SSH into container 3bc0d0611374ca4d4730fd5fb1067808b1bcfd072ec7cf029393a7fd99ec856e:
@ -33,24 +44,21 @@ Preparing the gitian environment
To initiate a gitian build of bitcoin you will run:
- [./build-bitcoin.sh](build-bitcoin.sh) 0.9.1
- [./build-bitcoin.sh](bin/build-bitcoin.sh) 0.10.0rc1
Notice the parameter 0.9.1, that is the version we are going to build and must be available in [input-sources](input-sources/).
Notice the parameter 0.10.0, that is the version we are going to build and must be available in [input-sources](input-sources/).
[build-bitcoin.sh](build-bitcoin.sh) is a script that will download & build all the dependencies and then bitcoin itself, for both i386 and amd64 Linux architectures.
[build-bitcoin.sh](bin/build-bitcoin.sh) is a script that will download & build all the dependencies and then bitcoin itself, for both i386 and amd64 Linux architectures.
Signing
-------
Once you have completed the build of bitcoin, you will be ready to perform the signing; before doing that you should verify that signatures are matching with those of [other developers](https://github.com/bitcoin/gitian.sigs) by peeking inside *~/gitian.sigs* of the running container.
Only the out_manifest signatures do matter for this purpose.
In order to sign you have to either put your private key in the container's *~/.gnupg* or perform the signing externally, at your option.
In order to sign the build you can either import your private key in container's debian user gpg, or perform the signing externally.
If you have the private key in the container (also displayed by `gpg -K`), then you can use the [sign.sh](sign.sh) script that is already provided, otherwise
run it (with failure) and then copy the *~/gitian.sigs* directory to another machine to apply the GPG signature.
In this example we will cover the former case; run [~/sign.sh](bin/sign.sh) script and check that your generated assert file (in a subdirectory of ~/gitian.sigs) matches with those of [other developers](https://github.com/bitcoin/gitian.sigs).
**NOTE:** Only the out_manifest signatures do matter, not all the dependencies.
Submitting your signature
-------------------------
If everything went well, you can fork the [gitian sigs repo](https://github.com/bitcoin/gitian.sigs), commit your signatures and submit a pull request for inclusion.
If signatures do match, you can fork the [gitian sigs repo](https://github.com/bitcoin/gitian.sigs), add & commit your signatures and submit a pull request for inclusion.

Loading…
Cancel
Save