X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fcore%2Flaunch_feisty_meow.sh;fp=scripts%2Fcore%2Flaunch_feisty_meow.sh;h=80226899a83bad279656c1986bfc825ebc186775;hb=afa692de4ad15489f09323a37396fccfa5991a9c;hp=8b07cc3b04997a0f70309488d4e54b7f68eabfc4;hpb=c16bb1f1736b8c86797d4fc74a91337d4c691db4;p=feisty_meow.git diff --git a/scripts/core/launch_feisty_meow.sh b/scripts/core/launch_feisty_meow.sh index 8b07cc3b..80226899 100644 --- a/scripts/core/launch_feisty_meow.sh +++ b/scripts/core/launch_feisty_meow.sh @@ -18,6 +18,27 @@ ############## +# this script cannot handle figuring out where it lives, so approaches that +# get the WORKDIR will fail. this is a consequence of this always being used +# in bash's 'source' directive, which does not pass the script name as +# argument 0. instead, we just check for the bad condition of a malconfigured +# script system and try to repair it. + +# check if any crucial folder is hosed. we will torch the existing config +# to the extent we can. +if [ ! -d "$FEISTY_MEOW_SCRIPTS" -o ! -d "$FEISTY_MEOW_APEX" ]; then + # wipe out the offending variable(s). + unset FEISTY_MEOW_SCRIPTS FEISTY_MEOW_APEX + # clean out any unfortunate wrongness that may exist in our generated areas. + if [ -d "$"FEISTY_MEOW_LOADING_DOCK ]; then \rm -rf "$FEISTY_MEOW_LOADING_DOCK"; fi + if [ -d "$FEISTY_MEOW_GENERATED_STORE" ]; then \rm -rf "$FEISTY_MEOW_GENERATED_STORE"; fi + # also wipe any values from the variables pointing at generated stuff. + unset FEISTY_MEOW_LOADING_DOCK FEISTY_MEOW_GENERATED_STORE + exec "$*" +fi + +############## + # some preconditions we want to establish before loading anything... # make sure that aliases can be used in non-interactive shells. @@ -44,11 +65,10 @@ if [ -z "$FEISTY_MEOW_LOADING_DOCK" ]; then # make sure our main variables are established. FEISTY_MEOW_VARIABLES_LOADING_FILE="$FEISTY_MEOW_LOADING_DOCK/fmc_variables.sh" if [ ! -f "$FEISTY_MEOW_VARIABLES_LOADING_FILE" ]; then - echo -e '\n\n' - example_dir="/usr/local/fred" echo -e "\ + The feisty meow scripts need initialization via the bootstrap process. For\n\ -example, if the feisty meow folder lives in '$example_dir', then this\n\ +example, if the feisty meow folder lives in '$DEFAULT_FEISTYMEOW_ORG_DIR', then this\n\ command bootstraps feisty meow:\n\ \n\ bash $example_dir/feisty_meow/scripts/core/reconfigure_feisty_meow.sh\n\