reGen2 Linux Release Metatool
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

60 lines
2.0 KiB

#!/bin/bash
# Copyright 2010-2011, Asio Software Technologies
# Distributed under the terms of the GNU General Public License v3
#-------------------------------------------------------------------------------
# Downloads files into specified or current directory
# Parameters: %url% %directory%
#-------------------------------------------------------------------------------
function download() {
local DEST="${2}"
local FILENAME="${1##*/}"
local URL="${1}"
if isSet DEST; then
local DEST="${DEST}/${FILENAME}"
else
local DEST="./${FILENAME}"
fi
echo -ne " ${STAR_GREEN} ${FILENAME}: "
wget --progress=dot -c -t ${FETCHTRIES} -T ${FETCHTIMEOUT} -O "${DEST}" \
${URL} 2>&1 | grep --line-buffered "%" | sed -u -e "s/[\.\,]//g" | \
awk '{printf("\b\b\b\b%4s", $2)}'
local RESULT=${PIPESTATUS[0]}
echo -ne "\b\b\b\b"
if [[ ${RESULT} -ne 0 ]]; then
logOutput "Unable to download ${URL}! Exit code: ${RESULT}"
echo -e "${COLOR_RED}${COLOR_BOLD}ERROR${COLOR_WHITE}${COLOR_NORMAL}"
else
echo -e "${COLOR_GREEN}${COLOR_BOLD}DONE${COLOR_WHITE}${COLOR_NORMAL}"
fi
return ${RESULT}
}
#-------------------------------------------------------------------------------
# Creates all components of the specified directories
# Parameters: %directory%
#-------------------------------------------------------------------------------
function makeDirectory() {
local OUTPUT=$(install -d "${@}" 2>&1)
local RESULT=${?}
if [[ ${RESULT} -ne 0 ]]; then
logOutput "${OUTPUT}"
fi
return ${RESULT}
}
#-------------------------------------------------------------------------------
# Creates a symbolic link between to files in specified target directory
# Parameters: %source% %target%
#-------------------------------------------------------------------------------
function makeLink() {
local DESTDIR="${2%/*}"
[[ ! -d ${DESTDIR} ]] && makeDirectory "${DESTDIR}"
local OUTPUT=$(ln -sfn "${1}" "${2}" 2>&1)
local RESULT=${?}
if [[ ${RESULT} -ne 0 ]]; then
logOutput "${OUTPUT}"
fi
return ${RESULT}
}