pvincent 4 days ago
parent
commit
cb1c966970
  1. 2
      lib/init.bash
  2. 70
      tools/wget_semver

2
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

70
tools/wget_semver

@ -4,56 +4,56 @@ REPO_TYPE=$1
REPO_NAME=$2
function usage {
local basecmd
basecmd=$(basename "$0")
echo 'usage: <REPO_TYPE> <REPO_NAME> [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: <REPO_TYPE> <REPO_NAME> [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 <GIT> required"
source "$MIAOU_BASH_DIR/lib/functions.bash"
"$CURDIR/tools/idem_apt_install" git
echo "INSTALLING PACKAGE <GIT> 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
Loading…
Cancel
Save