Skip to content

Commit b77fbe0

Browse files
committed
Merge pull request #6303
d08cfc2 gitian: add a gitian-win-signer descriptor (Cory Fields)
2 parents 930418c + d08cfc2 commit b77fbe0

2 files changed

Lines changed: 54 additions & 12 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: "bitcoin-win-signer"
3+
suites:
4+
- "precise"
5+
architectures:
6+
- "amd64"
7+
packages:
8+
- "libssl-dev"
9+
- "autoconf"
10+
reference_datetime: "2015-06-01 00:00:00"
11+
remotes:
12+
- "url": "https://github.com/bitcoin/bitcoin-detached-sigs.git"
13+
"dir": "signature"
14+
files:
15+
- "osslsigncode-1.7.1.tar.gz"
16+
- "osslsigncode-Backports-to-1.7.1.patch"
17+
- "bitcoin-win32-setup.exe"
18+
- "bitcoin-win64-setup.exe"
19+
script: |
20+
BUILD_DIR=`pwd`
21+
SIGDIR=${BUILD_DIR}/signature/win
22+
23+
echo "f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 osslsigncode-1.7.1.tar.gz" | sha256sum -c
24+
echo "a8c4e9cafba922f89de0df1f2152e7be286aba73f78505169bc351a7938dd911 osslsigncode-Backports-to-1.7.1.patch" | sha256sum -c
25+
26+
tar xf osslsigncode-1.7.1.tar.gz
27+
cd osslsigncode-1.7.1
28+
patch -p1 < ${BUILD_DIR}/osslsigncode-Backports-to-1.7.1.patch
29+
30+
./configure --without-gsf --without-curl --disable-dependency-tracking
31+
make
32+
33+
./osslsigncode attach-signature -in ${BUILD_DIR}/bitcoin-win32-setup.exe -out ${OUTDIR}/bitcoin-win32-setup-signed.exe -sigin ${SIGDIR}/bitcoin-win32-setup.exe.pem
34+
./osslsigncode attach-signature -in ${BUILD_DIR}/bitcoin-win64-setup.exe -out ${OUTDIR}/bitcoin-win64-setup-signed.exe -sigin ${SIGDIR}/bitcoin-win64-setup.exe.pem

doc/release-process.md

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ Release Process
4141
###fetch and build inputs: (first time, or when dependency versions change)
4242

4343
mkdir -p inputs
44+
wget -P inputs https://bitcoincore.org/cfields/osslsigncode-Backports-to-1.7.1.patch
45+
wget -P inputs http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz
4446

4547
Register and download the Apple SDK: (see OSX Readme for details)
4648

@@ -65,7 +67,9 @@ Release Process
6567
mv build/out/bitcoin-*.tar.gz build/out/src/bitcoin-*.tar.gz ../
6668
./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
6769
./bin/gsign --signer $SIGNER --release ${VERSION}-win --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
68-
mv build/out/bitcoin-*.zip build/out/bitcoin-*.exe ../
70+
mv build/out/bitcoin-*.zip ../
71+
mv build/out/bitcoin-*-win64-setup.exe inputs/bitcoin-win64-setup.exe
72+
mv build/out/bitcoin-*-win32-setup.exe inputs/bitcoin-win32-setup.exe
6973
./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
7074
./bin/gsign --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
7175
mv build/out/bitcoin-*-unsigned.tar.gz inputs/bitcoin-osx-unsigned.tar.gz
@@ -75,7 +79,7 @@ Release Process
7579

7680
1. source tarball (bitcoin-${VERSION}.tar.gz)
7781
2. linux 32-bit and 64-bit binaries dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz)
78-
3. windows 32-bit and 64-bit installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup.exe, bitcoin-${VERSION}-win[32|64].zip)
82+
3. windows 32-bit and 64-bit unsigned installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup.exe, bitcoin-${VERSION}-win[32|64].zip)
7983
4. OSX unsigned installer (bitcoin-${VERSION}-osx-unsigned.dmg)
8084
5. Gitian signatures (in gitian.sigs/${VERSION}-<linux|win|osx-unsigned>/(your gitian key)/
8185

@@ -91,9 +95,9 @@ Commit your signature to gitian.sigs:
9195
git push # Assuming you can push to the gitian.sigs tree
9296
popd
9397

94-
Wait for OSX detached signature:
95-
Once the OSX build has 3 matching signatures, it will be signed with the Apple App-Store key.
96-
A detached signature will then be committed to the bitcoin-detached-sigs repository, which can be combined with the unsigned app to create a signed binary.
98+
Wait for Windows/OSX detached signatures:
99+
Once the Windows/OSX builds each have 3 matching signatures, they will be signed with their respective release keys.
100+
Detached signatures will then be committed to the bitcoin-detached-sigs repository, which can be combined with the unsigned apps to create signed binaries.
97101

98102
Create the signed OSX binary:
99103

@@ -103,10 +107,20 @@ Commit your signature to gitian.sigs:
103107
mv build/out/bitcoin-osx-signed.dmg ../bitcoin-${VERSION}-osx.dmg
104108
popd
105109

106-
Commit your signature for the signed OSX binary:
110+
Create the signed Windows binaries:
111+
112+
pushd ./gitian-builder
113+
./bin/gbuild -i --commit signature=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
114+
./bin/gsign --signer $SIGNER --release ${VERSION}-win-signed --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
115+
mv build/out/bitcoin-win64-setup-signed.exe ../bitcoin-${VERSION}-win64-setup.exe
116+
mv build/out/bitcoin-win32-setup-signed.exe ../bitcoin-${VERSION}-win32-setup.exe
117+
popd
118+
119+
Commit your signature for the signed OSX/Windows binaries:
107120

108121
pushd gitian.sigs
109122
git add ${VERSION}-osx-signed/${SIGNER}
123+
git add ${VERSION}-win-signed/${SIGNER}
110124
git commit -a
111125
git push # Assuming you can push to the gitian.sigs tree
112126
popd
@@ -115,12 +129,6 @@ Commit your signature for the signed OSX binary:
115129

116130
### After 3 or more people have gitian-built and their results match:
117131

118-
- Perform code-signing.
119-
120-
- Code-sign Windows -setup.exe (in a Windows virtual machine using signtool)
121-
122-
Note: only Gavin has the code-signing keys currently.
123-
124132
- Create `SHA256SUMS.asc` for the builds, and GPG-sign it:
125133
```bash
126134
sha256sum * > SHA256SUMS

0 commit comments

Comments
 (0)