Updated to include bash3 and 4 support
This commit is contained in:
parent
d16e74c41c
commit
f4ee36f350
|
@ -1,12 +1,11 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
declare -A aliases
|
||||
aliases=(
|
||||
[0.12]='0 latest'
|
||||
)
|
||||
hash git 2>/dev/null || { echo >&2 "git not found, exiting."; }
|
||||
|
||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
||||
array_0_12='0 latest';
|
||||
|
||||
cd $(cd ${0%/*} && pwd -P);
|
||||
|
||||
versions=( */ )
|
||||
versions=( "${versions[@]%/}" )
|
||||
|
@ -15,15 +14,17 @@ url='git://github.com/joyent/docker-node'
|
|||
echo '# maintainer: Joyent Image Team <image-team@joyent.com> (@joyent)'
|
||||
|
||||
for version in "${versions[@]}"; do
|
||||
eval stub=$(echo "$version" | awk -F. '{ print "$array_" $1 "_" $2 }');
|
||||
commit="$(git log -1 --format='format:%H' -- "$version")"
|
||||
fullVersion="$(grep -m1 'ENV NODE_VERSION ' "$version/Dockerfile" | cut -d' ' -f3)"
|
||||
versionAliases=( $fullVersion $version ${aliases[$version]} )
|
||||
|
||||
echo
|
||||
|
||||
versionAliases=( $fullVersion $version ${stub} )
|
||||
|
||||
echo
|
||||
for va in "${versionAliases[@]}"; do
|
||||
echo "$va: ${url}@${commit} $version"
|
||||
done
|
||||
|
||||
|
||||
for variant in onbuild slim wheezy; do
|
||||
commit="$(git log -1 --format='format:%H' -- "$version/$variant")"
|
||||
echo
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
||||
hash npm 2>/dev/null || { echo >&2 "npm not found, exiting."; }
|
||||
|
||||
cd $(cd ${0%/*} && pwd -P);
|
||||
|
||||
versions=( "$@" )
|
||||
if [ ${#versions[@]} -eq 0 ]; then
|
||||
|
@ -9,15 +11,18 @@ if [ ${#versions[@]} -eq 0 ]; then
|
|||
fi
|
||||
versions=( "${versions[@]%/}" )
|
||||
|
||||
npmVersion="$(docker run --rm node npm show npm version)"
|
||||
npmVersion="$(npm show npm version 2>/dev/null)"
|
||||
for version in "${versions[@]}"; do
|
||||
fullVersion="$(curl -sSL --compressed 'http://nodejs.org/dist' | grep '<a href="v'"$version." | sed -r 's!.*<a href="v([^"/]+)/?".*!\1!' | sort -V | tail -1)"
|
||||
fullVersion="$(curl -sSL --compressed 'http://nodejs.org/dist' | grep '<a href="v'"$version." | sed -E 's!.*<a href="v([^"/]+)/?".*!\1!' | cut -f 3 -d . | sort -n | tail -1)"
|
||||
(
|
||||
set -x
|
||||
sed -ri '
|
||||
s/^(ENV NODE_VERSION) .*/\1 '"$fullVersion"'/;
|
||||
sed -E -i.bak '
|
||||
s/^(ENV NODE_VERSION) .*/\1 '"$version.$fullVersion"'/;
|
||||
s/^(ENV NPM_VERSION) .*/\1 '"$npmVersion"'/;
|
||||
' "$version/Dockerfile" "$version/slim/Dockerfile"
|
||||
sed -ri 's/^(FROM node):.*/\1:'"$fullVersion"'/' "$version/onbuild/Dockerfile"
|
||||
' "$version/Dockerfile" "$version/slim/Dockerfile" "$version/wheezy/Dockerfile"
|
||||
rm $version/Dockerfile.bak $version/slim/Dockerfile.bak $version/wheezy/Dockerfile.bak
|
||||
|
||||
sed -E -i.bak 's/^(FROM node):.*/\1:'"$version.$fullVersion"'/' "$version/onbuild/Dockerfile"
|
||||
rm $version/onbuild/Dockerfile.bak
|
||||
|
||||
)
|
||||
done
|
||||
|
|
Loading…
Reference in New Issue