Closed ioraff closed 5 months ago
This is by design. What is happening is that when the package manager creates a second instance of itself (as another user) it drops KISS_HOOK (and does not carry its value down). Basically, KISS_HOOK must be set for each user the package manager will run as. The idea is to prevent hooks set for one user from running as another (especially non-root to root).
For now, you can apply this patch to keep the parent KISS_HOOK value.
diff --git a/kiss b/kiss
index 405d78d..e04e8c8 100755
--- a/kiss
+++ b/kiss
@@ -1837,6 +1837,7 @@ args() {
HOME="$HOME" \
XDG_CACHE_HOME="$XDG_CACHE_HOME" \
KISS_COMPRESS="$KISS_COMPRESS" \
+ KISS_HOOK="$KISS_HOOK" \
KISS_PATH="$KISS_PATH" \
KISS_FORCE="$KISS_FORCE" \
KISS_ROOT="$KISS_ROOT" \
Let me know if setting KISS_HOOK in the way I described is unworkable and I will either apply the above patch or come up with some other solution. My concerns over hooks not crossing user boundaries may be unfounded in the first place.
I understand why you'd do this, but, since the sudo
-like programs the package manager uses don't source the new user's .profile
, I don't see how it'd be possible for, for example, root to have its own KISS_HOOK without actually logging in as root. Maybe this is your intention, but this is obviously rather inconvenient.
This will be fixed when hooks are redone. Right now everything in KISS_HOOK is executed every time. If the above patch is applied all hooks will run as root despite not using the installation hooks.
Description
The user-definable hooks in
pkg_install()
,pre-install
andpost-install
do not run.Verbose log
env KISS_PROMPT=0 sh -x ./kiss i nasm