From 2405c4e4b87387eb234fbbc4af9f5083c12b858c Mon Sep 17 00:00:00 2001 From: Chris Koeritz Date: Fri, 10 Nov 2017 22:12:56 -0500 Subject: [PATCH] very sweet auto-location working the reconfigure and launch scripts now can handle if you've changed the feisty meow path and want to re-configure the codebase, even with all the wrong older variables still set. --- scripts/core/launch_feisty_meow.sh | 9 +++++++++ scripts/core/reconfigure_feisty_meow.sh | 16 +++++++++++++--- scripts/core/variables.sh | 3 +-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/scripts/core/launch_feisty_meow.sh b/scripts/core/launch_feisty_meow.sh index 82eb5a7f..496786a7 100644 --- a/scripts/core/launch_feisty_meow.sh +++ b/scripts/core/launch_feisty_meow.sh @@ -18,6 +18,15 @@ ############## +ORIGINATING_FOLDER="$( \cd "$(\dirname "$0")" && /bin/pwd )" +CORE_SCRIPTS_DIR="$(echo "$ORIGINATING_FOLDER" | tr '\\\\' '/' )" +THIS_TOOL_NAME="$(basename "$0")" +# repair some paths that we should always be able to auto-calculate. +export FEISTY_MEOW_SCRIPTS="$( \cd "$CORE_SCRIPTS_DIR/.." && /bin/pwd )" +export FEISTY_MEOW_APEX="$( \cd "$FEISTY_MEOW_SCRIPTS/.." && /bin/pwd )" + +############## + # some preconditions we want to establish before loading anything... # make sure that aliases can be used in non-interactive shells. diff --git a/scripts/core/reconfigure_feisty_meow.sh b/scripts/core/reconfigure_feisty_meow.sh index bcf187ac..ffef7270 100644 --- a/scripts/core/reconfigure_feisty_meow.sh +++ b/scripts/core/reconfigure_feisty_meow.sh @@ -21,6 +21,9 @@ source "$CORE_SCRIPTS_DIR/functions.sh" export FEISTY_MEOW_APEX="$(/bin/pwd)" #echo feisty now is FEISTY_MEOW_APEX=$FEISTY_MEOW_APEX +# make the variables script run again. +unset CORE_VARIABLES_LOADED + # repetitive bit stolen from variables. should make a file out of this somehow. IS_DOS=$(uname | grep -i ming) if [ -z "$IS_DOS" ]; then IS_DOS=$(uname | grep -i cygwin); fi @@ -42,7 +45,12 @@ if [ ! -d "$FEISTY_MEOW_LOADING_DOCK" ]; then mkdir -p "$FEISTY_MEOW_LOADING_DOCK" fi # need to add some paths explicitly until we've bootstrapped ourselves. -export PERLLIB=$PERLLIB:"$FEISTY_MEOW_SCRIPTS/files":"$FEISTY_MEOW_SCRIPTS/generator" +#hmmm: this is tasty reusable code... +export PERLLIB=$(echo $PERLLIB | sed -e "s?\([:]*\)\([^:]*feisty_meow[^:]*\)\([:]*\)??g") + +PERLLIB=$PERLLIB:"$FEISTY_MEOW_SCRIPTS/core":"$FEISTY_MEOW_SCRIPTS/files":"$FEISTY_MEOW_SCRIPTS/generator" +PERL5LIB=$PERLLIB +#echo PERLLIB after modification is $PERLLIB # make toast out of generated files right away, but leave any custom scripts. find "$FEISTY_MEOW_LOADING_DOCK" -maxdepth 1 -type f -exec perl "$FEISTY_MEOW_SCRIPTS/files/safedel.pl" "{}" ';' # &>/dev/null @@ -61,8 +69,10 @@ done # load our variables so we can run our perl scripts successfully. source "$FEISTY_MEOW_SCRIPTS/core/variables.sh" -# create our common aliases. -perl "$FEISTY_MEOW_SCRIPTS/core/generate_aliases.pl" +# create our common aliases. we need to refresh the PERLLIB since the shell +# seems to keep accumulating the value in a weird way. +PERLLIB=$PERLLIB PERL5LIB=$PERLLIB perl "$FEISTY_MEOW_SCRIPTS/core/generate_aliases.pl" +#echo after the generate aliases, perllib is $PERLLIB if [ ! -z "$DEBUG_FEISTY_MEOW" ]; then echo established these variables for feisty_meow assets: diff --git a/scripts/core/variables.sh b/scripts/core/variables.sh index e743345d..b6311dac 100644 --- a/scripts/core/variables.sh +++ b/scripts/core/variables.sh @@ -175,7 +175,6 @@ define_yeti_variable DEFAULT_FEISTYMEOW_ORG_DIR=/opt/feistymeow.org # variables for perl. define_yeti_variable PERLLIB+="/usr/lib/perl5" - define_yeti_variable PERL5LIB+="/usr/lib/perl5" if [ "$OS" == "Windows_NT" ]; then define_yeti_variable PERLIO=:perlio # choose perl's IO over the ms-windows version so we can handle file @@ -190,10 +189,10 @@ define_yeti_variable DEFAULT_FEISTYMEOW_ORG_DIR=/opt/feistymeow.org ls $i/*.pl &>/dev/null if [ $? -eq 0 ]; then PERLLIB+=":$(dos_to_unix_path $i)" - PERL5LIB+=":$(dos_to_unix_path $i)" fi fi done + define_yeti_variable PERL5LIB=$PERLLIB #echo PERLLIB is now $PERLLIB ############## -- 2.34.1