[arch-projects] [mkinitcpio] [PATCH] Load build and run hooks from /etc/initcpio
Dave Reisner
dreisner at archlinux.org
Sun Dec 1 11:35:01 EST 2013
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
More information about the arch-projects
mailing list