From b319ead8be0b6d52238452863e61411fb0d00d0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Wed, 10 Oct 2018 22:29:06 +0000 Subject: [PATCH] Try harder to sanitize the environment before running configure. Remove a workaround for older Unbound versions that used sbrk. Approved by: re (gjb) --- contrib/ldns/freebsd-configure.sh | 21 ++++++++++++++++----- contrib/unbound/freebsd-configure.sh | 19 ++++++++++--------- crypto/openssh/freebsd-configure.sh | 23 +++++++++++------------ 3 files changed, 37 insertions(+), 26 deletions(-) diff --git a/contrib/ldns/freebsd-configure.sh b/contrib/ldns/freebsd-configure.sh index 588995448f37..c392967e7bb6 100755 --- a/contrib/ldns/freebsd-configure.sh +++ b/contrib/ldns/freebsd-configure.sh @@ -5,15 +5,26 @@ set -e +error() { + echo "$@" >&2 + exit 1 +} + ldns=$(dirname $(realpath $0)) cd $ldns -libtoolize --copy -autoheader -autoconf +# Run autotools before we drop LOCALBASE out of PATH +(cd $ldns && libtoolize --copy && autoheader && autoconf) +(cd $ldns/drill && aclocal && autoheader && autoconf) + +# Ensure we use the correct toolchain and clean our environment +export CC=$(echo ".include " | make -f /dev/stdin -VCC) +export CPP=$(echo ".include " | make -f /dev/stdin -VCPP) +unset CFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH LIBS +export PATH=/bin:/sbin:/usr/bin:/usr/sbin + +cd $ldns ./configure --prefix= --exec-prefix=/usr --disable-dane-ta-usage cd $ldns/drill -autoheader -autoconf ./configure --prefix= --exec-prefix=/usr diff --git a/contrib/unbound/freebsd-configure.sh b/contrib/unbound/freebsd-configure.sh index 5d930a60317d..7169bbcce732 100755 --- a/contrib/unbound/freebsd-configure.sh +++ b/contrib/unbound/freebsd-configure.sh @@ -13,6 +13,15 @@ error() { unbound=$(dirname $(realpath $0)) cd $unbound +# Run autotools before we drop LOCALBASE out of PATH +(cd $unbound && libtoolize --copy && autoheader && autoconf) + +# Ensure we use the correct toolchain and clean our environment +export CC=$(echo ".include " | make -f /dev/stdin -VCC) +export CPP=$(echo ".include " | make -f /dev/stdin -VCPP) +unset CFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH LIBS +export PATH=/bin:/sbin:/usr/bin:/usr/sbin + ldnssrc=$(realpath $unbound/../ldns) [ -f $ldnssrc/ldns/ldns.h ] || error "can't find LDNS sources" export CFLAGS="-I$ldnssrc" @@ -24,17 +33,9 @@ ldnsobj=$(realpath $(make -C$ldnsbld -V.OBJDIR)) [ -f $ldnsobj/libprivateldns.a ] || error "can't find LDNS object directory" export LDFLAGS="-L$ldnsobj" -export CC=$(echo ".include " | make -f /dev/stdin -VCC) -export CPP=$(echo ".include " | make -f /dev/stdin -VCPP) - -autoconf -autoheader +cd $unbound ./configure \ --prefix= --exec-prefix=/usr \ --with-conf-file=/var/unbound/unbound.conf \ --with-run-dir=/var/unbound \ --with-username=unbound - -# Don't try to provide bogus memory usage statistics based on sbrk(2). -sed -n -i.orig -e '/HAVE_SBRK/!p' config.status -./config.status config.h diff --git a/crypto/openssh/freebsd-configure.sh b/crypto/openssh/freebsd-configure.sh index d2c63e170ffe..fbc0f5139c88 100755 --- a/crypto/openssh/freebsd-configure.sh +++ b/crypto/openssh/freebsd-configure.sh @@ -16,28 +16,27 @@ configure_args=" set -e -# make sure configure uses the correct compiler +openssh=$(dirname $(realpath $0)) +cd $openssh + +# Run autotools before we drop LOCALBASE out of PATH +(cd $openssh && libtoolize --copy && autoheader && autoconf) + +# Ensure we use the correct toolchain and clean our environment export CC=$(echo ".include " | make -f /dev/stdin -VCC) export CPP=$(echo ".include " | make -f /dev/stdin -VCPP) -unset CFLAGS CPPFLAGS LDFLAGS LIBS - -# regenerate configure and config.h.in -autoheader -autoconf - -# reset PATH to avoid picking up the wrong libraries +unset CFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH LIBS export PATH=/bin:/sbin:/usr/bin:/usr/sbin -unset LD_LIBRARY_PATH -# generate config.h with krb5 and stash it +# Generate config.h with krb5 and stash it sh configure $configure_args --with-kerberos5=/usr mv config.log config.log.orig mv config.h config.h.orig -# generate config.h without krb5 +# Generate config.h without krb5 sh configure $configure_args --without-kerberos5 -# extract the difference +# Extract the difference echo '/* $Free''BSD$ */' > krb5_config.h diff -u config.h.orig config.h | sed -n '/^-#define/s/^-//p' |