very sweet auto-location working
[feisty_meow.git] / scripts / core / variables.sh
index b5ea3456311933b1546fad677f7fca4a623aa9c1..b6311dacff8517b02357178abcc4ff9a3f09ab6f 100644 (file)
   # this function always exports the variables it defines.
   function define_yeti_variable()
   {
-# if variable exists already, save old value for restore,
+    #hmmm: simple implem just sets it up and exports the variable.
+    #  i.e., this method always exports.
+    export "${@}" 
+
+#hmmm: eventual approach-- if variable exists already, save old value for restore,
 # otherwise save null value for restore,
 # have to handle unsetting if there was no prior value of one
 # we newly defined.
 # add variable name to a list of feisty defined variables.
 
-#hmmm: first implem just sets it up and exports the variable.
-#  i.e., this method always exports.
-export "${@}" 
-
-
 return 0
   }
 
@@ -57,6 +56,9 @@ if [ -z "$CORE_VARIABLES_LOADED" ]; then
   
   # start with some simpler things.
   
+#hmmm: this needs to come from some configuration item.  especially for installs.
+define_yeti_variable DEFAULT_FEISTYMEOW_ORG_DIR=/opt/feistymeow.org
+
   define_yeti_variable SCRIPT_SYSTEM=feisty_meow
   
   # OS variable records the operating system we think we found.
@@ -94,9 +96,12 @@ if [ -z "$CORE_VARIABLES_LOADED" ]; then
   # this is only used for extreme failure modes, when the values were not
   # pulled in from our auto-generated config.
   if [ -z "$FEISTY_MEOW_APEX" ]; then
-    if [ -d "$HOME/feisty_meow" ]; then
+    if [ -d "/opt/feistymeow.org/feisty_meow" ]; then
+      define_yeti_variable FEISTY_MEOW_APEX="/opt/feistymeow.org/feisty_meow"
+      define_yeti_variable FEISTY_MEOW_SCRIPTS="$FEISTY_MEOW_APEX/scripts"
+    elif [ -d "$HOME/feisty_meow" ]; then
       define_yeti_variable FEISTY_MEOW_APEX="$HOME/feisty_meow"
-      define_yeti_variable FEISTY_MEOW_SCRIPTS="$FEISTY_MEOW_SCRIPTS"
+      define_yeti_variable FEISTY_MEOW_SCRIPTS="$FEISTY_MEOW_APEX/scripts"
     fi
   fi
 
@@ -170,7 +175,6 @@ if [ -z "$CORE_VARIABLES_LOADED" ]; then
   # 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
@@ -185,10 +189,10 @@ if [ -z "$CORE_VARIABLES_LOADED" ]; then
       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
   
   ##############
@@ -205,6 +209,18 @@ if [ -z "$CORE_VARIABLES_LOADED" ]; then
   #    define_yeti_variable REPOSITORY_DIR+="muppets configs"
   # see the customize/fred folder for a live example.
   define_yeti_variable REPOSITORY_LIST="$FEISTY_MEOW_APEX "
+
+  # add in any active projects to the repository list.
+  if [ -d "$HOME/active" ]; then
+    REPOSITORY_LIST+="$(find "$HOME/active" -maxdepth 1 -mindepth 1 -type d) "
+  fi
+  # add in any site avenger applications that are in the apps folder.
+  if [ -d "$HOME/apps" ]; then
+    # first, simple projects.
+    REPOSITORY_LIST+="$(find "$HOME/apps" -iname "avenger5" -type d) "
+    # then, site avenger specific projects.
+    REPOSITORY_LIST+="$(find "$HOME/apps" -maxdepth 2 -mindepth 2 -iname "avenger5" -type d) "
+  fi
   
   # the archive collections list is a set of directories that are major
   # repositories of data which can be synched to backup drives.