Hash :
78084c51
Author :
Thomas de Grivel
Date :
2023-02-06T00:52:57
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
#!/bin/sh
set -e
usage () {
{
echo 'Usage :'
echo ' shpkg_bootstrap [-f] [SHPKG_DIR]'
echo ' SHPKG_DIR="$HOME/shpkg" shpkg_bootstrap [-f]'
echo ' Installs shpkg into SHPKG_DIR.'
echo 'Options :'
echo ' -f Clear SHPKG_DIR before installing.'
echo 'Environment variables :'
echo ' PATH Binaries path.'
echo ' SHPKG_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
SHPKG_DIR="$1"
shift
fi
done
if [ "x${SHPKG_DIR}" = "x" ]; then
if [ "x${HOME}" = "x" ]; then
echo "HOME is not set" >&2
exit 1
fi
SHPKG_DIR="${HOME}/shpkg"
fi
# clone
if [ -d "${SHPKG_DIR}" ]; then
if [ "x$FORCE" = "xYes" ]; then
rm -rf "${SHPKG_DIR}"
fi
else
git clone https://git.kmx.io/kmx.io/shpkg.git "${SHPKG_DIR}"
fi
# profile
{
echo "export SHPKG_DIR='${SHPKG_DIR}'"
echo "export PATH='${SHPKG_DIR}/bin:${PATH}'"
echo "export LD_LIBRARY_PATH='${SHPKG_DIR}/lib'"
} > "${SHPKG_DIR}/etc/shpkg/profile"
# source profile
echo ". ${SHPKG_DIR}/etc/shpkg/profile"
. "${SHPKG_DIR}/etc/shpkg/profile"