#!/usr/local/bin/bash
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
cd testdata
TPKG=../testcode/mini_tpkg.sh
RUNLIST=`(ls -1 *.tpkg)`
if test "$#" = "1"; then RUNLIST="$1"; fi
cleanup() {
echo cleanup
if test -f "$t.bak"; then mv "$t.bak" "$t"; fi
exit 0
}
trap cleanup SIGINT
for t in $RUNLIST
do
if ! $ALT_LOOPBACK
then
$TPKG exe $t
continue
fi
if ( echo $t | grep '6\.tpkg$' ) then
continue
elif test "$t" = "edns_cache.tpkg" then
continue
fi
cp -p "$t" "$t.bak"
tar xzf $t
find "${t%.tpkg}.dir" -type f \
-exec grep -q -e '127\.0\.0\.1' -e '@localhost' {} \; -print | {
while read f
do
sed "s/127\.0\.0\.1/${LO0_IP4}/g" "$f" > "$f._"
mv "$f._" "$f"
sed "s/@localhost/@${LO0_IP4}/g" "$f" > "$f._"
mv "$f._" "$f"
done
}
find "${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
}
tar czf $t "${t%.tpkg}.dir"
rm -fr "${t%.tpkg}.dir"
$TPKG exe $t
mv "$t.bak" "$t"
done
cd ..