diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-09 15:07:23 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-09 16:32:03 +0100 |
commit | d3e105451413617cf6415ae1600dc063f3d8d452 (patch) | |
tree | f259b7c12e5f7115cc2656a656341f993143877b | |
parent | 3ccf7409d7014a850f4014c7e939d26188e1ae4b (diff) | |
download | openembedded-core-d3e105451413617cf6415ae1600dc063f3d8d452.tar.gz openembedded-core-d3e105451413617cf6415ae1600dc063f3d8d452.tar.bz2 openembedded-core-d3e105451413617cf6415ae1600dc063f3d8d452.zip |
scripts/bitbake: Only build tar-replacement-native when the build system tar version < 1.24
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-x | scripts/bitbake | 21 |
1 files changed, 19 insertions, 2 deletions
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 |