From 0ccd0bcf04496867c74f68ddb2de403c7d09c0bf Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Sun, 1 Dec 2013 11:21:47 -0500 Subject: 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 +++++- man/mkinitcpio.8.txt | 2 ++ 3 files changed, 11 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 diff --git a/man/mkinitcpio.8.txt b/man/mkinitcpio.8.txt index 3b28ee7..a3b56e4 100644 --- a/man/mkinitcpio.8.txt +++ b/man/mkinitcpio.8.txt @@ -291,10 +291,12 @@ Files '/etc/mkinitcpio.d':: Directory containing mkinitcpio presets. +'/etc/initcpio/install':: '/usr/lib/initcpio/install':: '/lib/initcpio/install':: Search path for build time hooks. +'/etc/initcpio/hooks':: '/usr/lib/initcpio/hooks':: '/lib/initcpio/hooks':: Search path for early userspace runtime hooks. -- cgit v1.2.3-24-g4f1b