updated scheme for locating revision control assets; uses a list (in a
authorChris Koeritz <fred@gruntose.com>
Sun, 12 Feb 2012 18:00:16 +0000 (13:00 -0500)
committerChris Koeritz <fred@gruntose.com>
Sun, 12 Feb 2012 18:00:16 +0000 (13:00 -0500)
string) of the folder names, which we later puff out to be an array of
names.  this chicanery is only needed because bash does not actually export
array variables.  still!  a few other nice clean-ups were done.

examples/custom_overrides/fred/fred_variables.sh
scripts/core/launch_feisty_meow.sh
scripts/core/variables.sh
scripts/readme.txt [new file with mode: 0644]
scripts/rev_control/checkin.sh
scripts/rev_control/getme.sh

index 8df58455cd6c281dfe0f6171776c09771c366818..90376b6574146a1ffecdb0e5620414388fa63379 100644 (file)
@@ -10,6 +10,11 @@ if [ "$(hostname)" = "zooty.koeritz.com" ]; then
   export WEB_DIR=/var/www
 fi
 
+# add a bunch of folders to the list for checkin & checkout.  these are
+# definitely personal, and some of them are fairly dated (the yeti and
+# hoople folders, for example).
+REPOSITORY_LIST+=" games hoople hoople1 hoople2 quartz web yeti xsede/xsede_tests xsede/code/cak0l/trunk"
+
 # point to our local certificate for ssh usage.
 export SVN_SSH="ssh -i $HOME/.ssh/id_dsa_sourceforge"
 
index b1becc21268d24c633a75e65ab1901f28140cc69..9b1a4e5b34613ba4bdca8e90f895a44b63c80504 100644 (file)
@@ -30,16 +30,18 @@ if [ ! -f "$GENERATED_FEISTY_MEOW_VARIABLES" ]; then
   echo -e '\n\n'
 fi
 
-# pull in our variable set.
+##############
+
+# pull in our generated variables that are the minimal set we need to find
+# the rest of our resources.
 source "$GENERATED_FEISTY_MEOW_VARIABLES"
 
 ##############
 
-# Set up all of the environment's system variables.  This is the first step
-# in the majestic plan we have for this shell's initialization.
+# load all the standard feisty meow variables into the environment.
 source $FEISTY_MEOW_SCRIPTS/core/variables.sh
 
-# Set up the temporary directory...
+# Set up the temporary directory.
 source $FEISTY_MEOW_SCRIPTS/core/create_tempdir.sh
 
 ##############
@@ -61,10 +63,6 @@ if [ -z "$LIGHTWEIGHT_INIT" ]; then
 
   if [ ! -z "$SHELL_DEBUG" ]; then echo heavyweight login begins...; fi
 
-#FEISTY_MEOW_GENERATED=$(echo $FEISTY_MEOW_GENERATED | sed -e 's/\\/\//g')
-#FEISTY_MEOW_SCRIPTS="$(echo $FEISTY_MEOW_SCRIPTS | sed -e 's/\\/\//g')"
-#FEISTY_MEOW_SCRIPTS="$FEISTY_MEOW_SCRIPTS"
-
   # set up the aliases for the shell, but only if they are not already set.
   alias regenerated &>/dev/null  # see if a crucial alias exists.
   if [ $? -ne 0 ]; then
index d3d12f2a4a6c711bb95df0cf49ff16f084f72d06..1faf0d1b9bef7ddf9c3aa2f9f6db1f5f92548062 100644 (file)
@@ -30,6 +30,10 @@ if [ -z "$HOME" ]; then
   fi
 fi
 
+##############
+
+# windoze specific stuff.
+
 # patch home to undo cygwin style of drive letter.
 export HOME=$(echo $HOME | sed -e 's/\/cygdrive\//\//g')
 #echo HOME is now $HOME
@@ -38,6 +42,8 @@ if [ "$OS" == "Windows_NT" ]; then
   export HOSTNAME=$(echo $HOSTNAME | tr A-Z a-z)
 fi
 
+##############
+
 # ulimit and umask.  umask sets a permission mask for all file
 # creations.  The mask shown here disallows writing by the "group" and
 # "others" categories of users.  ulimit sets the user limits.  the core
@@ -51,10 +57,6 @@ ulimit -c 0
 
 export SCRIPT_SYSTEM=feisty_meow
 
-#if [ -z "$FEISTY_MEOW_DIR" ]; then export FEISTY_MEOW_DIR="$HOME/$SCRIPT_SYSTEM"; fi
-#if [ -z "$FEISTY_MEOW_SCRIPTS" ]; then export FEISTY_MEOW_SCRIPTS="$FEISTY_MEOW_DIR/scripts"; fi
-#if [ -z "$FEISTY_MEOW_SCRIPTS" ]; then export FEISTY_MEOW_SCRIPTS="$FEISTY_MEOW_SCRIPTS"; fi
-
 # include helpful functions.
 source "$FEISTY_MEOW_SCRIPTS/core/functions.sh"
 
@@ -70,7 +72,8 @@ fi
 
 ##############
 
-# user variables...
+# user variables, sort of...  if they haven't given themselves a name yet,
+# then we will make one up for them.
 
 # define a default name, if one wasn't already set.
 if [ -z "$NAME" ]; then
@@ -79,40 +82,16 @@ fi
 
 ##############
 
-
-##############################################################################
 # other variables...
-##############################################################################
 
