Loading libexec/ruby-package-fetch +53 −15 Original line number Diff line number Diff line Loading @@ -2,32 +2,70 @@ set -e usage() { echo "usage: ruby-package fetch PACKAGE" >&2 echo "usage: ruby-package fetch [--check] PACKAGE" >&2 exit 1 } if [ -z "$1" ]; then usage fi package_name="${1}.$(ruby-package platform).rubypackage" check() { local url="$1" package_repo="${RUBY_PACKAGE_REPO%/}" if [ -z "$ruby_package_repo" ]; then package_repo="https://github.com/downloads/sstephenson/ruby-packages" set +e curl -ILfs "$url" >/dev/null local result="$?" set -e if [ "$result" -ne 0 ]; then return 1 fi } url="${package_repo}/${package_name}" filename="${TMPDIR}/${package_name}.$$" download() { local url="$1" local filename="$2" set +e curl -Lfs "$url" > "$filename" result="$?" local result="$?" set -e if [ "$result" -eq 22 ]; then exit 3 if [ "$result" -ne 0 ]; then return 1 elif [ ! -f "$filename" ]; then exit 2 return 1 else echo "$filename" fi } check="" if [ "$1" = "--check" ]; then check=1 shift fi package="$1" if [ -z "$package" ]; then usage fi package_name="${package}.$(ruby-package platform).rubypackage" package_repo="${RUBY_PACKAGE_REPO%/}" if [ -z "$ruby_package_repo" ]; then package_repo="https://github.com/downloads/sstephenson/ruby-packages" fi package_url="${package_repo}/${package_name}" if [ -n "$check" ]; then check "$package_url" || { echo "error: package \`$package' not found ($package_url)" exit 1 } >&2 else package_filename="${TMPDIR}/${package_name}.$$" download "$package_url" "$package_filename" || { echo "error: couldn't fetch package \`$package' ($package_url)" exit 1 } >&2 fi Loading
libexec/ruby-package-fetch +53 −15 Original line number Diff line number Diff line Loading @@ -2,32 +2,70 @@ set -e usage() { echo "usage: ruby-package fetch PACKAGE" >&2 echo "usage: ruby-package fetch [--check] PACKAGE" >&2 exit 1 } if [ -z "$1" ]; then usage fi package_name="${1}.$(ruby-package platform).rubypackage" check() { local url="$1" package_repo="${RUBY_PACKAGE_REPO%/}" if [ -z "$ruby_package_repo" ]; then package_repo="https://github.com/downloads/sstephenson/ruby-packages" set +e curl -ILfs "$url" >/dev/null local result="$?" set -e if [ "$result" -ne 0 ]; then return 1 fi } url="${package_repo}/${package_name}" filename="${TMPDIR}/${package_name}.$$" download() { local url="$1" local filename="$2" set +e curl -Lfs "$url" > "$filename" result="$?" local result="$?" set -e if [ "$result" -eq 22 ]; then exit 3 if [ "$result" -ne 0 ]; then return 1 elif [ ! -f "$filename" ]; then exit 2 return 1 else echo "$filename" fi } check="" if [ "$1" = "--check" ]; then check=1 shift fi package="$1" if [ -z "$package" ]; then usage fi package_name="${package}.$(ruby-package platform).rubypackage" package_repo="${RUBY_PACKAGE_REPO%/}" if [ -z "$ruby_package_repo" ]; then package_repo="https://github.com/downloads/sstephenson/ruby-packages" fi package_url="${package_repo}/${package_name}" if [ -n "$check" ]; then check "$package_url" || { echo "error: package \`$package' not found ($package_url)" exit 1 } >&2 else package_filename="${TMPDIR}/${package_name}.$$" download "$package_url" "$package_filename" || { echo "error: couldn't fetch package \`$package' ($package_url)" exit 1 } >&2 fi