From bd161b5a4309c4a156ea05677ccf2388374c2307 Mon Sep 17 00:00:00 2001 From: Chris Koeritz Date: Wed, 27 May 2020 09:43:05 -0400 Subject: [PATCH] fully functional death star or, not so much. fixed sudo and resolved the weird mac issue for extract_current_wd or whatever function. added the mac bash init into the bashrc templates used by the connect feisty script. this is now working right again on all platforms, i think, although it is probably not yet clobbering every user specific environment variable. soon though. --- infobase/feisty_inits/dot.bashrc-normal-user | 3 +++ infobase/feisty_inits/dot.bashrc-root | 3 +++ scripts/core/functions.sh | 16 +++++++++------- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/infobase/feisty_inits/dot.bashrc-normal-user b/infobase/feisty_inits/dot.bashrc-normal-user index fde02321..9c15d011 100644 --- a/infobase/feisty_inits/dot.bashrc-normal-user +++ b/infobase/feisty_inits/dot.bashrc-normal-user @@ -9,6 +9,9 @@ if [ -f /etc/bash.bashrc ]; then # drag in the default version of this file. this may not be needed if your # .bashrc script already has substantial code or already does this. source /etc/bash.bashrc +elif [ -f /etc/bashrc ]; then + # pull in the mac's version of this file. + source /etc/bashrc fi ############## diff --git a/infobase/feisty_inits/dot.bashrc-root b/infobase/feisty_inits/dot.bashrc-root index b3ff3381..944ed1ad 100644 --- a/infobase/feisty_inits/dot.bashrc-root +++ b/infobase/feisty_inits/dot.bashrc-root @@ -9,6 +9,9 @@ if [ -f /etc/bash.bashrc ]; then # drag in the default version of this file. this may not be needed if your # .bashrc script already has substantial code or already does this. source /etc/bash.bashrc +elif [ -f /etc/bashrc ]; then + # pull in the mac's version of this file. + source /etc/bashrc fi ############## diff --git a/scripts/core/functions.sh b/scripts/core/functions.sh index 7b72855c..a81383e2 100644 --- a/scripts/core/functions.sh +++ b/scripts/core/functions.sh @@ -460,23 +460,25 @@ if [ -z "$skip_all" ]; then if [ ! -z "$DISPLAY" ]; then export IMPORTED_XAUTH="$(xauth list $DISPLAY | head -n 1 | awk '{print $3}')" fi - # prep a simple string here, rather than messing with arguments in the - # already complicated command below. + # prep a simple command string here, rather than messing with arguments + # in the already complicated command below. i was seeing some really + # screwy behavior trying to expand $@ when embedded for the bash -c flag, + # but making the variable ahead of time gets rid of that. cmd="/usr/bin/sudo ""$@" # omit any variables that are either wrong for a different user or used # to shield the feisty meow scripts from reconfiguring. when we do the - # sudo, we want a fresh start for feisty meow at least. this approach - # is complicated by our sentinel alias, which normally is passed to any - # subshells. + # sudo, we want a fresh start for feisty meow at least. + # our approach to launching sudo is further complicated by our sentinel + # alias, which normally is passed to any subshells (to prevent recreating + # aliases). we turn off the expand_aliases shell option to avoid passing + # the sentinel, which ensures aliases do get recreated for the new user. BUILD_VARS_LOADED= \ CORE_VARIABLES_LOADED= \ FEISTY_MEOW_SCRIPTS_LOADED= \ function_sentinel= \ MAIL= \ bash +O expand_aliases -c "$cmd" - # the above does cause an extra shell, but we need it to work - # identically to the normal sudo syntax, and that gets us this. retval=$? restore_terminal_title return $retval -- 2.34.1