From 7a086abc257ed433fda7a8a21c23a23199dc7cd5 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 9 Jun 2011 15:07:23 +0100 Subject: 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 Signed-off-by: Richard Purdie --- scripts/bitbake | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'scripts/bitbake') diff --git a/scripts/bitbake b/scripts/bitbake index 39d5957078..3923421cec 100755 --- a/scripts/bitbake +++ b/scripts/bitbake @@ -16,10 +16,23 @@ done [ $needpseudo = "0" ] && break 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" if [ $needpseudo = "1" ] && [ -e "$BUILDDIR/pseudodone" ]; then 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" fi fi @@ -32,7 +45,11 @@ export PATH=`echo $PATH | sed s#[^:]*/scripts:##` if [ $buildpseudo = "1" ]; then echo "Pseudo is not present but is required, building this first before the main build" 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=$? if [ "$ret" != "0" ]; then exit 1 -- cgit v1.2.3-54-g00ecf