Bug#310167: gcc-3.3: debian/patches/autoreconf.dpatch does not fail on error
Package: gcc-3.3
Version: 1:3.3.5-12
Severity: important
Justification: fails to build from source
Hi,
I'm trying to rebuild gcc-3.3 in sarge to track another bug and I got
a FTBFS on my normal system. I tried again in my buildd chroot and
there it works.
Comparing the build logs I found:
| DEB_VERSION='1:3.3.5-12'; export DEB_VERSION; \
| debian/patches/autoreconf.dpatch -patch -d /mnt/mirror/gcc-3.3/gcc-3.3-3.3.5/src
| patching file libtool.m4
| FATAL ERROR: Autoconf version 2.50 or higher is required for this script
| FATAL ERROR: Autoconf version 2.50 or higher is required for this script
| FATAL ERROR: Autoconf version 2.50 or higher is required for this script
| FATAL ERROR: Autoconf version 2.50 or higher is required for this script
| FATAL ERROR: Autoconf version 2.50 or higher is required for this script
| echo "autoreconf patches applied." > stamps/02-patch-stamp-autoreconf
But the bug isn't about it failing for some mysterious reason, I'm
looking into that seperately, but about not stoping the build on this
error. The problem is that, while -e is set in the dpatch, it does not
affect subshells:
| -patch)
| patch $pdir -f --no-backup-if-mismatch -p0 < $0
| for i in libf2c libjava/libltdl libobjc libstdc++-v3 zlib; do
| (cd ${dir}/${i} ; autoreconf --force)
| done
| ;;
() forks a new shell and return code of subshells != 0 don't abbort:
mrvn@frosties:~% sh -c "set -e; for i in a b; do echo \$i; false; done"
a
mrvn@frosties:~% sh -c "set -e; for i in a b; do ( echo \$i; false ); echo \$?; done"
a
1
b
1
You have to manually check the return code of the subshell and take
action, e.g. call false or exit:
mrvn@frosties:~% sh -c "set -e; for i in a b; do ( echo \$i; false ) || false; done"
a
MfG
Goswin
-- System Information:
Debian Release: 3.1
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.8-frosties-1
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Versions of packages gcc-3.3 depends on:
ii binutils 2.15-5 The GNU assembler, linker and bina
ii cpp-3.3 1:3.3.5-12 The GNU C preprocessor
ii gcc-3.3-base 1:3.3.5-12 The GNU Compiler Collection (base
ii libc6 2.3.2.ds1-21 GNU C Library: Shared libraries an
ii libgcc1 1:3.4.3-12 GCC support library
-- no debconf information
Reply to: