config/functions: add pkg_call/pkg_call_optional helpers

This commit is contained in:
MilhouseVH 2018-11-28 14:52:30 +00:00
parent ad0531121b
commit 710c607016

View File

@ -10,6 +10,24 @@ die() {
exit "${2:-1}"
}
# p1: name of potential function to execute if it exists
# return 0 if function executed, 1 if not, die if error
pkg_call() {
[ -n "${PKG_NAME}" ] || die "$(print_color CLR_ERROR "FAILURE: Cannot call ${1} package function when package is not known!")"
if [ "$(type -t ${1})" = "function" ]; then
${1} || die "$(print_color CLR_ERROR "FAILURE: ${1} for package ${PKG_NAME} did not succeed!")"
else
return 1
fi
}
# p1: name of potential function to execute if it exists
# return 0 if function executed or not, or die if error
pkg_call_optional() {
pkg_call ${1} || return 0
}
# return 0 if $2 in space-separated list $1, otherwise return 1
listcontains() {
if [ -n "$1" -a -n "$2" ]; then