local ran_d
ran_d=false
case $PS1 in
- *DISTRO-BEGIN*)
+ *DISTRO-BEGIN!*|*DISTRO!*)
/b/ds/distro-begin || return $?
ran_d=true
;;&
- *DISTRO-END*)
+ *DISTRO-END!*|*DISTRO!*)
/b/ds/distro-end || return $?
ran_d=true
;;&
fdup() {
local -A installed updated
local p
- fdroidcl update
+ # tried putting this in go buildscript cronjob,
+ # but it failed with undefined: os.UserCacheDir. I expect its due to
+ # an environment variable missing, but its easier just to stick it here.
+ m go get -u mvdan.cc/fdroidcl || return 1
+ m fdroidcl update
if fdroidcl search -u | grep ^org.fdroid.fdroid; then
fdroidcl install org.fdroid.fdroid
sleep 5
- fdroidcl update
+ m fdroidcl update
fi
for p in $(fdroidcl search -i| grep -o "^\S\+"); do
installed[$p]=true
done
for p in ${fdroid_pkgs[@]}; do
if ! ${installed[$p]:-false}; then
- fdroidcl install $p
+ m fdroidcl install $p
# sleeps are just me being paranoid since replicant has a history of crashing when certain apps are installed
sleep 5
fi
done
for p in ${!installed[@]}; do
if ! ${updated[$p]:-true}; then
- fdroidcl install $p
+ m fdroidcl install $p
sleep 5
fi
done
# Theres a couple ways to do this. im not sure whats best,
# but relying on bash 4.4+ escape quoting seems most reliable.
command ssh "${args[@]}" "$remote" \
- BRC=t bash -c '"\"\$@\""' bash ${@@Q}
+ BRC=t bash -c '.\ .iank/.bashrc\;"\"\$@\""' bash ${@@Q}
+ elif [[ ! -t 0 ]]; then
+ # This case is when commands are being piped to ssh.
+ # Normally, no bashrc gets sourced.
+ # But, since we are doing all this, lets source it because we can.
+ cat <(echo . .iank/.bashrc) - | command ssh "${args[@]}" "$remote" BRC=t bash
else
- # -t gives us an interactive shell for normal ssh. -l makes us use the rcfile when piping commands.
- command ssh -t "${args[@]}" "$remote" BRC=t INPUTRC=.iank/.inputrc bash --rcfile .iank/.bashrc -l
+ command ssh -t "${args[@]}" "$remote" BRC=t INPUTRC=.iank/.inputrc bash --rcfile .iank/.bashrc
fi
else
- BRC=t command ssh "$remote" "$@"
+ if [[ -t 0 ]]; then
+ BRC=t command ssh "${args[@]}" "$remote" ${@@Q}
+ else
+ command ssh "${args[@]}" "$remote" BRC=t bash -l
+ fi
fi
}
sss() { # ssh solo
- ssh -oControlMaster=no -oControlPath=/ "$@"
+ sl -oControlMaster=no -oControlPath=/ "$@"
}
# kill off old shared socket then ssh
ssk() {
- local -a opts=()
- while [[ $1 == -* ]]; do
- opts+=("$1")
- shift
- done
- m pkill -f "^ssh: /tmp/ssh_mux_${USER}_${1#*@}_22_"
- m ssh "${opts[@]}" "$@"
+ m ssh -O exit "$@"
+ m sl "$@"
}
# plain limited ssh
ssh() {