tweaks to startup
authorChris Koeritz <fred@gruntose.com>
Wed, 21 Sep 2022 21:07:02 +0000 (17:07 -0400)
committerChris Koeritz <fred@gruntose.com>
Wed, 21 Sep 2022 21:07:02 +0000 (17:07 -0400)
got the loadfm script to work without too many assumptions.

infobase/feisty_inits/dot.bashrc-root
scripts/core/common.alias
scripts/core/loadfm.sh [new file with mode: 0755]

index 944ed1ad3ae663238a0c33d44ca49ebd79089d3f..ddc131a85103381e8dd154401172538d9c771f99 100644 (file)
@@ -27,10 +27,9 @@ export HISTFILESIZE=8000000
 # system-wide install (will be fixed by connect_feisty_meow script):
 export FEISTY_MEOW_APEX="/opt/feistymeow.org/feisty_meow"
 
-# the "fredme" macro enables the feisty_meow environment.
-alias fredme='source "$FEISTY_MEOW_APEX/scripts/core/launch_feisty_meow.sh"'
-# synonym for fredme which makes more sense to most people.
-alias feistyme='source "$FEISTY_MEOW_APEX/scripts/core/launch_feisty_meow.sh"'
+# the "gofeisty" macro enables the feisty_meow environment.  this can be used
+# after logging in, and avoids loading the feisty meow environment automatically.
+alias gofeisty='source "$FEISTY_MEOW_APEX/scripts/core/launch_feisty_meow.sh"'
 
 # if not commented out, then feisty meow will run all the unit tests during builds.
 #export RUN_ALL_TESTS=true
index f2c3b43718e629ecf5c6e03abc80b1c6978f2c15..430b14aeb6b238bfed692137d926f69bb10b5aba 100644 (file)
@@ -153,10 +153,10 @@ define_yeti_alias why='echo We all wonder what the point of the universe is at t
 
 ##############
 
-# remove the "fredization" or "feistymeowization" macros if they're defined,
-# which reduces the chance of loading the shell environment twice for users
-# like root that don't load feisty meow automatically.
-unalias fredme feistyme &>/dev/null
+# remove the "feistymeowization" macro if defined, which reduces the chance of
+# loading the shell environment twice for users like root who don't load
+# feisty meow automatically.
+unalias gofeisty &>/dev/null
 
 ##############
 
diff --git a/scripts/core/loadfm.sh b/scripts/core/loadfm.sh
new file mode 100755 (executable)
index 0000000..8911b46
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+
+# this is a simplified feisty meow environment loader that starts
+# a subshell within which the environment is available.  exiting
+# one time gets back to the shell that ran this script.  (this script
+# is designed to be executed, not sourced.)
+
+# Author: Chris Koeritz
+
+ORIGINATING_FOLDER="$( \cd "$(\dirname "$0")" && /bin/pwd )"
+export CORE_SCRIPTS_DIR="$(echo "$ORIGINATING_FOLDER" | tr '\\\\' '/' )"
+echo core scripts dir is $CORE_SCRIPTS_DIR
+
+THIS_TOOL_NAME="$(basename "$0")"
+
+pushd "$CORE_SCRIPTS_DIR/../.." &>/dev/null
+export FEISTY_MEOW_APEX="$(/bin/pwd)"
+echo feisty apex is now FEISTY_MEOW_APEX=$FEISTY_MEOW_APEX
+
+#hmmm: actually this should run the reconfigure script first!
+#      then we would be semi-bulletproof and wouldn't actually have
+#      to make users run that as first step?
+
+bash --init-file <(echo "\
+echo "subshell sees feisty meow apex as $FEISTY_MEOW_APEX"; \
+bash "$CORE_SCRIPTS_DIR/reconfigure_feisty_meow.sh"; \
+if [ $? -ne 0 ]; then echo "error--reconfiguring feisty meow environment failed."; fi; \
+source "$CORE_SCRIPTS_DIR/launch_feisty_meow.sh"; \
+if [ $? -ne 0 ]; then echo "error--launching feisty meow environment failed."; fi; \
+")
+
+popd &> /dev/null
+
+####
+