From ac288ae414058980b1b5f27fb43c25643b3c932d Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Tue, 17 Dec 2024 13:51:32 -0300 Subject: Fix: VM name and folder logic --- ChangeLog.md | 8 ++++++++ kvmx | 31 +++++++++++++++++++------------ 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 2560e6c..a95f824 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,13 @@ # ChangeLog +## 0.4.1 - 2024-12-17 + +* Fixes the case when the virtual machine guest is registered under a + different name, other than the name of the project folder on + `__kvmx_initialize`. + +* Fixes VM name and folder logic handling on `kvmx_init`. + ## 0.4.0 - 2024-11-22 * Adds `kvmx sshdir` action, which SSH's to the guest and changes to a given diff --git a/kvmx b/kvmx index fee8c3e..2f20346 100755 --- a/kvmx +++ b/kvmx @@ -19,7 +19,7 @@ # # Basic parameters -VERSION="0.4.0" +VERSION="0.4.1" BASENAME="`basename $0`" DIRNAME="`dirname $0`" ACTION="$1" @@ -106,7 +106,20 @@ function __kvmx_initialize { # Check if second argument is a VM name or option if [ -z "$2" ]; then - VM="$(basename `pwd`)" + CANDIDATE_DEST="`pwd`/kvmxfile" + CANDIDATE_SRC="`find $GLOBAL_USER_CONFIG_FOLDER -lname $CANDIDATE_DEST | head -1`" + + if [ ! -z "$CANDIDATE_SRC" ]; then + CANDIDATE_SRC="`basename $CANDIDATE_SRC`" + fi + + # This covers the case when the VM is configured with a different name then the folder name + if [ ! -z "$CANDIDATE_SRC" ] ; then + VM="$CANDIDATE_SRC" + else + VM="$(basename `pwd`)" + fi + SHIFTARGS="1" elif [ -e 'kvmxfile' ] && [ ! -e "$GLOBAL_USER_CONFIG_FOLDER/$2" ] && [ "$2" != "$(basename `pwd`)" ]; then VM="$(basename `pwd`)" @@ -1536,17 +1549,11 @@ function kvmx_upgrade { # Initializes a new guest function kvmx_init { - FOLDER="$1" - - if [ -z "$FOLDER" ]; then - if [ -z "$VM" ]; then - VM="$(basename `pwd`)" - FOLDER="$(dirname `pwd`)/$VM" - else - FOLDER="$(pwd)/$VM" - fi + if [ -z "$1" ]; then + VM="$(basename `pwd`)" + FOLDER="$(dirname `pwd`)/$VM" else - VM="$FOLDER" + VM="$1" if [ ! -z "$2" ]; then FOLDER="$2" -- cgit v1.2.3