You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
11. You should have 2 files in the manifest directory, the manifest itself, e.g. bitcoin-linux-0.14.1.yml and the detacted digitial signature, e.g. bitcoin-linux-0.14.1.yml.sig
57
+
11. You should have 2 files in the manifest directory, the manifest itself, e.g. `bitcoin-linux-#.#.#.yml`, and the detached digital signature, e.g. `bitcoin-linux-#.#.#.yml.sig`.
58
58
12. Commit those directories back to your fork and create a merge request against the master branch of the original project.
59
59
13. If there are other gitian builds done prior to yours, for the same version, compare your manifest file to theirs. They should be the same set of hashes.
60
60
14. All the binaries built during this process are located in result/out.
@@ -69,7 +69,7 @@ $ rm -fr cache/* result/*
69
69
70
70
## What does this project do?
71
71
72
-
This project allows you to build software deterministically. In other words, each time a given set application is compiled, the resulting program should be the same no matter where, when or by whom the task was completed. You would think this would already be the case, but there are a few issues preventing this. The reasons for this aren't super important, but the consequences of not being able to match your software to everyone else's software ARE VERY IMPORTANT. This project seeks to mitigate those consequences (see the real life use case section). It does this by leveraging [Docker](https://docker.io) and [Gitian Builder](https://github.com/devrandom/gitian-builder)
72
+
This project allows you to build software deterministically. In other words, each time a given set application is compiled, the resulting program should be the same no matter where, when or by whom the task was completed. You would think this would already be the case, but there are a few issues preventing it. The reasons for this aren't super important, but the consequences of not being able to match your software to everyone else's software ARE VERY IMPORTANT. This project seeks to mitigate those consequences (see the real life use case section). It does this by leveraging [Docker](https://docker.io) and [Gitian Builder](https://github.com/devrandom/gitian-builder).
73
73
74
74
## What are deterministic/reproducible builds?
75
75
@@ -188,15 +188,13 @@ builder:saved -s
188
188
189
189
When building binaries intended to be run on Mac OS X, you MUST supply a SDK tarball to the build chain. This project can't supply the MacOSX sdk, it is not allowed by Apple. Here are the directions for obtaining this tarball:
190
190
191
-
1. Register and download the Apple SDK: see OS X [readme](https://github.com/bitpay/bitcoin/blob/0.12.1-bitcore/doc/README_osx.txt) for details. Refer to the gitian descriptor yaml file to know what MacOSX sdk file is needed. At the time of this writing, it is: MacOSX10.11.sdk
191
+
1. Register and download the Apple SDK: see OS X [readme](https://github.com/bitpay/bitcoin/blob/0.12.1-bitcore/doc/README_osx.txt) for complete details. The current SDK is: `MacOSX10.11.sdk`, distributed in [**Xcode 7.3.1**](https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/Xcode_7.3.1/Xcode_7.3.1.dmg). Refer to the `files` entry in `bitcoin/contrib/gitian-descriptors/gitian-osx.yml` to verify the macOS SDK required.
Using a Mac, create a tarball for the 10.9 SDK and copy it to your shared cache directory:
193
+
Using a Mac, mount the disk image and create a tarball for the SDK in your shared cache directory:
196
194
197
195
```bash
196
+
$ cd cache/
198
197
$ tar -C /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.11.sdk.tar.gz MacOSX10.11.sdk
199
-
$ cp MacOSX10.11.sdk.tar.gz cache/
200
198
```
201
199
202
200
### Security Enhanced Linux (SELinux) and general security precautions when using Linux as the host system
@@ -205,18 +203,18 @@ If you run into permissions problems while using Docker on a SE Linux host syste
205
203
206
204
### What's next
207
205
* Optionally, you may create a digital signature of the resulting output manifest file.
208
-
* This file will be located in your host's shared cache directory results directory. The file's name is: package name-res.yml, where package name will resemble bitcoin-0.12.1-linux64-res.yml
206
+
* This file will be located in your host's shared cache directory results directory. The file's name is: `[PACKAGE NAME]-res.yml`, where package name will resemble `bitcoin-#.#.#-linux64-res.yml`.
209
207
210
208
### How to use PGP/GnuPG to sign your manifest file
211
209
* Fork the following repository in GitHub and then clone your fork:
212
210
213
211
> https://github.com/bitpay/gitian.sigs
214
212
215
-
* Copy your result files into your fork and sign them. The following example would assume your results file was called: bitcoin-linux-0.14.1.yml and it is located in /tmp/result and your forked and cloned gitian.sigs directory is located in /tmp/gitian.sigs and your signing name is 'user'.
213
+
* Copy your result files into your fork and sign them. The following example would assume your results file was called: `bitcoin-linux-0.14.1.yml` and it is located in /tmp/result and your forked and cloned gitian.sigs directory is located in /tmp/gitian.sigs and your signing name is 'user'.
0 commit comments