From 5858603f34506da8f075791fcee7d0ff7cc02768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sun, 12 Nov 2017 17:49:00 +0000 Subject: Fix deleting installation by name `kerl delete installation` allows deleting by name or path. Problem is, if you provide the name it tries to check for a file `"$name"/activate` instead of using the path, and fails. --- kerl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kerl b/kerl index 9b7bf40..6c6cc89 100755 --- a/kerl +++ b/kerl @@ -301,7 +301,7 @@ is_valid_installation() name=$(echo "$l" | cut -d " " -f 1) path=$(echo "$l" | cut -d " " -f 2) if [ "$name" = "$1" -o "$path" = "$1" ]; then - if [ -f "$1"/activate ]; then + if [ -f "$path"/activate ]; then return 0 fi fi -- cgit v1.2.3 From 5a7368029d0728334f36a8db49953eb62b32b845 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sun, 12 Nov 2017 20:17:47 +0100 Subject: Delete the correct installation folder when a name is provided --- kerl | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/kerl b/kerl index 6c6cc89..4d3c761 100755 --- a/kerl +++ b/kerl @@ -1587,6 +1587,14 @@ get_name_from_install_path() return 0 } +get_install_path_from_name() +{ + if [ -f "$KERL_BASE_DIR"/otp_installations ]; then + grep -m1 -E "$1$" "$KERL_BASE_DIR"/otp_installations | cut -d' ' -f2 + fi + return 0 +} + do_active() { ACTIVE_PATH="$(get_active_path)" @@ -2002,7 +2010,11 @@ case "$1" in ;; installation) assert_valid_installation "$3" - maybe_remove "$3" + if [ -d "$3" ]; then + maybe_remove "$3" + else + maybe_remove "$(get_install_path_from_name "$3")" + fi escaped="$(echo "$3" | sed $SED_OPT -e 's#/$##' -e 's#\/#\\\/#g')" list_remove "$2"s "$escaped" echo "The installation in $3 has been deleted" -- cgit v1.2.3 From e7c67cb8ada4c3f7aea07475ee4847ed686d5858 Mon Sep 17 00:00:00 2001 From: Mark Allen Date: Mon, 13 Nov 2017 09:30:15 +0530 Subject: Fix removal message --- kerl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kerl b/kerl index 4d3c761..f48da1c 100755 --- a/kerl +++ b/kerl @@ -2017,7 +2017,7 @@ case "$1" in fi escaped="$(echo "$3" | sed $SED_OPT -e 's#/$##' -e 's#\/#\\\/#g')" list_remove "$2"s "$escaped" - echo "The installation in $3 has been deleted" + echo "The installation \"$3\" has been deleted" ;; *) echo "Cannot delete $2" -- cgit v1.2.3