X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fcore%2Fvariables.sh;h=7c67e440fb270d412784e41ab44fb9c445629b2a;hb=541783feb1e22d7cb43141640bc45e5d8f5fe8da;hp=f56af98d0209a0491919e5c764d744fac2de5d4c;hpb=6f6cc76fec8dbdeeebff1b877304de4655475586;p=feisty_meow.git diff --git a/scripts/core/variables.sh b/scripts/core/variables.sh index f56af98d..7c67e440 100644 --- a/scripts/core/variables.sh +++ b/scripts/core/variables.sh @@ -9,6 +9,17 @@ ############## +# this section should always run or bash will reset them on us. +# these need to be as minimal as possible. + +# sets the main prompt to a simple default, with user@host. +export PS1='\u@\h $ '; +# sets the history length and max file size so we can get some long history around here. +export HISTSIZE=1000000 +export HISTFILESIZE=2000000 + +############## + # we'll run this again only if we think it's needed. if [ -z "$NECHUNG" ]; then @@ -27,22 +38,21 @@ if [ -z "$NECHUNG" ]; then export IS_DARWIN=$(echo $OSTYPE | grep -i darwin) ############## - - # windoze sometimes needs a special home variable setup. - if [ "$OS" == "Windows_NT" ]; then - # give them a default place if they don't have one already. - if [ -z "$HOME" ]; then - export HOME=c:/home - fi - # patch home to undo cygwin style of drive letter. - # export HOME=$(echo $HOME | sed -e 's/\/cygdrive\//\//g') - # make the home folder if it doesn't exist yet. - if [ ! -d $HOME ]; then - mkdir $HOME - fi - if [ ! -z "$SHELL_DEBUG" ]; then echo HOME is now $HOME; fi + + # guess the current platform. + IS_UNIX=$(uname | grep -i linux) + if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i unix); fi + if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i darwin); fi + IS_DOS=$(uname | grep -i ming) + if [ -z "$IS_DOS" ]; then IS_DOS=$(uname | grep -i cygwin); fi + + # now if we're stuck in DOS, try to determine the type of system. + if [ ! -z "$IS_DOS" ]; then + # IS_MSYS will be non-empty if this is the msys toolset. otherwise + # we assume that it's cygwin. + IS_MSYS=$(uname | grep -i ming) fi - + ############## # fallbacks to set crucial variables for feisty meow... @@ -78,11 +88,6 @@ if [ -z "$NECHUNG" ]; then ############## - # include helpful functions. - source "$FEISTY_MEOW_SCRIPTS/core/functions.sh" - - ############## - # user variables, sort of... if they haven't given themselves a name yet, # then we will make one up for them. @@ -93,11 +98,6 @@ if [ -z "$NECHUNG" ]; then ############## - # sets the main prompt to a simple default, with user@host. - export PS1='\u@\h $ '; - - ############## - # variables for perl. export PERLLIB @@ -127,27 +127,14 @@ if [ -z "$NECHUNG" ]; then # set this so nechung can find its data. export NECHUNG=$FEISTY_MEOW_DIR/database/fortunes.dat - # ensure we use the right kind of rsh for security. - export CVS_RSH=ssh - - # sets the history length and max file size so we can get some long history around here. - HISTSIZE=1000000 - HISTFILESIZE=2000000 + # ensure we use the right kind of secure shell. + export CVS_RSH=$FEISTY_MEOW_SCRIPTS/security/ssh.sh + export GIT_SSH=$FEISTY_MEOW_SCRIPTS/security/ssh.sh # 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... - if [ "$OS" == "Windows_NT" ]; then - export SVN_EDITOR=$(which gvim) - else - export SVN_EDITOR=$(which vi) - fi - fi - # initializes the feisty meow build variables, if possible. function initialize_build_variables() { @@ -163,27 +150,16 @@ if [ -z "$NECHUNG" ]; then fi # now augment the environment if we found our build variables. if [ $found_build_vars == 1 ]; then - # the binary directory contains handy programs we use a lot in yeti. we set up the path to it - # here based on the operating system. - # note that yeti has recently become more dependent on hoople. hoople was always the source of - # the binaries, but now we don't ship them with yeti any more as pre-built items. this reduces - # the size of the code package a lot and shortens up our possible exposure to compromised - # binaries. people can bootstrap up their own set from hoople now instead. + # the binary directory contains handy programs we use a lot. we set + # up the path to it here based on the operating system. export BINDIR=$FEISTY_MEOW_DIR/production/binaries - # add binaries created within build to the path. - # export PATH="$(dos_to_msys_path $BUILD_TOP/build/bin):$PATH" - export PATH="$BUILD_TOP/build/bin:$PATH" - + export PATH="$BINDIR:$PATH" # Shared libraries are located via this variable. - # export LD_LIBRARY_PATH="$(dos_to_msys_path $LD_LIBRARY_PATH):$(dos_to_msys_path $BINDIR)" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$BINDIR" fi } - # load in the build environment. - initialize_build_variables - ############## # windoze specific patching up missing things. @@ -194,37 +170,41 @@ if [ -z "$NECHUNG" ]; then ############## - # 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 + # load in the build environment. + initialize_build_variables ############## - # set the path for locating applications. this is done after any + # add to the PATH variables used for locating applications. this step is taken 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:." - export PATH="$BINDIR:$FEISTY_MEOW_GENERATED:$PATH:/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/lib:/usr/games:/usr/bin:." + export PATH="$FEISTY_MEOW_GENERATED:$PATH:$(find /usr/local/games -maxdepth 1 -type d -exec echo -n {}: ';' 2>/dev/null)/sbin" + + ############## + + # set the SHUNIT_DIR so our shunit tests can find the codebase. + export SHUNIT_DIR="$FEISTY_MEOW_SCRIPTS/shunit" ############## if [ ! -z "$SHELL_DEBUG" ]; then echo variables initialization ends....; fi -else - # we are seeing this lot again, we believe, so make things easier for the - # rest of initialization. - export LIGHTWEIGHT_INIT=true - if [ ! -z "$SHELL_DEBUG" ]; then - echo skipped var init and put in lightweight mode due to belief in previous existence.; -fi fi +############## + +# 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. we also don't guard this +# to avoid running it again, because we don't know what mix of functions and +# aliases they want to define in there. +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 +