-# pull in the custom overrides for feisty_meow scripts.
-for i in $FEISTY_MEOW_GENERATED/custom/*.sh; do
-  if [ ! -f "$i" ]; then
-    # skip it if it's not real.
-    continue;
-  fi
-  if [ ! -z "$SHELL_DEBUG" ]; then
-    echo "loading customization: $(basename $(dirname $i))/$(basename $i)"
-  fi
-  source $i
-done
-
-# sets the prompts to what we (i.e., i) like...
-# there are four different prompts.  the first one, PS1, is the one that users
-# see the most often. 
+# sets the main prompt to a simple default, with user@host.
 export PS1='\u@\h $ ';
-### export PS2='> '; export PS3='#? '; export PS4='+ '
 
 # variables for perl.
 export PERLLIB
 if [ "$OS" != "Windows_NT" ]; then
   PERLLIB+="/usr/lib/perl5"
 else
-
-#echo "the scripts dir is $FEISTY_MEOW_SCRIPTS"
-#  FEISTY_MEOW_SCRIPTS="$(echo $FEISTY_MEOW_SCRIPTS | sed -e 's/\\/\//g')"
-#  FEISTY_MEOW_SCRIPTS="$FEISTY_MEOW_SCRIPTS"
-#echo "the scripts dir is now $FEISTY_MEOW_SCRIPTS"
-
   export PERLIO=:perlio
     # choose perl's IO over the ms-windows version so we can handle file
     # bytes properly.
@@ -141,6 +120,10 @@ export CVS_RSH=ssh
 HISTSIZE=1000000
 HISTFILESIZE=2000000
 
+# the base checkout list is just to update feisty_meow.  additional folder
+# names can be added in your customized scripts.
+export REPOSITORY_LIST="feisty_meow"
+
 # set the editor for subversion if it hasn't already been set.
 if [ -z "$SVN_EDITOR" ]; then
 #hmmm: not sure what original reason for having these different was...
@@ -204,8 +187,29 @@ if [ $found_build_vars == 1 ]; then
   export LD_LIBRARY_PATH="$(dos_to_msys_path $LD_LIBRARY_PATH):$(dos_to_msys_path $BINDIR)"
 fi
 
-# Set the path for locating applications.
+##############
+
+# pull in the custom overrides for feisty_meow scripts.  this is done last,
+# because we want to set everything up as expected, then let the user
+# override individual variables and definitions.
+for i in $FEISTY_MEOW_GENERATED/custom/*.sh; do
+  if [ ! -f "$i" ]; then
+    # skip it if it's not real.
+    continue;
+  fi
+  if [ ! -z "$SHELL_DEBUG" ]; then
+    echo "loading customization: $(basename $(dirname $i))/$(basename $i)"
+  fi
+  source $i
+done
+
+##############
+
+# set the path for locating applications.  this is done after any
+# potential overrides from the user.
 export PATH="$(dos_to_msys_path $BINDIR):$(dos_to_msys_path $FEISTY_MEOW_GENERATED):$PATH:/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/lib:/usr/games:/usr/bin:."
 
+##############
+
 if [ ! -z "$SHELL_DEBUG" ]; then echo variables initialization ends....; fi
 
diff --git a/scripts/readme.txt b/scripts/readme.txt
new file mode 100644 (file)
index 0000000..9992bd9
--- /dev/null
@@ -0,0 +1,14 @@
+
+This is the feisty meow scripts folder, which formerly formed the bulk of the
+yeticode scripts collection.  We still love yetis however.
+
+Folders contained herein include:
+
+core/
+    The most crucial scripts that we rely on in the codebase.  These are
+responsible for bootstrapping the shell scripts and providing the variables
+and core aliases that are most often needed.  The scripts in this folder also
+provide an extensible way to load other aliases and variables to customize
+the feisty meow yeti scripts.  There, we're still talking about yetis.
+
+etc...
index 18b459a01285316e3f49efd759e4803087d11d05..a730031fc4df9e44a51174e1a30a7f418b59b5fc 100644 (file)
@@ -25,10 +25,17 @@ function do_checkin()
   fi
 }
 
+# checks in all the folders in a specified list.
 function checkin_list {
   local list=$*
   for i in $list; do
-    for j in $i/feisty_meow $i/hoople1 $i/hoople2 $i/quartz $i/web $i/yeti $i/xsede/xsede_tests $i/xsede/code/cak0l/trunk ; do
+echo whole list is ${REPOSITORY_LIST}
+    # turn repo list back into an array.
+    eval "repository_list=( ${REPOSITORY_LIST[*]} )"
+    for j in "${repository_list[@]}"; do
+      # add in the directory component.
+      j="$i/$j"
+echo here the dir thing is: $j
       if [ ! -d "$j" ]; then continue; fi
 
       pushd $j &>/dev/null
index 92c3ee55e73039c79fd5acba4be286b70b485535..58da7087086f32fa136f476c97603049745c80e1 100644 (file)
@@ -38,10 +38,13 @@ function do_update()
 function checkout_list {
   list=$*
   for i in $list; do
-#this list should be part of the configuration file, not part of script.
-    for j in $i/feisty_meow $i/hoople $i/hoople1 $i/hoople2 $i/quartz $i/web $i/yeti $i/xsede/xsede_tests $i/xsede/code/cak0l/trunk ; do
+    # turn repo list back into an array.
+    eval "repository_list=( ${REPOSITORY_LIST[*]} )"
+    for j in "${repository_list[@]}"; do
+      # add in the directory for our purposes here.
+      j="$i/$j"
       if [ ! -d $j ]; then
-#        echo no directory called $j exists
+        echo no directory called $j exists
         continue
       fi