X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fcore%2Fvariables.sh;h=7c67e440fb270d412784e41ab44fb9c445629b2a;hb=541783feb1e22d7cb43141640bc45e5d8f5fe8da;hp=1f37bb821b9608a2a08a79738da4a902b325a65d;hpb=d3a4525a35121353724f66f57fac2e8b5b0dfca4;p=feisty_meow.git diff --git a/scripts/core/variables.sh b/scripts/core/variables.sh index 1f37bb82..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 @@ -26,6 +37,22 @@ if [ -z "$NECHUNG" ]; then fi export IS_DARWIN=$(echo $OSTYPE | grep -i darwin) + ############## + + # 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... @@ -71,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 @@ -105,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() { @@ -141,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="$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. @@ -172,38 +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="$FEISTY_MEOW_GENERATED:$PATH:/sbin:." -###noise! :/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 +