Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update docs to point to ioncoincore #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 21 additions & 21 deletions gitian-building.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Gitian building
================

*Setup instructions for a Gitian build of Bitcoin Core using a VM or physical system.*
*Setup instructions for a Gitian build of Ioncoin Core using a VM or physical system.*

Gitian is the deterministic build process that is used to build the Bitcoin
Core executables. It provides a way to be reasonably sure that the
Expand Down Expand Up @@ -61,7 +61,7 @@ You can check the version with `lxc-execute --version`.
On Debian you might have to compile a suitable version of lxc or you can use Ubuntu 18.04 or higher instead of Debian as the host.

## Non-Debian / Ubuntu, Manual and Offline Building
The instructions below use the automated script [gitian-build.py](https://github.com/bitcoin/bitcoin/blob/master/contrib/gitian-build.py) which only works in Debian/Ubuntu. For manual steps and instructions for fully offline signing, see [this guide](./gitian-building/gitian-building-manual.md).
The instructions below use the automated script [gitian-build.py](https://github.com/ioncoincore/ion/blob/master/contrib/gitian-build.py) which only works in Debian/Ubuntu. For manual steps and instructions for fully offline signing, see [this guide](./gitian-building/gitian-building-manual.md).

## MacOS code signing
In order to sign builds for MacOS, you need to download the free SDK and extract a file. The steps are described [here](./gitian-building/gitian-building-mac-os-sdk.md). Alternatively, you can skip the OSX build by adding `--os=lw` below.
Expand All @@ -70,30 +70,30 @@ In order to sign builds for MacOS, you need to download the free SDK and extract
The `gitian-build.py` script will checkout different release tags, so it's best to copy it:

```bash
cp bitcoin/contrib/gitian-build.py .
cp ion/contrib/gitian-build.py .
```

You only need to do this once:

```
./gitian-build.py --setup satoshi 0.17.0rc1
./gitian-build.py --setup <pgp key> <version>
```

Where `satoshi` is your Github name and `0.17.0rc1` is the most recent tag (without `v`).
Where `pgp key` is your pgp key and `version` is the most recent tag (without `v`).

In order to sign gitian builds on your host machine, which has your PGP key, fork the gitian.sigs repository and clone it on your host machine:

```
git clone [email protected]:bitcoin-core/gitian.sigs.git
git remote add satoshi [email protected]:satoshi/gitian.sigs.git
git clone [email protected]:ioncoincore/gitian.sigs.git
git remote add ion-sigs [email protected]:<github username>/gitian.sigs.git
```

## Build binaries
Windows and OSX have code signed binaries, but those won't be available until a few developers have gitian signed the non-codesigned binaries.

### To build the most recent tag:

`./gitian-build.py --detach-sign --no-commit -b satoshi 0.17.0rc1`
`./gitian-build.py --detach-sign --no-commit -b <pgp key> <version>`

To speed up the build, use `-j 5 -m 5000` as the first arguments, where `5` is the number of CPU's you allocated to the VM plus one, and 5000 is a little bit less than then the MB's of RAM you allocated.

Expand All @@ -102,29 +102,29 @@ If all went well, this produces a number of (uncommited) `.assert` files in the
You need to copy these uncommited changes to your host machine, where you can sign them:

```
export NAME=satoshi
gpg --output $VERSION-linux/$NAME/bitcoin-linux-0.17-build.assert.sig --detach-sign 0.17.0rc1-linux/$NAME/bitcoin-linux-0.17-build.assert
gpg --output $VERSION-osx-unsigned/$NAME/bitcoin-osx-0.17-build.assert.sig --detach-sign 0.17.0rc1-osx-unsigned/$NAME/bitcoin-osx-0.17-build.assert
gpg --output $VERSION-win-unsigned/$NAME/bitcoin-win-0.17-build.assert.sig --detach-sign 0.17.0rc1-win-unsigned/$NAME/bitcoin-win-0.17-build.assert
export NAME=<github user name>
gpg --output $VERSION-linux/$NAME/ion-linux-<version>-build.assert.sig --detach-sign <version>-linux/$NAME/ion-linux-<version>-build.assert
gpg --output $VERSION-osx-unsigned/$NAME/ion-osx-<version>-build.assert.sig --detach-sign <version>-osx-unsigned/$NAME/ion-osx-<version>-build.assert
gpg --output $VERSION-win-unsigned/$NAME/ion-win-<version>-build.assert.sig --detach-sign <version>-win-unsigned/$NAME/ion-win-<version>-build.assert
```

### Make pull request
Make a PR (both the `.assert` and `.assert.sig` files) to the
[bitcoin-core/gitian.sigs](https://github.com/bitcoin-core/gitian.sigs/) repository:
[ioncoincore/gitian.sigs](https://github.com/ioncoincore/gitian.sigs/) repository:

```
git checkout -b 0.17.0rc1-not-codesigned
git commit -S -a -m "Add $NAME 0.17.0rc non-code signed signatures"
git push --set-upstream $NAME 0.17.0rc1
git checkout -b <version>-not-codesigned
git commit -S -a -m "Add $NAME <version> non-code signed signatures"
git push --set-upstream $NAME <version>1
```

### Email files
You can also mail the files to Wladimir (laanwj@gmail.com) and he will commit them.
You can also mail the files to the Devs (ioncoincore@gmail.com) and they will commit them.

```bash
gpg --detach-sign ${VERSION}-linux/${SIGNER}/bitcoin-linux-*-build.assert
gpg --detach-sign ${VERSION}-win-unsigned/${SIGNER}/bitcoin-win-*-build.assert
gpg --detach-sign ${VERSION}-osx-unsigned/${SIGNER}/bitcoin-osx-*-build.assert
gpg --detach-sign ${VERSION}-linux/${SIGNER}/ion-linux-*-build.assert
gpg --detach-sign ${VERSION}-win-unsigned/${SIGNER}/ion-win-*-build.assert
gpg --detach-sign ${VERSION}-osx-unsigned/${SIGNER}/ion-osx-*-build.assert
```

### Other .assert files
Expand All @@ -134,6 +134,6 @@ This will create the `.sig` files that can be committed together with the `.asse
Gitian build.


`./gitian-build.py --detach-sign -s satoshi 0.17.0rc1 --nocommit`
`./gitian-build.py --detach-sign -s <pgp key> <version> --nocommit`

Make another pull request for these.
4 changes: 2 additions & 2 deletions gitian-building/gitian-building-mac-os-sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Non-MacOS host:
--------

Alternatively, you can use 7zip and SleuthKit to extract the files one by one.
The script [extract-osx-sdk.sh](https://github.com/bitcoin/bitcoin/blob/master/contrib/macdeploy/extract-osx-sdk.sh) automates this. First ensure
The script [extract-osx-sdk.sh](https://github.com/ioncoincore/ion/blob/master/contrib/macdeploy/extract-osx-sdk.sh) automates this. First ensure
the dmg file is in the current directory, and then run the script.

You may wish to delete the intermediate 5.hfs file and MacOSX10.11.sdk (the directory) when
Expand All @@ -54,4 +54,4 @@ rm MacOSX10.11.sdk.tar.gz

Troubleshooting
---------------
See [README_osx.md](https://github.com/bitcoin/bitcoin/blob/master/doc/README_osx.md) for troubleshooting tips.
See [README_osx.md](https://github.com/ioncoincore/ion/blob/master/doc/build-osx.md) for troubleshooting tips.
24 changes: 12 additions & 12 deletions gitian-building/gitian-building-manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,24 @@ Getting and building the inputs
--------------------------------

- [Getting and building the inputs](#getting-and-building-the-inputs)
- [Building Bitcoin Core](#building-bitcoin-core)
- [Building Ioncoin Core](#building-ioncoin-core)
- [Building an alternative repository](#building-an-alternative-repository)
- [Building fully offline](#building-fully-offline)

At this point you have two options, you can either use the automated script (found in [https://github.com/bitcoin/bitcoin/blob/master/contrib/gitian-build.py](https://github.com/bitcoin/bitcoin/blob/master/contrib/gitian-build.py), only works in Debian/Ubuntu) or you could manually do everything by following this guide.
If you are using the automated script, then run it with the `--setup` command. Afterwards, run it with the `--build` command (example: `contrib/gitian-build.py -b signer 0.17.0`). Otherwise ignore this.
If you are using the automated script, then run it with the `--setup` command. Afterwards, run it with the `--build` command (example: `contrib/gitian-build.py -b signer 4.0.00`). Otherwise ignore this.

Follow the instructions in [https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#fetch-and-create-inputs-first-time-or-when-dependency-versions-change)
in the bitcoin repository under 'Fetch and create inputs' to install sources which require
manual intervention. Also optionally follow the next step: 'Seed the Gitian sources cache
and offline git repositories' which will fetch the remaining files required for building
offline.

Building Bitcoin Core
Building Ioncoin Core
----------------

To build Bitcoin Core (for Linux, OS X and Windows) just follow the steps under 'perform
Gitian builds' in [https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#setup-and-perform-gitian-builds) in the bitcoin repository.
To build Ioncoin Core (for Linux, OS X and Windows) just follow the steps under 'perform
Gitian builds' in [https://github.com/ioncoin/ion/blob/master/doc/release-process.md](https://github.com/ioncoincore/ion/blob/master/doc/release-process.md#setup-and-perform-gitian-builds) in the ioncoincore repository.

This may take some time as it will build all the dependencies needed for each descriptor.
These dependencies will be cached after a successful build to avoid rebuilding them when possible.
Expand Down Expand Up @@ -66,9 +66,9 @@ 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
./bin/gbuild --commit ion=${COMMIT} --url ion=${URL} ../ion/contrib/gitian-descriptors/gitian-linux.yml
./bin/gbuild --commit ion=${COMMIT} --url ion=${URL} ../ion/contrib/gitian-descriptors/gitian-win.yml
./bin/gbuild --commit ion=${COMMIT} --url ion=${URL} ../ion/contrib/gitian-descriptors/gitian-osx.yml
```

Building fully offline
Expand Down Expand Up @@ -114,10 +114,10 @@ Then when building, override the remote URLs that gbuild would otherwise pull fr
```bash

cd /some/root/path/
git clone https://github.com/bitcoin-core/bitcoin-detached-sigs.git
git clone https://github.com/ioncoincore/ion-detached-sigs.git

BTCPATH=/some/root/path/bitcoin
SIGPATH=/some/root/path/bitcoin-detached-sigs
BTCPATH=/some/root/path/ion
SIGPATH=/some/root/path/ion-detached-sigs

./bin/gbuild --url bitcoin=${BTCPATH},signature=${SIGPATH} ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
./bin/gbuild --url ion=${BTCPATH},signature=${SIGPATH} ../ion/contrib/gitian-descriptors/gitian-win-signer.yml
```
8 changes: 4 additions & 4 deletions gitian-building/gitian-building-setup-gitian-bionic.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,13 @@ Installing Gitian
Re-login as the user `gitianuser` that was created during installation.
The rest of the steps in this guide will be performed as that user.

Clone the git repositories for bitcoin and Gitian.
Clone the git repositories for ioncoin and Gitian.

```bash
git clone https://github.com/devrandom/gitian-builder.git
git clone https://github.com/bitcoin/bitcoin
git clone https://github.com/bitcoin-core/gitian.sigs.git
git clone https://github.com/bitcoin-core/bitcoin-detached-sigs.git
git clone https://github.com/ioncoincore/ion
git clone https://github.com/ioncoincore/gitian.sigs.git
git clone https://github.com/ioncoincore/ion-detached-sigs.git
```

Setting up the Gitian image
Expand Down
12 changes: 6 additions & 6 deletions gitian-building/gitian-building-setup-gitian-debian.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,13 @@ cd ..

**Note**: When sudo asks for a password, enter the password for the user `gitianuser` not for `root`.

Clone the git repositories for bitcoin and Gitian.
Clone the git repositories for ioncoin and Gitian.

```bash
git clone https://github.com/devrandom/gitian-builder.git
git clone https://github.com/bitcoin/bitcoin
git clone https://github.com/bitcoin-core/gitian.sigs.git
git clone https://github.com/bitcoin-core/bitcoin-detached-sigs.git
git clone https://github.com/ioncoincore/ion
git clone https://github.com/ioncoincore/gitian.sigs.git
git clone https://github.com/ioncoincore/bitcoin-detached-sigs.git
```

Setting up the Gitian image
Expand All @@ -90,8 +90,8 @@ Execute the following as user `gitianuser`:

```bash
cd gitian-builder
bin/make-base-vm --lxc --arch amd64 --suite bionic # For releases after and including 0.17.0
bin/make-base-vm --lxc --arch amd64 --suite trusty # For releases before 0.17.0
bin/make-base-vm --lxc --arch amd64 --suite bionic # for versions 3.0.5 and above
bin/make-base-vm --lxc --arch amd64 --suite trusty # for versions below 3.0.5
```

There will be a lot of warnings printed during the build of the image. These can be ignored.
Expand Down
12 changes: 6 additions & 6 deletions gitian-building/gitian-building-setup-gitian-fedora.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,13 @@ Installing Gitian
Login as the user `gitianuser` that was created during installation.
The rest of the steps in this guide will be performed as that user.

Clone the git repositories for bitcoin and Gitian.
Clone the git repositories for ioncoin and Gitian.

```bash
git clone https://github.com/devrandom/gitian-builder.git
git clone https://github.com/bitcoin/bitcoin
git clone https://github.com/bitcoin-core/gitian.sigs.git
git clone https://github.com/bitcoin-core/bitcoin-detached-sigs.git
git clone https://github.com/ioncoincore/ion
git clone https://github.com/ioncoincore/gitian.sigs.git
git clone https://github.com/ioncoincore/bitcoin-detached-sigs.git
```

Setting up the Gitian image
Expand All @@ -66,8 +66,8 @@ Execute the following as user `gitianuser`:

```bash
cd gitian-builder
bin/make-base-vm --docker --arch amd64 --suite bionic # For releases after and including 0.17.0
bin/make-base-vm --docker --arch amd64 --suite trusty # For releases before 0.17.0
bin/make-base-vm --docker --arch amd64 --suite bionic # For releases after and including 3.0.5
bin/make-base-vm --docker --arch amd64 --suite trusty # For releases before 3.0.5
```

**Note**: When sudo asks for a password, enter the password for the user `gitianuser` not for `root`.