diff --git a/kiss b/kiss index 18c0a67..30e7aa3 100755 --- a/kiss +++ b/kiss @@ -120,9 +120,18 @@ run_hook() { unset IFS - for hook do "$hook" "$_type" "$_name" "$_path" || - die "$_name" "$_type hook failed: '$hook'" - done + for hook do case $hook in + */*) + # Absolute path to hook. + "$hook" "$_type" "$_name" "$_path" + ;; + + *) + # Hook in system-wide hook directory (/var/db/kiss/hooks). + # Hooks in this directory can be used via their basename. + "$sys_db/../hooks/$hook" "$_type" "$_name" "$_path" + ;; + esac || die "$_name" "$_type hook failed: '$hook'"; done } run_hook_pkg() {