X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fcore%2Fvariables.sh;h=ac708df3f2ae9de03e7a428ff8dcdbc3329f986e;hb=75c2d52632eac5470a48d9b44feb336474a187d8;hp=67144bbaefc94583a4b724bde816f0418ddae7cb;hpb=dcc3aa109766413103c4a2a17f1575437c0d8eda;p=feisty_meow.git diff --git a/scripts/core/variables.sh b/scripts/core/variables.sh index 67144bba..ac708df3 100644 --- a/scripts/core/variables.sh +++ b/scripts/core/variables.sh @@ -16,7 +16,7 @@ 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 +export HISTFILESIZE=8000000 ############## @@ -37,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... @@ -47,7 +63,7 @@ if [ -z "$NECHUNG" ]; then if [ -z "$FEISTY_MEOW_DIR" ]; then if [ -d "$HOME/feisty_meow" ]; then export FEISTY_MEOW_DIR="$HOME/feisty_meow" - export FEISTY_MEOW_SCRIPTS="$FEISTY_MEOW_DIR/scripts" + export FEISTY_MEOW_SCRIPTS="$FEISTY_MEOW_SCRIPTS" fi fi @@ -63,8 +79,8 @@ if [ -z "$NECHUNG" ]; then ############## # umask sets a permission mask for all file creations. the mask used here - # disallows writing by the "group" and "others" categories. - umask 022 + # disallows writes by the "group" and disallows "others" completely. + umask 027 # ulimit sets user limits. we set the maximum allowed core dump file size # to zero, because it is obnoxious to see the core dumps from crashed # programs lying around everywhere. @@ -84,10 +100,8 @@ if [ -z "$NECHUNG" ]; then # variables for perl. - export PERLLIB - if [ "$OS" != "Windows_NT" ]; then - PERLLIB+="/usr/lib/perl5" - else + export PERLLIB+="/usr/lib/perl5" + if [ "$OS" == "Windows_NT" ]; then export PERLIO=:perlio # choose perl's IO over the ms-windows version so we can handle file # bytes properly. @@ -100,7 +114,7 @@ if [ -z "$NECHUNG" ]; then # check if there is a perl file present; add the folder to PERLLIB if so. ls $i/*.pl &>/dev/null if [ $? -eq 0 ]; then - PERLLIB+=":$i" + PERLLIB+=":$(dos_to_unix_path $i)" fi fi done @@ -111,22 +125,15 @@ 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 + # 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 + # names can be added in your customized scripts. the space at the end of + # this variable is important and allows users to extend the list like: + # export REPOSITORY_DIR+="muppets configs" + export REPOSITORY_LIST="feisty_meow " # initializes the feisty meow build variables, if possible. function initialize_build_variables() @@ -135,7 +142,7 @@ if [ -z "$NECHUNG" ]; then # we need to know the feisty meow directory, or we bail. if [ -z "$FEISTY_MEOW_DIR" ]; then return; fi # pick from our expected generator folder, but make sure it's there... - buildvars="$FEISTY_MEOW_DIR/scripts/generator/build_variables.sh" + buildvars="$FEISTY_MEOW_SCRIPTS/generator/build_variables.sh" if [ -f "$buildvars" ]; then # yep, that one looks good, so pull in the build defs. source "$buildvars" "$buildvars" @@ -143,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" - + export PATH="$(dos_to_unix_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" + export LD_LIBRARY_PATH="$(dos_to_unix_path $LD_LIBRARY_PATH):$(dos_to_unix_path $BINDIR)" fi } - # load in the build environment. - initialize_build_variables - ############## # windoze specific patching up missing things. @@ -174,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="$(dos_to_unix_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 +