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@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