- Re-cloned zonemaster-ldns with --recurse-submodules so the bundled ldns C library source (including Changelog and configure.ac) is present - Added autoconf, automake, libtool to Dockerfile.backend ldns-build stage so libtoolize + autoreconf can generate ldns/configure during make Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
120 lines
3.8 KiB
Plaintext
120 lines
3.8 KiB
Plaintext
[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master
|
|
|
|
export PATH=$PATH:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:.
|
|
|
|
# first arg is the build dir
|
|
TPKG_BUILD=$1
|
|
HERE=`pwd`
|
|
export LD_LIBRARY_PATH=$TPKG_BUILD/.libs:$HERE
|
|
# .so.2 should be backwards compatible with .so.1 for unbound
|
|
ln -s $TPKG_BUILD/.libs/libldns.so.2 libldns.so.1
|
|
|
|
if [ -z "$UNBOUND_BUILD" -o ! -d "$UNBOUND_BUILD" ]
|
|
then
|
|
while true
|
|
do
|
|
UNBOUND_BUILD=`ls -1d $HOME/src/unbound-[0-9]*.[0-9]*.[0-9]* \
|
|
| tail -1`
|
|
test -d "$UNBOUND_BUILD" && break
|
|
UNBOUND_BUILD=`ls -1d $HOME/src/unbound-[0-9]*.[0-9]*.[0-9]* \
|
|
| tail -1`
|
|
test -d "$UNBOUND_BUILD" && break
|
|
|
|
echo "ERROR: Did not find already compiled unbound"
|
|
exit 1
|
|
done
|
|
fi
|
|
|
|
if [ -z "$TPKG" -o ! -x "$TPKG" ]
|
|
then
|
|
if which tpkg > /dev/null ; then TPKG=`which tpkg`
|
|
elif [ -x $HOME/bin/tpkg ] ; then TPKG=$HOME/bin/tpkg
|
|
elif [ -x $HOME/local/bin/tpkg ]; then TPKG=$HOME/local/bin/tpkg
|
|
elif [ -x /home/tpkg/bin/tpkg ] ; then TPKG=/home/tpkg/bin/tpkg
|
|
else
|
|
echo "ERROR: Did not find tpkg program"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
LDNS_VERSION=`/bin/sh $TPKG_BUILD/packaging/ldns-config --version`
|
|
|
|
if test ! -d testdata
|
|
then
|
|
(cd $UNBOUND_BUILD ; tar cf - `find . -type f ! -path "*/.svn" ! -path "*/.svn/*"`) | tar xf -
|
|
ln -s libunbound.so.4 .libs/libunbound.so || true
|
|
fi
|
|
|
|
get_lo0_ip4() {
|
|
if test -x /sbin/ifconfig
|
|
then
|
|
LO0_IP4=`/sbin/ifconfig lo0 | grep '[^0-9]127\.' | sed -e 's/^[^1]*\(127\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[^0-9]*.*$/\1/g'`
|
|
if ( echo $LO0_IP4 | grep '^127\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' > /dev/null )
|
|
then
|
|
return
|
|
fi
|
|
fi
|
|
LO0_IP4=127.0.0.1
|
|
}
|
|
get_lo0_ip4
|
|
export LO0_IP4
|
|
if test "x$LO0_IP4" = "x127.0.0.1"
|
|
then
|
|
ALT_LOOPBACK=false
|
|
else
|
|
ALT_LOOPBACK=true
|
|
fi
|
|
|
|
HERE=`pwd`
|
|
if $HERE/unbound -h | grep -q " ldns $LDNS_VERSION,"
|
|
then
|
|
for t in `(cd $HERE/testdata; ls -1 *.tpkg|grep -v '^0[016]')`
|
|
do
|
|
if ! $ALT_LOOPBACK
|
|
then
|
|
$TPKG -b $HERE/testdata -a $HERE exe $t
|
|
continue
|
|
fi
|
|
# We have alternative 127.0.0.1 number
|
|
if ( echo $t | grep '6\.tpkg$' ) # skip IPv6 tests
|
|
then
|
|
continue
|
|
elif test "$t" = "edns_cache.tpkg" # This one is IPv6 too!
|
|
then
|
|
continue
|
|
fi
|
|
cp -p "testdata/$t" "testdata/$t.bak"
|
|
"$TPKG" -b "$HERE/testdata" e "$t"
|
|
find "$HERE/testdata/${t%.tpkg}.dir" -type f \
|
|
-exec grep -q '127\.0\.0\.1' {} \; -print | {
|
|
while read f
|
|
do
|
|
sed "s/127\.0\.0\.1/${LO0_IP4}/g" "$f" > "$f._"
|
|
mv "$f._" "$f"
|
|
done
|
|
}
|
|
find "$HERE/testdata/${t%.tpkg}.dir" -type d \
|
|
-name "127.0.0.1" -print | {
|
|
while read d
|
|
do
|
|
mv -v "$d" "${d%127.0.0.1}${LO0_IP4}"
|
|
done
|
|
}
|
|
"$TPKG" -b "$HERE/testdata" c "$t"
|
|
rm -fr "testdata/${t%.tpkg}.dir"
|
|
"$TPKG" -b "$HERE/testdata" -a "$HERE" exe "$t"
|
|
mv "testdata/$t.bak" "testdata/$t"
|
|
done
|
|
if ( cd testdata; $TPKG -q -n `ls result.*|wc -l` report >/dev/null )
|
|
then
|
|
echo "All unbound tests successfully with ldns $LDNS_VERSION"
|
|
exit 0
|
|
else
|
|
echo "ERROR: Some unbound tests failed with ldns $LDNS_VERSION"
|
|
$TPKG -b $HERE/testdata -a $HERE r
|
|
fi
|
|
else
|
|
echo "ERROR: Unbound did not dynamically load our ldns $LDNS_VERSION"
|
|
fi
|
|
exit 1
|