a0546dbc86
Also in this commit: * Sync CI scripts with other projects * Modernize docs/conf.py * Cleanup README.md * Use the official markdown version of the GPLv3 Refs: #5095 Change-Id: Ie607fcde1f6e41fa5efbbb41b21cb08583017442
40 lines
719 B
Bash
40 lines
719 B
Bash
has() {
|
|
local saved_xtrace
|
|
[[ $- == *x* ]] && saved_xtrace=-x || saved_xtrace=+x
|
|
set +x
|
|
|
|
local p=$1
|
|
shift
|
|
local i ret=1
|
|
for i in "$@"; do
|
|
if [[ "${i}" == "${p}" ]]; then
|
|
ret=0
|
|
break
|
|
fi
|
|
done
|
|
|
|
set ${saved_xtrace}
|
|
return ${ret}
|
|
}
|
|
export -f has
|
|
|
|
sudo_preserve_env() {
|
|
local saved_xtrace
|
|
[[ $- == *x* ]] && saved_xtrace=-x || saved_xtrace=+x
|
|
set +x
|
|
|
|
local vars=()
|
|
while [[ $# -gt 0 ]]; do
|
|
local arg=$1
|
|
shift
|
|
case ${arg} in
|
|
--) break ;;
|
|
*) vars+=("${arg}=${!arg}") ;;
|
|
esac
|
|
done
|
|
|
|
set ${saved_xtrace}
|
|
sudo env "${vars[@]}" "$@"
|
|
}
|
|
export -f sudo_preserve_env
|