Merge pull request #345 from crowning-/patch-1
Bitcoin references removed
This commit is contained in:
commit
9cd74bc979
@ -1,9 +1,9 @@
|
||||
Gitian building
|
||||
================
|
||||
|
||||
*Setup instructions for a gitian build of Bitcoin using a Debian VM or physical system.*
|
||||
*Setup instructions for a gitian build of Dash using a Debian VM or physical system.*
|
||||
|
||||
Gitian is the deterministic build process that is used to build the Bitcoin
|
||||
Gitian is the deterministic build process that is used to build the Dash
|
||||
Core executables. It provides a way to be reasonably sure that the
|
||||
executables are really built from source on GitHub. It also makes sure that
|
||||
the same, tested dependencies are used and statically built into the executable.
|
||||
@ -11,7 +11,7 @@ the same, tested dependencies are used and statically built into the executable.
|
||||
Multiple developers build the source code by following a specific descriptor
|
||||
("recipe"), cryptographically sign the result, and upload the resulting signature.
|
||||
These results are compared and only if they match, the build is accepted and uploaded
|
||||
to bitcoin.org.
|
||||
to dashpay.io.
|
||||
|
||||
More independent gitian builders are needed, which is why I wrote this
|
||||
guide. It is preferred to follow these steps yourself instead of using someone else's
|
||||
@ -26,7 +26,7 @@ Table of Contents
|
||||
- [Installing gitian](#installing-gitian)
|
||||
- [Setting up gitian images](#setting-up-gitian-images)
|
||||
- [Getting and building the inputs](#getting-and-building-the-inputs)
|
||||
- [Building Bitcoin](#building-bitcoin)
|
||||
- [Building Dash](#building-dash)
|
||||
- [Building an alternative repository](#building-an-alternative-repository)
|
||||
- [Signing externally](#signing-externally)
|
||||
- [Uploading signatures](#uploading-signatures)
|
||||
@ -277,12 +277,12 @@ cd ..
|
||||
|
||||
**Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*.
|
||||
|
||||
Clone the git repositories for bitcoin and gitian and then checkout the bitcoin version that you want to build.
|
||||
Clone the git repositories for dash and gitian and then checkout the dash version that you want to build.
|
||||
|
||||
```bash
|
||||
git clone https://github.com/devrandom/gitian-builder.git
|
||||
git clone https://github.com/bitcoin/bitcoin
|
||||
cd bitcoin
|
||||
git clone https://github.com/dashpay/dash.git
|
||||
cd dash
|
||||
git checkout v${VERSION}
|
||||
cd ..
|
||||
```
|
||||
@ -307,19 +307,27 @@ There will be a lot of warnings printed during build of the images. These can be
|
||||
|
||||
**Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*.
|
||||
|
||||
**Note**: Repeat this step when you have upgraded to a newer version of Gitian.
|
||||
|
||||
**Note**: if you get the error message *"bin/make-base-vm: mkfs.ext4: not found"* during this process you have to make the following change in file *"gitian-builder/bin/make-base-vm"* at line 117:
|
||||
```bash
|
||||
# mkfs.ext4 -F $OUT-lxc
|
||||
/sbin/mkfs.ext4 -F $OUT-lxc # (some Gitian environents do NOT find mkfs.ext4. Some do...)
|
||||
```
|
||||
|
||||
Getting and building the inputs
|
||||
--------------------------------
|
||||
|
||||
Follow the instructions in [doc/release-process.md](release-process.md) in the bitcoin repository
|
||||
Follow the instructions in [doc/release-process.md](release-process.md) in the dash repository
|
||||
under 'Fetch and build inputs' to install sources which require manual intervention. Also follow
|
||||
the next step: 'Seed the Gitian sources cache', which will fetch all necessary source files allowing
|
||||
for gitian to work offline.
|
||||
|
||||
Building Bitcoin
|
||||
Building Dash
|
||||
----------------
|
||||
|
||||
To build Bitcoin (for Linux, OSX and Windows) just follow the steps under 'perform
|
||||
gitian builds' in [doc/release-process.md](release-process.md) in the bitcoin repository.
|
||||
To build Dash (for Linux, OSX and Windows) just follow the steps under 'perform
|
||||
gitian builds' in [doc/release-process.md](release-process.md) in the dash repository.
|
||||
|
||||
This may take a long time as it also builds the dependencies needed for each descriptor.
|
||||
These dependencies will be cached after a successful build to avoid rebuilding them when possible.
|
||||
@ -332,12 +340,12 @@ tail -f var/build.log
|
||||
|
||||
Output from `gbuild` will look something like
|
||||
|
||||
Initialized empty Git repository in /home/debian/gitian-builder/inputs/bitcoin/.git/
|
||||
Initialized empty Git repository in /home/debian/gitian-builder/inputs/dash/.git/
|
||||
remote: Reusing existing pack: 35606, done.
|
||||
remote: Total 35606 (delta 0), reused 0 (delta 0)
|
||||
Receiving objects: 100% (35606/35606), 26.52 MiB | 4.28 MiB/s, done.
|
||||
Resolving deltas: 100% (25724/25724), done.
|
||||
From https://github.com/bitcoin/bitcoin
|
||||
From https://github.com/dashpay/dash
|
||||
... (new tags, new branch etc)
|
||||
--- Building for precise x86_64 ---
|
||||
Stopping target if it is up
|
||||
@ -363,11 +371,11 @@ and inputs.
|
||||
|
||||
For example:
|
||||
```bash
|
||||
URL=https://github.com/laanwj/bitcoin.git
|
||||
COMMIT=2014_03_windows_unicode_path
|
||||
./bin/gbuild --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
|
||||
./bin/gbuild --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
|
||||
./bin/gbuild --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
|
||||
URL=https://github.com/crowning-/dash.git
|
||||
COMMIT=b616fb8ef0d49a919b72b0388b091aaec5849b96
|
||||
./bin/gbuild --commit dash=${COMMIT} --url dash=${URL} ../dash/contrib/gitian-descriptors/gitian-linux.yml
|
||||
./bin/gbuild --commit dash=${COMMIT} --url dash=${URL} ../dash/contrib/gitian-descriptors/gitian-win.yml
|
||||
./bin/gbuild --commit dash=${COMMIT} --url dash=${URL} ../dash/contrib/gitian-descriptors/gitian-osx.yml
|
||||
```
|
||||
|
||||
Signing externally
|
||||
@ -376,23 +384,24 @@ Signing externally
|
||||
If you want to do the PGP signing on another device that's also possible; just define `SIGNER` as mentioned
|
||||
and follow the steps in the build process as normal.
|
||||
|
||||
gpg: skipped "laanwj": secret key not available
|
||||
gpg: skipped "crowning-": secret key not available
|
||||
|
||||
When you execute `gsign` you will get an error from GPG, which can be ignored. Copy the resulting `.assert` files
|
||||
in `gitian.sigs` to your signing machine and do
|
||||
|
||||
```bash
|
||||
gpg --detach-sign ${VERSION}-linux/${SIGNER}/bitcoin-build.assert
|
||||
gpg --detach-sign ${VERSION}-win/${SIGNER}/bitcoin-build.assert
|
||||
gpg --detach-sign ${VERSION}-osx/${SIGNER}/bitcoin-build.assert
|
||||
gpg --detach-sign ${VERSION}-linux/${SIGNER}/dash-build.assert
|
||||
gpg --detach-sign ${VERSION}-win/${SIGNER}/dash-build.assert
|
||||
gpg --detach-sign ${VERSION}-osx/${SIGNER}/dash-build.assert
|
||||
```
|
||||
|
||||
This will create the `.sig` files that can be committed together with the `.assert` files to assert your
|
||||
gitian build.
|
||||
|
||||
Uploading signatures
|
||||
Uploading signatures (not yet implemented)
|
||||
---------------------
|
||||
|
||||
After building and signing you can push your signatures (both the `.assert` and `.assert.sig` files) to the
|
||||
[bitcoin/gitian.sigs](https://github.com/bitcoin/gitian.sigs/) repository, or if that's not possible create a pull
|
||||
request. You can also mail the files to me (laanwj@gmail.com) and I'll commit them.
|
||||
In the future it will be possible to push your signatures (both the `.assert` and `.assert.sig` files) to the
|
||||
[dash/gitian.sigs](https://github.com/dashpay/gitian.sigs/) repository, or if that's not possible to create a pull
|
||||
request.
|
||||
There will be an official announcement when this repository is online.
|
||||
|
Loading…
Reference in New Issue
Block a user