X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;ds=sidebyside;f=webi%2Ftemplate.bash;h=f5147ea8ec6f815ce3b6302437beaa56c0225d58;hb=969df21e47c4d8312925638739a23eef0c349e1c;hp=a3d9e7ef84c711ae76f716de8278e10500af9d80;hpb=5a7fab00cfcff62659f2e50cf7bee859142795b7;p=webi-installers%2F.git diff --git a/webi/template.bash b/webi/template.bash index a3d9e7e..f5147ea 100644 --- a/webi/template.bash +++ b/webi/template.bash @@ -46,25 +46,29 @@ set -e webi_check() { # Test for existing version set +e - pkg_current_cmd="$(command -v "$pkg_cmd_name")" + my_current_cmd="$(command -v "$pkg_cmd_name")" set -e - my_current_version="" - if [ -n "$pkg_current_cmd" ]; then + if [ -n "$my_current_cmd" ]; then pkg_current_version="$(pkg_get_current_version)" # remove trailing '.0's for golang's sake my_current_version="$(echo $pkg_current_version | sed 's:\.0::g')" - my_new_version="$(echo $WEBI_VERSION | sed 's:\.0::g')" - my_canonical_name="$(pkg_format_cmd_version "$WEBI_VERSION")" - if [ "$my_new_version" == "$my_current_version" ]; then - echo "$my_canonical_name already installed at $pkg_current_cmd" + my_src_version="$(echo $WEBI_VERSION | sed 's:\.0::g')" + if [ -n "$(command -v pkg_format_cmd_version)" ]; then + my_canonical_name="$(pkg_format_cmd_version "$WEBI_VERSION")" + else + #my_canonical_name="$WEBI_NAME $WEBI_VERSION" + my_canonical_name="$pkg_cmd_name v$WEBI_VERSION" + fi + if [ "$my_src_version" == "$my_current_version" ]; then + echo "$my_canonical_name already installed at $my_current_cmd" exit 0 else - if [ "$pkg_current_cmd" != "$pkg_common_cmd" ]; then - echo "WARN: possible conflict between $my_canonical_name and $pkg_current_version at $pkg_current_cmd" + if [ "$my_current_cmd" != "$pkg_dst_cmd" ]; then + echo "WARN: possible conflict between $my_canonical_name and $pkg_current_version at $my_current_cmd" fi - if [ -x "$pkg_new_cmd" ]; then - pkg_switch_version - echo "switched to $my_canonical_name at $pkg_new_opt" + if [ -x "$pkg_src_cmd" ]; then + pkg_link_src_dst + echo "switched to $my_canonical_name at $pkg_src" exit 0 fi fi @@ -161,4 +165,32 @@ webi_path_add() { ## ## +if [ -n "$(command -v pkg_install)" ]; then + pkg_cmd_name="${pkg_cmd_name:-$WEBI_NAME}" + + pkg_dst="${pkg_dst:-$HOME/.local/opt/$pkg_cmd_name}" + pkg_dst_bin="${pkg_dst_bin:-$pkg_dst/bin}" + pkg_dst_cmd="${pkg_dst_cmd:-$pkg_dst_bin/$pkg_cmd_name}" + + pkg_src="${pkg_src:-$HOME/.local/opt/$pkg_cmd_name-v$WEBI_VERSION}" + pkg_src_bin="${pkg_src_bin:-$pkg_src/bin}" + pkg_src_cmd="${pkg_src_cmd:-$pkg_src_bin/$pkg_cmd_name}" + + [ -n "$(command -v pkg_pre_install)" ] && pkg_pre_install + + echo "Installing '$pkg_cmd_name' v$WEBI_VERSION as $pkg_src_cmd" + pkg_install + + [ -n "$(command -v pkg_post_install)" ] && pkg_post_install + + if [ -n "$(command -v pkg_post_install_message)" ]; then + pkg_post_install_message + else + echo "Installed '$pkg_cmd_name' v$WEBI_VERSION as $pkg_src_cmd" + fi + echo "" +fi + +rm -rf "$WEBI_TMP" + }