Skip to content

Commit 9c6d847

Browse files
committed
mirror_cmd for users to do their own mirror url replacing
1 parent d94a2fc commit 9c6d847

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

bin/node-build

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,13 @@ matches_platform() {
202202
[ "${platform[2]}-${platform[0]}" = "$match" ]
203203
}
204204

205+
mirror() {
206+
local package_url="$1"
207+
local checksum="$2"
208+
209+
echo "${package_url/https:\/\/nodejs.org\/dist/$NODE_BUILD_MIRROR_URL}"
210+
}
211+
205212
try_binary(){
206213
[ -n "$BINARY_URL" ] && [ -z "$SKIP_BINARY" ] && [ -z "$BINARY_ATTEMPT" ]
207214
}
@@ -443,8 +450,8 @@ fetch_tarball() {
443450
checksum="${package_url#*#}"
444451
package_url="${package_url%%#*}"
445452

446-
if [ -n "$NODE_BUILD_MIRROR_URL" ]; then
447-
mirror_url="${package_url/https:\/\/nodejs.org\/dist/$NODE_BUILD_MIRROR_URL}"
453+
if [ -z "$NODE_BUILD_SKIP_MIRROR" ]; then
454+
mirror_url="$("${NODE_BUILD_MIRROR_CMD:=mirror}" $package_url $checksum)"
448455
fi
449456
fi
450457

@@ -905,14 +912,10 @@ WGET_OPTS="${NODE_BUILD_WGET_OPTS} ${IPV4+--inet4-only} ${IPV6+--inet6-only}"
905912

906913
NODE_BUILD_MIRROR_URL="${NODE_BUILD_MIRROR_URL%/}"
907914

908-
if ! has_checksum_support compute_sha2; then
915+
if ! has_checksum_support compute_sha2 || [ -z "$NODE_BUILD_MIRROR_URL" ]; then
909916
NODE_BUILD_SKIP_MIRROR=true
910917
fi
911918

912-
if [ -n "$NODE_BUILD_SKIP_MIRROR" ] || [ -z "$NODE_BUILD_MIRROR_URL" ]; then
913-
unset NODE_BUILD_MIRROR_URL
914-
fi
915-
916919
SEED="$(date "+%Y%m%d%H%M%S").$$"
917920
LOG_PATH="${TMP}/node-build.${SEED}.log"
918921
NODE_BIN="${PREFIX_PATH}/bin/node"

test/mirror.bats

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ load test_helper
44
export NODE_BUILD_SKIP_MIRROR=
55
export NODE_BUILD_CACHE_PATH=
66
export NODE_BUILD_MIRROR_URL=http://mirror.example.com
7+
export NODE_BUILD_MIRROR_CMD=mirror_stub
78
export NODE_BUILD_CURL_OPTS=
89

910
setup() {
@@ -15,7 +16,6 @@ setup() {
1516
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
1617

1718
install_fixture definitions/without-checksum
18-
echo "$output" >&2
1919

2020
assert_success
2121
assert [ -x "${INSTALL_ROOT}/bin/package" ]
@@ -45,12 +45,14 @@ setup() {
4545
stub shasum true "echo $checksum"
4646
stub curl "-*I* $mirror_url : true" \
4747
"-q -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3"
48+
stub mirror_stub ": echo $mirror_url"
4849

4950
install_fixture definitions/with-checksum
5051

5152
assert_success
5253
assert [ -x "${INSTALL_ROOT}/bin/package" ]
5354

55+
unstub mirror_stub
5456
unstub curl
5557
unstub shasum
5658
}
@@ -63,12 +65,14 @@ setup() {
6365
stub shasum true "echo $checksum"
6466
stub curl "-*I* $mirror_url : false" \
6567
"-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
68+
stub mirror_stub ": echo $mirror_url"
6669

6770
install_fixture definitions/with-checksum
6871

6972
assert_success
7073
assert [ -x "${INSTALL_ROOT}/bin/package" ]
7174

75+
unstub mirror_stub
7276
unstub curl
7377
unstub shasum
7478
}
@@ -82,13 +86,14 @@ setup() {
8286
stub curl "-*I* $mirror_url : true" \
8387
"-q -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3" \
8488
"-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
89+
stub mirror_stub ": echo $mirror_url"
8590

8691
install_fixture definitions/with-checksum
87-
echo "$output" >&2
8892

8993
assert_success
9094
assert [ -x "${INSTALL_ROOT}/bin/package" ]
9195

96+
unstub mirror_stub
9297
unstub curl
9398
unstub shasum
9499
}

0 commit comments

Comments
 (0)