aboutsummaryrefslogtreecommitdiff
path: root/contrib/kiss-exec
diff options
context:
space:
mode:
authormerakor <cem@ckyln.com>2020-05-14 16:52:07 +0000
committermerakor <cem@ckyln.com>2020-05-14 16:52:07 +0000
commit58d4ecb240f0be3374511da3899c06a43e863287 (patch)
treea70f208a0be9236b5e9ea9253fb7c36970587730 /contrib/kiss-exec
parenteb3d0f5358796be34ff5327740c236e669dec48c (diff)
downloadcpt-58d4ecb240f0be3374511da3899c06a43e863287.tar.gz
contrib: add kiss-exec
FossilOrigin-Name: 59a86c20536e077ffe51f1e9e04af6644fe20b85f3ff2c5ee2a9231a4e78edea
Diffstat (limited to 'contrib/kiss-exec')
-rwxr-xr-xcontrib/kiss-exec23
1 files changed, 23 insertions, 0 deletions
diff --git a/contrib/kiss-exec b/contrib/kiss-exec
new file mode 100755
index 0000000..d2b3217
--- /dev/null
+++ b/contrib/kiss-exec
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Execute a command inside the alternatives system
+
+usage() {
+ printf '\033[1;33m-> \033[m%s\n' "usage: ${0##*/} [pkg] [command]"
+ exit "$1"
+}
+
+case "$1" in ''|--help|-h) usage 0; esac
+[ "$2" ] || usage 1
+
+pkg=$1
+
+[ "${2##/*}" ] && command=">usr>bin>$2" ||
+ command="$(printf '%s' "$2" | sed 's#/#>#g')"
+
+[ -h "${file:=/var/db/kiss/choices/$pkg$command}" ] && {
+ printf 'ERROR: %s\n' "$file is a symlink"
+ exit 1
+}
+
+shift 2
+exec "/var/db/kiss/choices/$pkg$command" "$@"