Edit

kmx.io/rbpkg/bin/rbpkg_bootstrap

Branch :

  • bin/rbpkg_bootstrap
  • #!/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"