34 lines
1.1 KiB
Bash
34 lines
1.1 KiB
Bash
caddy_add_packages () {
|
|
local ifile; local bin; local pkgs; local pkg; local ipkgs
|
|
clean () {
|
|
local tmp;local tmp2; local append
|
|
if [[ -f $1 ]]; then
|
|
tmp=$(sed '/^[[:space:]]*#[^!]/d; /#$/d' $1)
|
|
else
|
|
tmp=$1
|
|
fi
|
|
echo "$tmp $2" | xargs -n1 | sort -u | xargs | sed "s# # #g"
|
|
|
|
}
|
|
|
|
[[ -f caddy.pkgs ]] && pkgs=" $(clean caddy.pkgs)"
|
|
[[ ! $pkgs ]] && echo "no packages requested, nothing to do" && return 0
|
|
echo "-packages requested to install-"
|
|
echo $pkgs
|
|
bin=/usr/sbin/caddy
|
|
[[ ! -x $bin ]] && echo ERROR: can not add packages, no caddy binary found at $bin && return 1
|
|
if ! $bin add-package $pkgs >/dev/null 2>&1; then
|
|
echo Error: Aborting further package installs and reverting to last good binary
|
|
return 2
|
|
else
|
|
echo packages added successfully
|
|
CADDY_HOME=${CADDY_HOME:-/opt/caddy}
|
|
mkdir -p $CADDY_HOME/bin/
|
|
echo $pkgs >> $CADDY_HOME/bin/installed.pkgs
|
|
echo "---"
|
|
echo currently installed packages
|
|
cat $CADDY_HOME/bin/installed.pkgs
|
|
echo installed modules from these packages
|
|
$bin list-modules | sed '1,/Standard modules/d;/Non-standard modules/,$d'
|
|
fi
|
|
} |