Branch :
#!/bin/sh
set -e
usage () {
{
echo 'Usage :'
echo ' rbpkg_bootstrap [-f] [RBPKG_DIR]'
echo ' RBPKG_DIR=~/rbpkg rbpkg_bootstrap [-f]'
echo ' Installs rbpkg into RBPKG_DIR.'
echo 'Options :'
echo ' -f Clear RBPKG_DIR before installing.'
echo 'Environment variables :'
echo ' HOME Home directory.'
echo ' PATH Binaries path.'
echo ' RBPKG_DIR Target installation directory.'
} >&2
exit 1
}
# config
FORCE=No
while [ $# -gt 0 ]; do
if [ "x$1" = "x-h" ]; then
usage
elif [ "x$1" = "x-f" ]; then
FORCE=Yes
shift
else
RBPKG_DIR="$1"
shift
fi
done
if [ "x${RBPKG_DIR}" = "x" ]; then
if [ "x${HOME}" = "x" ]; then
echo "HOME is not set" >&2
exit 1
fi
RBPKG_DIR="${HOME}/rbpkg"
fi
# clone
if [ -d "${RBPKG_DIR}" ]; then
if [ "x$FORCE" = "xYes" ]; then
rm -rf "${RBPKG_DIR}"
git clone https://git.kmx.io/kmx.io/rbpkg.git "${RBPKG_DIR}"
fi
else
git clone https://git.kmx.io/kmx.io/rbpkg.git "${RBPKG_DIR}"
fi
# profile
mkdir -p "${RBPKG_DIR}/etc"
{
cat <<EOF
# rbpkg
: \${RBPKG_DIR:=$(cd "${RBPKG_DIR}" && pwd)}
export RBPKG_DIR
# runtime
export PATH="\${RBPKG_DIR}/bin:\${PATH}"
export LD_LIBRARY_PATH="\${RBPKG_DIR}/lib:${LD_LIBRARY_PATH}"
# compile time
export CPPFLAGS="${CPPFLAGS} -I\${RBPKG_DIR}/include"
export LDFLAGS="${LDFLAGS} -L\${RBPKG_DIR}/lib"
export PKG_CONFIG_PATH="\${RBPKG_DIR}/lib/pkgconfig"
EOF
} > "${RBPKG_DIR}/etc/profile"
# source profile
echo ". ${RBPKG_DIR}/etc/profile"
. "${RBPKG_DIR}/etc/profile"