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