diff --git a/Dockerfile b/Dockerfile index 7547d0b..98ad649 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,5 +5,5 @@ RUN apt-get update && apt-get install -y \ unzip \ zip \ && rm -rf /var/lib/apt/lists/* -RUN ./install +RUN curl -s https://git.phoenix.ipv64.de/public/warp4j/raw/branch/feature/update_install_script/install | /bin/sh -s ENTRYPOINT [ "/usr/local/bin/warp4j" ] diff --git a/install b/install index 8821855..a7b9569 100755 --- a/install +++ b/install @@ -6,7 +6,7 @@ LOCATION=/usr/local/bin # exit top level program from subshell trap "exit 1" TERM export TOP_PID=$$ -function fail() { +fail() { kill -s TERM $TOP_PID } @@ -24,7 +24,7 @@ X64=x64 AARCH64=aarch64 # returns this platform ID -function get_this_platform() { +get_this_platform() { local this_platform="$(uname -s)" case $this_platform in Linux*) echo $LIN ;; @@ -37,7 +37,7 @@ function get_this_platform() { } # returns this platform architecture -function get_this_architecture() { +get_this_architecture() { local this_machine="$(uname -m)" case $this_machine in x86_64) echo $X64 ;; @@ -55,7 +55,7 @@ THIS_PLATFORM=$(get_this_platform) THIS_ARCHITECTURE=$(get_this_architecture) # fetches latest release download link for the platform -function get_warp_link() { +get_warp_link() { local this_platform=$1 local this_architecture=$2 @@ -72,23 +72,23 @@ function get_warp_link() { } # downloads and installs single binary -function install() { +install() { local name=$1 local link=$2 local temp_location="/tmp/$name" echo "Downloading $name..." curl -fsSL -o $temp_location $link - if [[ $? != 0 ]]; then + if [ $? != 0 ]; then echo "Error: Failed to download $name" >&2 fail fi echo "Creating $LOCATION/$name..." - sudo install -D \ + su -c "install -D \ --mode=755 \ --owner=root \ --group=root \ - "$temp_location" "$LOCATION" - if [[ $? != 0 ]]; then + '$temp_location' '$LOCATION'" + if [ $? != 0 ]; then echo "Error: Failed to install $name" >&2 fail fi @@ -96,23 +96,34 @@ function install() { } # returns missing dependencies -function get_missing_deps() { - local deps=( - "awk" \ - "curl" \ - "file" \ - "grep" \ - "sed" \ - "sort" \ - "tar" \ - "unzip" \ - "zip" \ - ) - for d in ${deps[@]}; do - if ! command -v $d &> /dev/null ; then - echo -n "$d " - fi - done +get_missing_deps() { + if ! command -v awk > /dev/null 2<&1; then + echo -n "awk " + fi + if ! command -v curl > /dev/null 2<&1; then + echo -n "curl " + fi + if ! command -v file > /dev/null 2<&1; then + echo -n "file " + fi + if ! command -v grep > /dev/null 2<&1; then + echo -n "grep " + fi + if ! command -v sed > /dev/null 2<&1; then + echo -n "sed " + fi + if ! command -v sort > /dev/null 2<&1; then + echo -n "sort " + fi + if ! command -v tar > /dev/null 2<&1; then + echo -n "tar " + fi + if ! command -v unzip > /dev/null 2<&1; then + echo -n "unzip " + fi + if ! command -v zip > /dev/null 2<&1; then + echo -n "zip" + fi } WARP4J_LINK="https://git.phoenix.ipv64.de/public/warp4j/raw/branch/master/warp4j" @@ -125,14 +136,11 @@ MISSING_DEPS=$(get_missing_deps) install "warp-packer" "$WARP_LINK" && \ install "warp4j" "$WARP4J_LINK" -if [[ -z $MISSING_DEPS ]]; then +if [ -z "$MISSING_DEPS" ]; then echo "Successfully installed" else echo "Main tools successfully installed" echo "Please install following with your package manager:" - for d in ${MISSING_DEPS[@]}; do - echo -n "$d " - done - echo + echo $MISSING_DEPS exit 1 fi