X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=scripts%2Fcore%2Fprep_feisty_host.sh;h=ebb149e0446ebfb83bbca1792ee7662d18516fe1;hb=690531382f5d2627c57a589bcb88869c7c7ba06f;hp=79253af2c51c6ea3ee1d37e8aa02da596af86b7a;hpb=743bee51acc548338cd1c242caff589c8bd058e2;p=feisty_meow.git diff --git a/scripts/core/prep_feisty_host.sh b/scripts/core/prep_feisty_host.sh index 79253af2..ebb149e0 100644 --- a/scripts/core/prep_feisty_host.sh +++ b/scripts/core/prep_feisty_host.sh @@ -1,7 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash # this is the feisty meow host preparation script. it installs all the packages required to run and build feisty meow scripts and applications. -# this script may still be a bit incomplete; we definitely use a lot of unix and linux tools in different scripts. + +# hmmm: this script may still be a bit incomplete; we definitely use a lot of unix and linux tools in different scripts. # preconditions and dependencies--this script itself depends on: # feisty meow @@ -10,15 +11,45 @@ #### -# something borrowed... +ORIGINATING_FOLDER="$( \cd "$(\dirname "$0")" && /bin/pwd )" +CORE_SCRIPTS_DIR="$(echo "$ORIGINATING_FOLDER" | tr '\\\\' '/' )" +THIS_TOOL_NAME="$(basename "$0")" + +# set up the feisty_meow dir. +pushd "$CORE_SCRIPTS_DIR/../.." &>/dev/null +#source "$CORE_SCRIPTS_DIR/functions.sh" +echo originating folder is $ORIGINATING_FOLDER +export FEISTY_MEOW_APEX="$(/bin/pwd)" +echo feisty now apex is FEISTY_MEOW_APEX=$FEISTY_MEOW_APEX + +#### + +# helper scripts... + function exit_on_error() { if [ $? -ne 0 ]; then echo -e "\n\nan important action failed and this script will stop:\n\n$*\n\n*** Exiting script..." - error_sound +# error_sound exit 1 fi } +function whichable() +{ + to_find="$1"; + shift; + local WHICHER="$(/usr/bin/which which 2>/dev/null)"; + if [ $? -ne 0 ]; then + echo; + return 2; + fi; + local sporkenz; + sporkenz=$($WHICHER "$to_find" 2>/dev/null); + local err=$?; + echo $sporkenz; + return $err +} + #### function apt_cyg_finder() @@ -48,23 +79,30 @@ Please follow the install instructions at: # e.g.?? $ bash /opt/feistymeow.org/feisty_meow/scripts/core/reconfigure_feisty_meow.sh # hmmm: above ALSO ESSENTIAL TO GET RIGHT! -PHASE_MESSAGE="Checking integrity of Feisty Meow subsystem" -if [ -z $FEISTY_MEOW_APEX ]; then +BASE_PHASE_MESSAGE="Feisty Meow subsystems integrity check: " + +# is our main variable set? +PHASE_MESSAGE="$BASE_PHASE_MESSAGE presence of FEISTY_MEOW_APEX variable" +if [ -z "$FEISTY_MEOW_APEX" ]; then false; exit_on_error $PHASE_MESSAGE fi # simple brute force check. can we go there? +PHASE_MESSAGE="$BASE_PHASE_MESSAGE check on directory $FEISTY_MEOW_APEX" pushd $FEISTY_MEOW_APEX &> /dev/null -exit_on_error locating feisty meow top-level folder +exit_on_error $PHASE_MESSAGE popd &> /dev/null # now ask feisty if it's there; should work as long as our scripts are in place. -bash $FEISTY_MEOW_APEX/scripts/core/is_feisty_up.sh -exit_on_error $PHASE_MESSAGE +#PHASE_MESSAGE="$BASE_PHASE_MESSAGE inquiry is_feisty_up" +#bash $FEISTY_MEOW_APEX/scripts/core/is_feisty_up.sh +#exit_on_error $PHASE_MESSAGE # standard load-up. #hmmm: this will currently fail if reconfigure has never been called. -source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh" +#NO NO NO. source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh" +# we are preparing to get feisty running; how can we use feisty during +# that process? so bad. #### @@ -80,7 +118,7 @@ if whichable apt; then exit_on_error $PHASE_MESSAGE elif whichable yum; then # rpm based with yum available... - sudo yum install perl-File-Which perl-Text-Diff + sudo yum install perl-Env perl-File-Which perl-Text-Diff exit_on_error $PHASE_MESSAGE elif [ ! -z "$IS_DARWIN" ]; then # macos based... @@ -106,7 +144,7 @@ if whichable apt; then exit_on_error $PHASE_MESSAGE elif whichable yum; then # rpm based with yum available... - sudo yum install mawk gcc gcc-c++ openssl-devel.x86_64 curl-devel + sudo yum install curl-devel gcc gcc-c++ make gawk openssl-devel.x86_64 zlib-devel exit_on_error $PHASE_MESSAGE elif [ ! -z "$IS_DARWIN" ]; then # macos based... @@ -115,17 +153,14 @@ elif [ ! -z "$IS_DARWIN" ]; then exit_on_error $PHASE_MESSAGE elif [ "$OS" == "Windows_NT" ]; then # windows-based with cygwin (or we'll fail out). - if apt_cyg_finder; then -echo need to fix apt cyg install list somewhat. +echo need to fix apt cyg install list for build apps somewhat. #hmmm: list is in our docs as a separate file for cygwin. # plug those packages into here please. - apt-cyg install gawk libcurl-devel mingw64-i686-openssl openssl openssl-devel libssl-devel zlib-devel +# and separate out the build vs. handy packages. + apt-cyg install gawk libcurl-devel meld mingw64-i686-openssl openssl openssl-devel libssl-devel zlib-devel exit_on_error $PHASE_MESSAGE -#extended set. just add them? -# xorg-server xorg-docs xlaunch - fi fi @@ -133,11 +168,31 @@ fi # install other external packages and whatnot. -#hmmm: anything else to get installed? - #hmmm: java? - #hmmm: python? - #hmmm: perl itself!? +PHASE_MESSAGE="installing additional helper packages" + +if whichable apt; then + # ubuntu or debian or other apt-based OSes... + sudo apt install screen python3 python3-pip xserver-xorg xorg-docs + exit_on_error $PHASE_MESSAGE +elif whichable yum; then + # rpm based with yum available... +#new yums unvetted + sudo yum install screen python3 python3-pip xserver-xorg xorg-docs + exit_on_error $PHASE_MESSAGE +elif [ ! -z "$IS_DARWIN" ]; then + # macos based... +#hmmm: still working on these... + brew install screen python3 pip xserver-xorg xorg-docs + exit_on_error $PHASE_MESSAGE +elif [ "$OS" == "Windows_NT" ]; then + # windows-based with cygwin (or we'll fail out). + if apt_cyg_finder; then +echo need to fix apt cyg install list for extended apps somewhat. + apt-cyg install screen python3 pip3 xserver-xorg xorg-docs + exit_on_error $PHASE_MESSAGE + fi +fi #### @@ -155,10 +210,10 @@ exit 0 #scav line ############################# -The "kona" collection depends on Java version 8 or better. -| Ubuntu: -| Set up the java PPA archive as described here: -| https://launchpad.net/~webupd8team/+archive/ubuntu/java +#The "kona" collection depends on Java version 8 or better. +#| Ubuntu: +#| Set up the java PPA archive as described here: +#| https://launchpad.net/~webupd8team/+archive/ubuntu/java #not needed at the moment. #echo "bailing because script is immature. farts!"