Skip to content

Commit bbf16aa

Browse files
authored
build: Extract gpg key fetching into a helpers (#138)
1 parent 2704c00 commit bbf16aa

File tree

27 files changed

+577
-720
lines changed

27 files changed

+577
-720
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Dockerfile linguist-generated=true
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
function fetch_keys() {
2+
for key in "${@}"; do
3+
gpg --batch --keyserver pgp.mit.edu --recv-keys "$key" \
4+
|| gpg --batch --keyserver keyserver.pgp.com --recv-keys "$key" \
5+
|| gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" \
6+
|| gpg --batch --keyserver keys.openpgp.org --recv-keys "$key"
7+
done
8+
}

integration/linux/build/_bootstrap/cmake.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@ set -ex
44

55
: ${CMAKE_VERSION:=3.30.2}
66

7+
source "${BASH_SOURCE%/*}/_helpers.sh"
8+
79
CMAKE_KEYS=(
810
CBA23971357C2E6590D9EFD3EC8FEF3A7BFB4EDA
911
)
12+
fetch_keys "${CMAKE_KEYS[@]}"
1013

1114

1215
CMAKE_ARCH=
@@ -32,11 +35,6 @@ _server="https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}"
3235
curl -fsSLO "${_server}/cmake-${CMAKE_VERSION}-SHA-256.txt"
3336
curl -fsSLO "${_server}/cmake-${CMAKE_VERSION}-SHA-256.txt.asc"
3437

35-
for key in "${CMAKE_KEYS[@]}"; do
36-
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key" \
37-
|| gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key"
38-
done
39-
4038
gpg --batch --verify "cmake-${CMAKE_VERSION}-SHA-256.txt.asc" "cmake-${CMAKE_VERSION}-SHA-256.txt"
4139
rm -f "cmake-${CMAKE_VERSION}-SHA-256.txt.asc"
4240

integration/linux/build/_bootstrap/git.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,19 @@ set -ex
44

55
: ${GIT_VERSION:=2.33.1}
66

7+
source "${BASH_SOURCE%/*}/_helpers.sh"
8+
79
GIT_KEYS=(
810
E1F036B1FEE7221FC778ECEFB0B5E88696AFE6CB
911
)
12+
fetch_keys "${GIT_KEYS[@]}"
1013

1114
mkdir -p /usr/src/git
1215
cd /usr/src
1316

1417
curl -fsSLo git.tar.xz "https://www.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.xz"
1518
curl -fsSLo git.tar.sign "https://www.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.sign"
1619

17-
for key in "${GIT_KEYS[@]}"; do
18-
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key" \
19-
|| gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key"
20-
done
21-
2220
# gpg --batch --verify git.tar.sign git.tar.xz
2321
rm -f git.tar.sign
2422

integration/linux/build/_bootstrap/gzip.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,19 @@ set -ex
44

55
: ${GZIP_VERSION:=1.13}
66

7+
source "${BASH_SOURCE%/*}/_helpers.sh"
8+
79
GZIP_KEYS=(
810
155D3FC500C834486D1EEA677FD9FCCB000BEEEE
911
)
12+
fetch_keys "${GZIP_KEYS[@]}"
1013

1114
mkdir -p /usr/src/gzip
1215
cd /usr/src
1316

1417
curl -fsSLo gzip.tar.gz "https://ftp.gnu.org/gnu/gzip/gzip-${GZIP_VERSION}.tar.gz"
1518
curl -fsSLo gzip.tar.gz.sign "https://ftp.gnu.org/gnu/gzip/gzip-${GZIP_VERSION}.tar.gz.sig"
1619

17-
for key in "${GZIP_KEYS[@]}"; do
18-
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key" \
19-
|| gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key"
20-
done
21-
2220
gpg --batch --verify gzip.tar.gz.sign gzip.tar.gz
2321
rm -f gzip.tar.gz.sign
2422

integration/linux/build/_bootstrap/node.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ set -ex
44

55
: ${NODE_VERSION:=16.16.0}
66

7+
source "${BASH_SOURCE%/*}/_helpers.sh"
8+
79
NODE_KEYS=(
810
4ED778F539E3634C779C87C6D7062848A1AB005C
911
141F07595B7B3FFE74309A937405533BE57C7D57
@@ -18,6 +20,7 @@ NODE_KEYS=(
1820
108F52B48DB57BB0CC439B2997B01419BD92F80A
1921
B9E2F5981AA6E0CD28160D9FF13993A75599653C
2022
)
23+
fetch_keys "${NODE_KEYS[@]}"
2124

2225
if getconf GNU_LIBC_VERSION 2>&1 >/dev/null; then
2326
libc="glibc"
@@ -69,11 +72,6 @@ esac
6972
curl -fsSLO "${node_server}/node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz"
7073
curl -fsSLO "${node_server}/SHASUMS256.txt.asc"
7174

72-
for key in "${NODE_KEYS[@]}"; do
73-
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key" \
74-
|| gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key"
75-
done
76-
7775
gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc
7876
grep " node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz\$" SHASUMS256.txt | sha256sum -c -
7977
tar -xJf "node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz" -C /usr/local --strip-components=1 --no-same-owner

integration/linux/build/_bootstrap/openssl.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@ set -ex
44

55
: ${OPENSSL_VERSION:=3.3.2}
66

7+
source "${BASH_SOURCE%/*}/_helpers.sh"
8+
79
OPENSSL_KEYS=(
810
BA5473A2B0587B07FB27CF2D216094DFD0CB81EF
911
EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5
1012
)
13+
fetch_keys "${OPENSSL_KEYS[@]}"
1114

1215
mkdir -p /usr/src/openssl
1316
cd /usr/src
@@ -20,11 +23,6 @@ else
2023
curl -fsSLo openssl.tar.gz.asc "https://github.com/openssl/openssl/releases/download/openssl-${OPENSSL_VERSION}/openssl-${OPENSSL_VERSION}.tar.gz.asc"
2124
fi
2225

23-
for key in "${OPENSSL_KEYS[@]}"; do
24-
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key" \
25-
|| gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key"
26-
done
27-
2826
gpg --batch --verify openssl.tar.gz.asc openssl.tar.gz
2927
rm -f openssl.tar.gz.asc
3028

integration/linux/build/_bootstrap/python.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@ set -ex
55
: ${PYTHON_VERSION:=3.12.7}
66
: ${PYTHON_PIP_VERSION:=24.2}
77

8+
source "${BASH_SOURCE%/*}/_helpers.sh"
9+
810
PYTHON_KEYS=(
911
E3FF2839C048B25C084DEBE9B26995E310250568
1012
a035c8c19219ba821ecea86b64e628f8d684696d
1113
7169605F62C751356D054A26A821E680E5FA6305
1214
)
15+
fetch_keys "${PYTHON_KEYS[@]}"
1316

1417
mkdir -p /usr/src/python
1518
cd /usr/src
@@ -19,11 +22,6 @@ curl -fsSLo python.tar.xz \
1922
curl -fsSLo python.tar.xz.asc \
2023
"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"
2124

22-
for key in "${PYTHON_KEYS[@]}"; do
23-
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key" \
24-
|| gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key"
25-
done
26-
2725
gpg --batch --verify python.tar.xz.asc python.tar.xz
2826
rm -f python.tar.xz.asc
2927

integration/linux/build/_bootstrap/tar.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,20 @@ set -ex
44

55
: ${TAR_VERSION:=1.35}
66

7+
source "${BASH_SOURCE%/*}/_helpers.sh"
8+
79
TAR_KEYS=(
810
7E3792A9D8ACF7D633BC1588ED97E90E62AA7E34
911
325F650C4C2B6AD58807327A3602B07F55D0C732
1012
)
13+
fetch_keys "${TAR_KEYS[@]}"
1114

1215
mkdir -p /usr/src/tar
1316
cd /usr/src
1417

1518
curl -fsSLo tar.tar.xz "https://ftp.gnu.org/gnu/tar/tar-${TAR_VERSION}.tar.xz"
1619
curl -fsSLo tar.tar.xz.sign "https://ftp.gnu.org/gnu/tar/tar-${TAR_VERSION}.tar.xz.sig"
1720

18-
for key in "${TAR_KEYS[@]}"; do
19-
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key" \
20-
|| gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key"
21-
done
22-
2321
gpg --batch --verify tar.tar.xz.sign tar.tar.xz
2422
rm -f tar.tar.xz.sign
2523

integration/linux/build/_bootstrap/yarn.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,19 @@ set -ex
44

55
: ${YARN_VERSION:=1.22.19}
66

7+
source "${BASH_SOURCE%/*}/_helpers.sh"
8+
79
YARN_KEYS=(
810
6A010C5166006599AA17F08146C2130DFD2497F5
911
)
12+
fetch_keys "${YARN_KEYS[@]}"
1013

1114
mkdir -p /usr/src/yarn
1215
cd /usr/src
1316

1417
curl -fsSLO --compressed "https://yarnpkg.com/downloads/${YARN_VERSION}/yarn-v${YARN_VERSION}.tar.gz"
1518
curl -fsSLO --compressed "https://yarnpkg.com/downloads/${YARN_VERSION}/yarn-v${YARN_VERSION}.tar.gz.asc"
1619

17-
for key in "${YARN_KEYS[@]}"; do
18-
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key" \
19-
|| gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key"
20-
done
21-
2220
gpg --batch --verify "yarn-v${YARN_VERSION}.tar.gz.asc" "yarn-v${YARN_VERSION}.tar.gz"
2321
rm "yarn-v${YARN_VERSION}.tar.gz.asc"
2422

0 commit comments

Comments
 (0)