Skip to content

Commit d775f6c

Browse files
committed
Add a few minor tweaks to update.sh
1 parent 6e2934a commit d775f6c

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

update.sh

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
2-
set -e
2+
set -eo pipefail
33

44
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
55

@@ -8,10 +8,10 @@ if [ ${#versions[@]} -eq 0 ]; then
88
versions=( */ )
99
fi
1010
versions=( "${versions[@]%/}" )
11-
releasePage=$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/releases/' | tr '\r\n' ' ')
11+
releasePage="$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/releases/')"
1212

1313
latest_gem_version() {
14-
curl -sSL "https://rubygems.org/api/v1/gems/$1.json" | sed -r 's/^.*"version":"([^"]+)".*$/\1/'
14+
curl -fsSL "https://rubygems.org/api/v1/gems/$1.json" | sed -r 's/^.*"version":"([^"]+)".*$/\1/'
1515
}
1616

1717
rubygems="$(latest_gem_version rubygems-update)"
@@ -26,10 +26,10 @@ for version in "${versions[@]}"; do
2626
fi
2727

2828
IFS=$'\n'; allVersions=(
29-
$(curl -sSL --compressed "https://cache.ruby-lang.org/pub/ruby/$rcVersion/" \
30-
| grep -E '<a href="ruby-'"$rcVersion"'.[^"]+\.tar\.bz2' \
29+
$(curl -fsSL --compressed "https://cache.ruby-lang.org/pub/ruby/$rcVersion/" \
30+
| grep -E '<a href="ruby-'"$rcVersion"'.[^"]+\.tar\.xz' \
3131
| grep $rcGrepV -E 'preview|rc' \
32-
| sed -r 's!.*<a href="ruby-([^"]+)\.tar\.bz2.*!\1!' \
32+
| sed -r 's!.*<a href="ruby-([^"]+)\.tar\.xz.*!\1!' \
3333
| sort -rV)
3434
); unset IFS
3535

@@ -45,8 +45,8 @@ for version in "${versions[@]}"; do
4545
echo >&2 "warning: cannot determine sha for $version (tried all of ${allVersions[*]}); skipping"
4646
continue
4747
fi
48-
versionReleasePage="$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/releases/' | grep "<td>Ruby $fullVersion</td>" -A 2 | awk -F'"' '{print $2}' | xargs)"
49-
shaVal="$(curl -fsSL "https://www.ruby-lang.org/$versionReleasePage" | grep "ruby-$fullVersion.tar.xz" -A 5 | grep SHA256 | awk '{print $2}')"
48+
versionReleasePage="$(echo "$releasePage" | grep "<td>Ruby $fullVersion</td>" -A 2 | awk -F '"' '$1 == "<td><a href=" { print $2; exit }')"
49+
shaVal="$(curl -fsSL "https://www.ruby-lang.org/$versionReleasePage" |tac|tac| grep "ruby-$fullVersion.tar.xz" -A 5 | awk '/^SHA256:/ { print $2; exit }')"
5050

5151
sedStr="
5252
s!%%VERSION%%!$version!g;
@@ -55,6 +55,7 @@ for version in "${versions[@]}"; do
5555
s!%%RUBYGEMS%%!$rubygems!g;
5656
s!%%BUNDLER%%!$bundler!g;
5757
"
58+
echo "$version: $fullVersion; rubygems $rubygems, bundler $bundler; $shaVal"
5859
for variant in alpine slim onbuild ''; do
5960
[ -d "$version/$variant" ] || continue
6061
sed -r "$sedStr" "Dockerfile${variant:+-$variant}.template" > "$version/$variant/Dockerfile"

0 commit comments

Comments
 (0)