Updated to include bash3 and 4 support

This commit is contained in:
Derek Crudgington 2015-02-26 10:06:06 -06:00
parent d16e74c41c
commit f4ee36f350
2 changed files with 23 additions and 17 deletions

19
generate-stackbrew-library.sh Executable file → Normal file
View File

@ -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

21
update.sh Executable file → Normal file
View File

@ -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