[arch-projects] [mkinitcpio][PATCH 1/3] mkinitcpio: catch more buildtime errors

Dave Reisner d at falconindy.com
Fri Feb 17 09:05:59 EST 2012

Move the unsetting of the errtrace and ERR trap flags to after the
image has been built. This lets us capture errors during module
installation to the build root and the call to depmod. Either of these
steps failing could be hazardous and should prompt a failure.

Signed-off-by: Dave Reisner <dreisner at archlinux.org>
 mkinitcpio |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/mkinitcpio b/mkinitcpio
index 677f608..a865770 100755
--- a/mkinitcpio
+++ b/mkinitcpio
@@ -335,9 +335,8 @@ for var in cfg_{MODULES,BINARIES,FILES}; do
-# unset errtrace and trap
-set +E
-trap ERR
+# reset the trap to catch all errors
+trap '(( ++builderrors ))' ERR
 if (( ${#ADDED_MODULES[*]} )); then
     mkdir -p "${MODPATHS[@]%/*}"
@@ -358,6 +357,10 @@ else
     warning "No modules were added to the image. This is probably not what you want."
+# unset errtrace and trap
+set +E
+trap ERR
 declare -i status=0
 declare -a pipesave
 if [[ "${GENIMG}" ]]; then

More information about the arch-projects mailing list