From 710c6070167e24df88b9f35d33b0db40e0d73199 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Wed, 28 Nov 2018 14:52:30 +0000 Subject: [PATCH] config/functions: add pkg_call/pkg_call_optional helpers --- config/functions | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/functions b/config/functions index c36d1ac633..f25325e1bc 100644 --- a/config/functions +++ b/config/functions @@ -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