[arch-projects] [mkinitcpio] [PATCH] Load build and run hooks from /etc/initcpio
This lets users shoot themselves in the foot more easily, as they can put their own modified hooks into /etc/initcpio/{hooks,install} to override those shipped by the distro in /usr/lib/initcpio. To make debugging easier, include the full path of the hook being used when mkinitcpio runs in verbose mode. Implements FS#37796. --- Makefile | 6 ++++-- functions | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 66b1960..801d4c7 100644 --- a/Makefile +++ b/Makefile @@ -7,6 +7,8 @@ DIRS = \ /usr/share/bash-completion/completions \ /usr/share/zsh/site-functions \ /etc/mkinitcpio.d \ + /etc/initcpio/hooks \ + /etc/initcpio/install \ /usr/lib/initcpio/hooks \ /usr/lib/initcpio/install \ /usr/lib/initcpio/udev \ @@ -30,8 +32,8 @@ install: all sed -e 's|^_f_config=.*|_f_config=/etc/mkinitcpio.conf|' \ -e 's|^_f_functions=.*|_f_functions=/usr/lib/initcpio/functions|' \ - -e 's|^_d_hooks=.*|_d_hooks=/usr/lib/initcpio/hooks:/lib/initcpio/hooks|' \ - -e 's|^_d_install=.*|_d_install=/usr/lib/initcpio/install:/lib/initcpio/install|' \ + -e 's|^_d_hooks=.*|_d_hooks=/etc/initcpio/hooks:/usr/lib/initcpio/hooks:/lib/initcpio/hooks|' \ + -e 's|^_d_install=.*|_d_install=/etc/initcpio/install:/usr/lib/initcpio/install:/lib/initcpio/install|' \ -e 's|^_d_presets=.*|_d_presets=/etc/mkinitcpio.d|' \ -e 's|%VERSION%|$(VERSION)|g' \ < mkinitcpio > $(DESTDIR)/usr/bin/mkinitcpio diff --git a/functions b/functions index 2b89c88..33bd28d 100644 --- a/functions +++ b/functions @@ -709,7 +709,11 @@ run_build_hook() { fi # run - msg2 "Running build hook: [%s]" "${script##*/}" + if (( _optquiet )); then + msg2 "Running build hook: [%s]" "${script##*/}" + else + msg2 "Running build hook: [%s]" "$script" + fi build # if we made it this far, return successfully. Hooks can -- 1.8.4.2
participants (1)
-
Dave Reisner