diff --git a/lib/init.bash b/lib/init.bash index 8834535..b5e47bf 100755 --- a/lib/init.bash +++ b/lib/init.bash @@ -2,7 +2,7 @@ # CONSTANTS -readonly REQUIRED_PKGS=(file jq vim) +readonly REQUIRED_PKGS=(file jq vim git) readonly BACKUP='ORIGINAL' # FUNCTIONS diff --git a/tools/wget_semver b/tools/wget_semver index 8d9289e..436e8de 100755 --- a/tools/wget_semver +++ b/tools/wget_semver @@ -4,56 +4,56 @@ REPO_TYPE=$1 REPO_NAME=$2 function usage { - local basecmd - basecmd=$(basename "$0") - echo 'usage: [DESTINATION]' - echo 'example:' - echo -e '\t# REPO_TYPE=github' - echo -e "\t${basecmd} github Dolibarr/dolibarr\n" - echo -e '\t# REPO_TYPE=artcode' - echo -e "\t${basecmd} artcode libre/libre-gnome\n" - exit 1 + local basecmd + basecmd=$(basename "$0") + echo 'usage: [DESTINATION]' + echo 'example:' + echo -e '\t# REPO_TYPE=github' + echo -e "\t${basecmd} github Dolibarr/dolibarr\n" + echo -e '\t# REPO_TYPE=artcode' + echo -e "\t${basecmd} artcode libre/libre-gnome\n" + exit 1 } function get_github { - local all_releases=$(git ls-remote --tags --sort="v:refname" https://github.com/"$REPO_NAME" | grep -Eo "v?([0-9]+\.){2}[0-9]+$") - - # extract only VERSION without 'v' - local non_v_release=$(echo "$all_releases" | grep -v v | tail -n1 | cut -f2 | cut -d '/' -f3) - non_v_release=${non_v_release%^\{\}} # remove extra characters ^{} from github - - # extract remaining version including 'v' - local v_release=$(echo "$all_releases" | tail -n1 | cut -f2 | cut -d '/' -f3) - v_release=${v_release%^\{\}} # remove extra characters ^{} from github - - # compare which newer from non_v_release to v_release - if [ -n "$non_v_release" ] && [ "v$non_v_release" \> "$v_release" ]; then - echo $non_v_release - else - echo $v_release - fi + local all_releases=$(git ls-remote --tags --sort="v:refname" https://github.com/"$REPO_NAME" | grep -Eo "v?([0-9]+\.){2}[0-9]+$") + + # extract only VERSION without 'v' + local non_v_release=$(echo "$all_releases" | grep -v v | tail -n1 | cut -f2 | cut -d '/' -f3) + non_v_release=${non_v_release%^\{\}} # remove extra characters ^{} from github + + # extract remaining version including 'v' + local v_release=$(echo "$all_releases" | tail -n1 | cut -f2 | cut -d '/' -f3) + v_release=${v_release%^\{\}} # remove extra characters ^{} from github + + # compare which newer from non_v_release to v_release + if [ -n "$non_v_release" ] && [ "v$non_v_release" \> "$v_release" ]; then + echo $non_v_release + else + echo $v_release + fi } function get_artcode { - git ls-remote --tags --sort="v:refname" "https://git.artcode.re/$REPO_NAME" | tail -n1 | cut -f2 | cut -d '/' -f3 + git ls-remote --tags --sort="v:refname" "https://git.artcode.re/$REPO_NAME" | tail -n1 | cut -f2 | cut -d '/' -f3 } [[ $# -ne 2 ]] && usage if [ -z "$(command -v git)" ]; then - echo "INSTALLING PACKAGE required" - source "$MIAOU_BASH_DIR/lib/functions.bash" - "$CURDIR/tools/idem_apt_install" git + echo "INSTALLING PACKAGE required" + source "$MIAOU_BASH_DIR/lib/functions.bash" + "$MIAOU_BASH_DIR/tools/idem_apt_install" git fi case $REPO_TYPE in github) - get_github - ;; + get_github + ;; artcode) - get_artcode - ;; + get_artcode + ;; *) - echo "repository type <${REPO_TYPE}> not yet supported!" && exit 1 - ;; + echo "repository type <${REPO_TYPE}> not yet supported!" && exit 1 + ;; esac