scripts/bitbake: Only build tar-replacement-native when the build system tar version < 1.24

(From OE-Core rev: d3e105451413617cf6415ae1600dc063f3d8d452)

Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2011-06-09 15:07:23 +01:00
parent 5de3d14f8e
commit 7a086abc25
1 changed files with 19 additions and 2 deletions

View File

@ -16,10 +16,23 @@ done
[ $needpseudo = "0" ] && break [ $needpseudo = "0" ] && break
done done
needtar="1"
TARVERSION=`tar --version | head -n 1 | cut -d ' ' -f 4`
float_test() {
echo | awk 'END { exit ( !( '"$1"')); }'
}
# Tar version 1.24 and onwards handle symlinks in sstate packages correctly
# but earlier versions do not
float_test "$TARVERSION > 1.23" && needtar="0"
buildpseudo="1" buildpseudo="1"
if [ $needpseudo = "1" ] && [ -e "$BUILDDIR/pseudodone" ]; then if [ $needpseudo = "1" ] && [ -e "$BUILDDIR/pseudodone" ]; then
PSEUDOBINDIR=`cat $BUILDDIR/pseudodone` PSEUDOBINDIR=`cat $BUILDDIR/pseudodone`
if [ -e "$PSEUDOBINDIR/pseudo" -a -e "$PSEUDOBINDIR/tar" ]; then if [ -e "$PSEUDOBINDIR/pseudo" -a -e "$PSEUDOBINDIR/tar" -a "$needtar" = "1" ]; then
buildpseudo="0"
fi
if [ -e "$PSEUDOBINDIR/pseudo" -a $needtar = "0" ]; then
buildpseudo="0" buildpseudo="0"
fi fi
fi fi
@ -32,7 +45,11 @@ export PATH=`echo $PATH | sed s#[^:]*/scripts:##`
if [ $buildpseudo = "1" ]; then if [ $buildpseudo = "1" ]; then
echo "Pseudo is not present but is required, building this first before the main build" echo "Pseudo is not present but is required, building this first before the main build"
export PSEUDO_BUILD=1 export PSEUDO_BUILD=1
bitbake pseudo-native tar-replacement-native -c populate_sysroot TARTARGET="tar-replacement-native"
if [ $needtar = "0" ]; then
TARTARGET=""
fi
bitbake pseudo-native $TARTARGET -c populate_sysroot
ret=$? ret=$?
if [ "$ret" != "0" ]; then if [ "$ret" != "0" ]; then
exit 1 exit 1