summaryrefslogtreecommitdiffstats
path: root/scripts/libmakepkg/util/util.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/libmakepkg/util/util.sh.in')
-rw-r--r--scripts/libmakepkg/util/util.sh.in14
1 files changed, 14 insertions, 0 deletions
diff --git a/scripts/libmakepkg/util/util.sh.in b/scripts/libmakepkg/util/util.sh.in
index 5ea3ed9b..b20384b8 100644
--- a/scripts/libmakepkg/util/util.sh.in
+++ b/scripts/libmakepkg/util/util.sh.in
@@ -24,6 +24,7 @@ LIBMAKEPKG_UTIL_UTIL_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
+source "$LIBRARY/util/error.sh"
source "$LIBRARY/util/message.sh"
##
@@ -98,3 +99,16 @@ ensure_writable_dir() {
return 0
}
+
+# source a file and fail if it does not succeed
+source_safe() {
+ local shellopts=$(shopt -p extglob)
+ shopt -u extglob
+
+ if ! source "$@"; then
+ error "$(gettext "Failed to source %s")" "$1"
+ exit $E_MISSING_FILE
+ fi
+
+ eval "$shellopts"
+}