#!/usr/bin/env bash set -e prefix="$1" if [ -z "$prefix" ]; then echo "usage: ruby-package-install PREFIX" >&2 exit 1 fi resolve_link() { $(type -p greadlink readlink | head -1) $1 } abs_dirname() { local cwd="$(pwd)" local path="$1" while [ -n "$path" ]; do cd "${path%/*}" local name="${path##*/}" path="$(resolve_link "$name" || true)" done pwd cd "$cwd" } bin_root="$(abs_dirname "$0")" package_root="${bin_root}/.." package_prefix="$(cat "${package_root}/metadata/prefix")" package="$(cat "${package_root}/metadata/package")" mkdir -p "$prefix" cd "$prefix" prefix="$(pwd)" rewrite() { kind="$1" while read file; do path="${prefix}/$file" cp "$path" "${path}.orig" "${bin_root}/ruby-package-rewrite-$kind" "$package_prefix" "$prefix" < "${path}.orig" > "$path" rm "${path}.orig" done < "${package_root}/metadata/${kind}-files" } tar xzf "${package_root}/package.tar" rewrite binary rewrite text