[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
 done
 parse_hook
 
-# 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."
 fi
 
+# unset errtrace and trap
+set +E
+trap ERR
+
 declare -i status=0
 declare -a pipesave
 if [[ "${GENIMG}" ]]; then
-- 
1.7.9.1



More information about the arch-projects mailing list