Errors in build() functions were only fatal, if "--log" was enabled. Errors in
package() functions were never fatal. Piping these functions through "cat -"
triggers error trapping. This prevents the need for "|| return 1" usage in
PKGBUILDs.

Original-patch-by: Juergen Hoetzel <[email protected]>
Signed-off-by: Allan McRae <[email protected]>
---
 scripts/makepkg.sh.in |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 91e2518..34c92c7 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -717,8 +717,10 @@ run_build() {
 
                build 2>&1 | tee "$BUILDLOG"; ret=${PIPESTATUS[0]}
        else
-               build 2>&1 || ret=$?
+               # piping to cat ensures makepkg fails on any build error
+               build 2>&1 | cat -; ret=${PIPESTATUS[0]}
        fi
+
        # reset our shell options
        eval "$shellopts"
 
@@ -771,12 +773,12 @@ run_package() {
                exec 3>&1
                tee "$BUILDLOG" < "$logpipe" &
                exec 1>"$logpipe" 2>"$logpipe"
-               $pkgfunc 2>&1 || ret=$?
+               $pkgfunc 2>&1 | cat -; ret=${PIPESTATUS[0]}
                sync
                exec 1>&3 2>&3 3>&-
                rm "$logpipe"
        else
-               $pkgfunc 2>&1 || ret=$?
+               $pkgfunc 2>&1 | cat -; ret=${PIPESTATUS[0]}
        fi
 
        if [ $ret -gt 0 ]; then
-- 
1.6.3.3

_______________________________________________
pacman-dev mailing list
[email protected]
http://www.archlinux.org/mailman/listinfo/pacman-dev

Reply via email to