Loading bin/ruby-build +24 −12 Original line number Diff line number Diff line Loading @@ -179,14 +179,20 @@ retrieve_url() { fetch_tarball() { local package_name="$1" local package_url="$2" local mirror_url local checksum="${package_url#*\#}" if [ -n "$checksum" ]; then package_url="${package_url%%#*}" if [ -n "$RUBY_BUILD_MIRROR_URL" ]; then mirror_url="${RUBY_BUILD_MIRROR_URL}/$checksum" fi fi local package_filename="${package_name}.tar.gz" symlink_tarball_from_cache "$package_filename" "$checksum" || download_tarball "$mirror_url" "$package_filename" "$checksum" || download_tarball "$package_url" "$package_filename" "$checksum" { tar xzvf "$package_filename" Loading @@ -195,34 +201,34 @@ fetch_tarball() { } symlink_tarball_from_cache() { if [ -n "$RUBY_BUILD_CACHE_PATH" ]; then [ -n "$RUBY_BUILD_CACHE_PATH" ] || return 1 local package_filename="$1" local cached_package_filename="${RUBY_BUILD_CACHE_PATH}/$package_filename" local checksum="$2" if verify_checksum "$cached_package_filename" "$checksum"; then ln -s "$cached_package_filename" "$package_filename" >&4 2>&1 return 0 fi fi return 1 { verify_checksum "$cached_package_filename" "$checksum" ln -s "$cached_package_filename" "$package_filename" } >&4 2>&1 || return 1 } download_tarball() { local package_url="$1" [ -n "$package_url" ] || return 1 local package_filename="$2" local checksum="$3" echo "Downloading ${package_url}..." >&2 { retrieve_url "$package_url" > "$package_filename" verify_checksum "$package_filename" "$checksum" } >&4 2>&1 } >&4 2>&1 || return 1 if [ -n "$RUBY_BUILD_CACHE_PATH" ]; then local cached_package_filename="${RUBY_BUILD_CACHE_PATH}/$package_filename" { mv "$package_filename" "$cached_package_filename" ln -s "$cached_package_filename" "$package_filename" } >&4 2>&1 } >&4 2>&1 || return 1 fi } Loading Loading @@ -546,6 +552,12 @@ else unset RUBY_BUILD_CACHE_PATH fi if [ -z "$RUBY_BUILD_MIRROR_URL" ]; then RUBY_BUILD_MIRROR_URL="http://cloud.github.com/downloads/sstephenson/ruby-build-download-mirror" else RUBY_BUILD_MIRROR_URL="${RUBY_BUILD_MIRROR_URL%/}" fi SEED="$(date "+%Y%m%d%H%M%S").$$" LOG_PATH="${TMP}/ruby-build.${SEED}.log" RUBY_BIN="${PREFIX_PATH}/bin/ruby" Loading Loading
bin/ruby-build +24 −12 Original line number Diff line number Diff line Loading @@ -179,14 +179,20 @@ retrieve_url() { fetch_tarball() { local package_name="$1" local package_url="$2" local mirror_url local checksum="${package_url#*\#}" if [ -n "$checksum" ]; then package_url="${package_url%%#*}" if [ -n "$RUBY_BUILD_MIRROR_URL" ]; then mirror_url="${RUBY_BUILD_MIRROR_URL}/$checksum" fi fi local package_filename="${package_name}.tar.gz" symlink_tarball_from_cache "$package_filename" "$checksum" || download_tarball "$mirror_url" "$package_filename" "$checksum" || download_tarball "$package_url" "$package_filename" "$checksum" { tar xzvf "$package_filename" Loading @@ -195,34 +201,34 @@ fetch_tarball() { } symlink_tarball_from_cache() { if [ -n "$RUBY_BUILD_CACHE_PATH" ]; then [ -n "$RUBY_BUILD_CACHE_PATH" ] || return 1 local package_filename="$1" local cached_package_filename="${RUBY_BUILD_CACHE_PATH}/$package_filename" local checksum="$2" if verify_checksum "$cached_package_filename" "$checksum"; then ln -s "$cached_package_filename" "$package_filename" >&4 2>&1 return 0 fi fi return 1 { verify_checksum "$cached_package_filename" "$checksum" ln -s "$cached_package_filename" "$package_filename" } >&4 2>&1 || return 1 } download_tarball() { local package_url="$1" [ -n "$package_url" ] || return 1 local package_filename="$2" local checksum="$3" echo "Downloading ${package_url}..." >&2 { retrieve_url "$package_url" > "$package_filename" verify_checksum "$package_filename" "$checksum" } >&4 2>&1 } >&4 2>&1 || return 1 if [ -n "$RUBY_BUILD_CACHE_PATH" ]; then local cached_package_filename="${RUBY_BUILD_CACHE_PATH}/$package_filename" { mv "$package_filename" "$cached_package_filename" ln -s "$cached_package_filename" "$package_filename" } >&4 2>&1 } >&4 2>&1 || return 1 fi } Loading Loading @@ -546,6 +552,12 @@ else unset RUBY_BUILD_CACHE_PATH fi if [ -z "$RUBY_BUILD_MIRROR_URL" ]; then RUBY_BUILD_MIRROR_URL="http://cloud.github.com/downloads/sstephenson/ruby-build-download-mirror" else RUBY_BUILD_MIRROR_URL="${RUBY_BUILD_MIRROR_URL%/}" fi SEED="$(date "+%Y%m%d%H%M%S").$$" LOG_PATH="${TMP}/ruby-build.${SEED}.log" RUBY_BIN="${PREFIX_PATH}/bin/ruby" Loading