Skip to content

Commit fb7daad

Browse files
authored
Merge pull request #25 from jamesob/22.0-update
Support 22.0+
2 parents 60fbb4d + f699f92 commit fb7daad

File tree

3 files changed

+62
-14
lines changed

3 files changed

+62
-14
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
FROM buildpack-deps:buster-curl as builder
2-
LABEL MAINTAINER="James O'Beirne <mail@jameso.be>"
2+
LABEL MAINTAINER="James O'Beirne <wild-dockerbitcoind@au92.org>"
33

44
# This buildarg can be set during container build time with --build-arg VERSION=[version]
55
ARG VERSION=0.20.1

bin/build_tag_push.sh

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,22 @@
22

33
set -eu
44

5-
VERSIONS=$(./bin/get-bitcoin.sh 2>&1 | grep '^ 0' | tr -d ' ')
5+
VERSIONS_ABOVE=${VERSIONS_ABOVE:-0.0}
6+
VERSIONS=$(./bin/get-bitcoin.sh 2>&1 | grep '^ ' | tr -d ' ')
67

7-
docker login
8+
docker login docker.io
89

910
for ver in $VERSIONS; do
11+
12+
if ! [[ "$ver" > "$VERSIONS_ABOVE" ]]; then
13+
echo "--- skipping version $ver"
14+
continue
15+
fi
16+
1017
echo "--- building bitcoin $ver"
1118
echo
1219
echo
1320
docker build -t "jamesob/bitcoind:${ver}" --build-arg "VERSION=${ver}" .
1421
read -p "Push? (y/N): " confirm && [[ $confirm == [yY] ]] && \
15-
docker push "jamesob/bitcoind:${ver}"
22+
docker push "jamesob/bitcoind:${ver}" "docker://docker.io/jamesob/bitcoind:${ver}"
1623
done

bin/get-bitcoin.sh

Lines changed: 51 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ VERSIONS=(
2727
0.19.1
2828
0.20.0
2929
0.20.1
30+
0.20.2
31+
0.21.0
32+
0.21.1
33+
0.21.2
34+
22.0
35+
23.0
3036
)
3137

3238
err() {
@@ -57,24 +63,59 @@ if [ -z "${VERSION}" ]; then
5763
exit 1
5864
fi
5965

66+
set -x
67+
6068
TMPDIR=$(mktemp -d)
6169
cd "$TMPDIR"
6270

63-
# Verify this signing key fingerprint here:
64-
#
65-
# https://github.com/bitcoin/bitcoin/tree/master/contrib/verifybinaries
71+
# Verify signing key fingerprints here:
6672
#
67-
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 01EA5486DE18A882D4C2684590C8019E36C2E964
73+
# https://github.com/bitcoin/bitcoin/tree/master/contrib/builder-keys
6874

6975
curl -O "${URL_BASE}/SHA256SUMS.asc"
7076
curl -O "${URL_BASE}/${FILENAME}"
7177

72-
sha256sum --ignore-missing --check SHA256SUMS.asc \
73-
| tee - | grep -o "${FILENAME}: OK"
74-
75-
gpg --verify SHA256SUMS.asc >gpg_verify_out 2>&1
76-
grep '^gpg: Good signature from "Wladimir J. van der Laan' gpg_verify_out
77-
grep '^Primary key fingerprint: 01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964' gpg_verify_out
78+
# In version 22.0, release signing changed from a single key signing in
79+
# SHA256SUMS.asc to multiple keys signing SHA256SUMS.
80+
#
81+
# See here for more information: https://github.com/bitcoin/bitcoin/pull/23020
82+
83+
if [[ "$VERSION" < "22.0" ]]; then
84+
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 01EA5486DE18A882D4C2684590C8019E36C2E964
85+
sha256sum --ignore-missing --check SHA256SUMS.asc \
86+
| tee - | grep -o "${FILENAME}: OK"
87+
gpg --verify SHA256SUMS.asc >gpg_verify_out 2>&1
88+
grep '^gpg: Good signature from "Wladimir J. van der Laan' gpg_verify_out
89+
grep '^Primary key fingerprint: 01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964' gpg_verify_out
90+
91+
else
92+
# See bitcoin/contrib/builder-keys/keys.txt for current values.
93+
#
94+
# I've chosen a subset of builder keys here who are well-known and reliably
95+
# sign for releases.
96+
97+
# Wladimir
98+
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 71A3B16735405025D447E8F274810B012346C9A6
99+
# Hebasto
100+
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys D1DBF2C4B96F2DEBF4C16654410108112E7EA81F
101+
# Fanquake
102+
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys E777299FC265DD04793070EB944D35F9AC3DB76A
103+
104+
curl -O "${URL_BASE}/SHA256SUMS"
105+
gpg --verify SHA256SUMS.asc SHA256SUMS >gpg_verify_out 2>&1 || true
106+
cat gpg_verify_out
107+
108+
grep '^gpg: Good signature from "Wladimir J. van der Laan' gpg_verify_out
109+
grep '^Primary key fingerprint: 71A3 B167 3540 5025 D447 E8F2 7481 0B01 2346 C9A6' gpg_verify_out
110+
111+
grep '^gpg: Good signature from "Hennadii Stepanov' gpg_verify_out
112+
grep '^Primary key fingerprint: D1DB F2C4 B96F 2DEB F4C1 6654 4101 0811 2E7E A81F' gpg_verify_out
113+
114+
grep '^gpg: Good signature from "Michael Ford' gpg_verify_out
115+
grep '^Primary key fingerprint: E777 299F C265 DD04 7930 70EB 944D 35F9 AC3D B76A' gpg_verify_out
116+
117+
sha256sum --ignore-missing --check SHA256SUMS | tee - | grep -o "${FILENAME}: OK"
118+
fi
78119

79120
tar -xzvf "${FILENAME}"
80121
DIR=$(find . -name 'bitcoin-*' -type d | head -n 1)

0 commit comments

Comments
 (0)