1
- ARG VERSION="0.19.1"
2
-
3
- ARG LEGACY_BITCOIN_CORE_RELEASE_KEY="01EA5486DE18A882D4C2684590C8019E36C2E964"
4
- ARG ANDREW_CHOW="152812300785C96444D3334D17565732E08E5E41"
5
- ARG JON_ATACK="82921A4B88FD454B7EB8CE3C796C4109063D4EAF"
6
- ARG JONAS_SCHNELLI="32EE5C4C3FA15CCADB46ABE529D4BCB6416F53EC"
7
- ARG MATT_CORALLO="07DF3E57A548CCFB7530709189BBB8663E2E65CE"
8
- ARG LUKE_DASHJR="E463A93F5F3117EEDE6C7316BD02942421F4889F"
9
- ARG PETER_TODD="37EC7D7B0A217CDB4B4E007E7FAB114267E4FA04"
10
- ARG PIETER_WUILLE="133EAC179436F14A5CF1B794860FEB804E669320"
11
- ARG SJORS_PROVOOST="ED9BDF7AD6A55E232E84524257FF9BDBCC301009"
12
- ARG KEYS="${LEGACY_BITCOIN_CORE_RELEASE_KEY} ${ANDREW_CHOW} ${JON_ATACK} ${JONAS_SCHNELLI} ${MATT_CORALLO} ${LUKE_DASHJR} ${PETER_TODD} ${PIETER_WUILLE} ${SJORS_PROVOOST}"
1
+ # Bitcoin Core Release Keys as of 4/Sep/2024
2
+ # - https://github.com/bitcoin-core/guix.sigs/tree/main/builder-keys
3
+ # - https://api.github.com/repos/bitcoin-core/guix.sigs/contents/builder-keys
4
+ ARG KEYS="\
5
+ # 0xb10c:
6
+ 982A193E3CE0EED535E09023188CBB2648416AD5 \
7
+ # CoinForensics:
8
+ 101598DC823C1B5F9A6624ABA5E0907A0380E6C3 \
9
+ # Emzy:
10
+ 9EDAFF80E080659604F4A76B2EBB056FD847F8A7 \
11
+ # Sjors:
12
+ ED9BDF7AD6A55E232E84524257FF9BDBCC301009 \
13
+ # TheCharlatan:
14
+ A8FC55F3B04BA3146F3492E79303B33A305224CB \
15
+ # achow101:
16
+ 152812300785C96444D3334D17565732E08E5E41 \
17
+ # benthecarman:
18
+ 0AD83877C1F0CD1EE9BD660AD7CC770B81FD22A8 \
19
+ # cfields:
20
+ C060A6635913D98A3587D7DB1C2491FFEB0EF770 \
21
+ # darosior:
22
+ 590B7292695AFFA5B672CBB2E13FC145CD3F4304 \
23
+ # davidgumberg:
24
+ 41E442A14C342C877AE4DC8F3B6305FA06DE51D5 \
25
+ # dunxen:
26
+ 948444FCE03B05BA5AB0591EC37B1C1D44C786EE \
27
+ # fanquake:
28
+ E777299FC265DD04793070EB944D35F9AC3DB76A \
29
+ # glozow:
30
+ 6B002C6EA3F91B1B0DF0C9BC8F617F1200A6D25C \
31
+ # guggero:
32
+ F4FC70F07310028424EFC20A8E4256593F177720 \
33
+ # hebasto:
34
+ D1DBF2C4B96F2DEBF4C16654410108112E7EA81F \
35
+ # jackielove4u:
36
+ 287AE4CA1187C68C08B49CB2D11BD4F33F1DB499 \
37
+ # josibake:
38
+ 616516B8EB6ED02882FC4A7A8ADCB558C4F33D65 \
39
+ # kvaciral:
40
+ C388F6961FB972A95678E327F62711DBDCA8AE56 \
41
+ # laanwj:
42
+ 71A3B16735405025D447E8F274810B012346C9A6 \
43
+ # luke-jr:
44
+ 1A3E761F19D2CC7785C5502EA291A2C45D0C504A \
45
+ # m3dwards:
46
+ E86AE73439625BBEE306AAE6B66D427F873CB1A3 \
47
+ # pinheadmz:
48
+ E61773CD6E01040E2F1BD78CE7E2984B6289C93A \
49
+ # satsie:
50
+ 2F78ACF677029767C8736F13747A7AE2FB0FD25B \
51
+ # sipa:
52
+ 133EAC179436F14A5CF1B794860FEB804E669320 \
53
+ # svanstaa:
54
+ 9ED99C7A355AE46098103E74476E74C8529A9006 \
55
+ # theStack:
56
+ 6A8F9C266528E25AEB1D7731C2371D91CB716EA7 \
57
+ # vertiond:
58
+ 28E72909F1717FE9607754F8A7BEB2621678D37D \
59
+ # willcl-ark:
60
+ 67AA5B46E7AF78053167FE343B8F814A784218F8 \
61
+ # willyko:
62
+ 79D00BAC68B56D422F945A8F8E3A8F3247DBCBBF \
63
+ "
13
64
14
65
# Build stage
15
- FROM --platform=$BUILDPLATFORM debian:stable-slim as builder
16
- LABEL maintainer=
"Luke Childs <[email protected] >"
17
-
18
- ARG TARGETARCH
66
+ FROM --platform=$BUILDPLATFORM debian:stable-slim AS builder
67
+ LABEL org.opencontainers.image.authors="Umbrel, Inc. <https://umbrel.com>"
19
68
20
- ARG ARCH
21
69
ARG VERSION
70
+ ARG TARGETPLATFORM
71
+ # re-declared from above
22
72
ARG KEYS
23
73
24
74
WORKDIR /build
@@ -27,17 +77,18 @@ RUN echo "Installing build deps"
27
77
RUN apt-get update
28
78
RUN apt-get install -y wget pgp
29
79
30
- RUN echo "Deriving tarball name from \$ TARGETARCH"
31
- RUN [ "${TARGETARCH}" = "amd64" ] && echo "bitcoin-${VERSION}-x86_64-linux-gnu.tar.gz" > /tarball-name || true
32
- RUN [ "${TARGETARCH}" = "arm64" ] && echo "bitcoin-${VERSION}-aarch64-linux-gnu.tar.gz" > /tarball-name || true
33
- RUN [ "${TARGETARCH}" = "arm" ] && echo "bitcoin-${VERSION}-arm-linux-gnueabihf.tar.gz" > /tarball-name || true
34
- RUN echo "Tarball name: $(cat /tarball-name)"
80
+ RUN echo "Deriving tarball name from \$ TARGETPLATFORM" && \
81
+ case "${TARGETPLATFORM}" in \
82
+ "linux/amd64" ) echo "bitcoin-${VERSION}-x86_64-linux-gnu.tar.gz" > /tarball-name ;; \
83
+ "linux/arm64" ) echo "bitcoin-${VERSION}-aarch64-linux-gnu.tar.gz" > /tarball-name ;; \
84
+ *) echo "Unsupported platform: ${TARGETPLATFORM}" && exit 1 ;; \
85
+ esac && \
86
+ echo "Tarball name: $(cat /tarball-name)"
35
87
36
88
RUN echo "Downloading release assets"
37
89
RUN wget https://bitcoincore.org/bin/bitcoin-core-${VERSION}/$(cat /tarball-name)
38
90
RUN wget https://bitcoincore.org/bin/bitcoin-core-${VERSION}/SHA256SUMS.asc
39
- # This file only exists after v22 so allow it to fail
40
- RUN wget https://bitcoincore.org/bin/bitcoin-core-${VERSION}/SHA256SUMS || true
91
+ RUN wget https://bitcoincore.org/bin/bitcoin-core-${VERSION}/SHA256SUMS
41
92
RUN echo "Downloaded release assets:" && ls
42
93
43
94
RUN echo "Verifying PGP signatures"
@@ -48,7 +99,7 @@ RUN echo "PGP signature verification passed"
48
99
RUN echo "Verifying checksums"
49
100
RUN [ -f SHA256SUMS ] && cp SHA256SUMS /sha256sums || cp SHA256SUMS.asc /sha256sums
50
101
RUN grep $(cat /tarball-name) /sha256sums | sha256sum -c
51
- RUN echo "Chucksums verified ok"
102
+ RUN echo "Checksums verified ok"
52
103
53
104
RUN echo "Extracting release assets"
54
105
RUN tar -zxvf $(cat /tarball-name) --strip-components=1
0 commit comments