From: Roy Li <[email protected]>

[YOCTO #5287]

tar failed and reported that file changed as we read it, now
we workaround it

Signed-off-by: Roy Li <[email protected]>
---
 meta/classes/populate_sdk_base.bbclass |   16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/meta/classes/populate_sdk_base.bbclass 
b/meta/classes/populate_sdk_base.bbclass
index b7ea851..87dea7b 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -111,7 +111,21 @@ fakeroot tar_sdk() {
        # Package it up
        mkdir -p ${SDK_DEPLOY}
        cd ${SDK_OUTPUT}/${SDKPATH}
-       tar ${SDKTAROPTS} -c 
--file=${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
+       set +e
+       count=0
+       while true; do
+               tar ${SDKTAROPTS} -c 
--file=${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
+               if [ $? -eq 0 ] ; then
+                       set -e
+                       exit 0
+               fi
+               count=`expr $count + 1`
+               rm -rf ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2
+               if [ $count -eq 5 ] ; then
+                       set -e
+                       exit 1
+               fi
+       done
 }
 
 fakeroot create_shar() {
-- 
1.7.10.4

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to