Patchwork bitbake: compile tar-replacement firstly

login
register
mail settings
Submitter rongqing.li@windriver.com
Date Aug. 8, 2012, 1:44 a.m.
Message ID <1344390266-11878-1-git-send-email-rongqing.li@windriver.com>
Download mbox | patch
Permalink /patch/34063/
State Accepted
Commit 3c1c4719fc96f6f1fbb257413d6baf3d91fdf4e8
Headers show

Comments

rongqing.li@windriver.com - Aug. 8, 2012, 1:44 a.m.
From: Roy.Li <rongqing.li@windriver.com>

Compiling tar-replacement or not is decided by version of host tar,
if the host tar version is lower than 1.23, Compiling tar-replacement
is needed.

When doing popoluate tar-replacement sysroot to write the tar to
sysroot, but writing is not finished. other packages probably
use the being written tar to unzip file, which will lead to failure
and report the below error:
"bitbake_build/tmp/sysroots/x86_64-linux/usr/bin/tar: Text file busy"

Now we compile tar-replacement firstly to ensure that a being written
tar command will not be used.

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
---
 scripts/bitbake |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
Saul Wold - Aug. 29, 2012, 10:25 p.m.
On 08/07/2012 06:44 PM, rongqing.li@windriver.com wrote:
> From: Roy.Li <rongqing.li@windriver.com>
>
> Compiling tar-replacement or not is decided by version of host tar,
> if the host tar version is lower than 1.23, Compiling tar-replacement
> is needed.
>
> When doing popoluate tar-replacement sysroot to write the tar to
> sysroot, but writing is not finished. other packages probably
> use the being written tar to unzip file, which will lead to failure
> and report the below error:
> "bitbake_build/tmp/sysroots/x86_64-linux/usr/bin/tar: Text file busy"
>
> Now we compile tar-replacement firstly to ensure that a being written
> tar command will not be used.
>
> Signed-off-by: Roy.Li <rongqing.li@windriver.com>
> ---
>   scripts/bitbake |    7 ++++++-
>   1 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/scripts/bitbake b/scripts/bitbake
> index 09f8a86..79a81ea 100755
> --- a/scripts/bitbake
> +++ b/scripts/bitbake
> @@ -152,7 +152,12 @@ if [ $buildpseudo -gt 0 ]; then
>               fi
>           done
>       done
> -    bitbake pseudo-native $TARTARGET $GITTARGET $additionalopts -c populate_sysroot
> +
> +    if [ $needtar = "1" ]; then
> +	bitbake $TARTARGET -c populate_sysroot
> +    fi
> +
> +    bitbake pseudo-native $GITTARGET $additionalopts -c populate_sysroot
>       ret=$?
>       if [ "$ret" != "0" ]; then
>           exit 1
>

Merged into OE-Core

Thanks
	Sau!

Patch

diff --git a/scripts/bitbake b/scripts/bitbake
index 09f8a86..79a81ea 100755
--- a/scripts/bitbake
+++ b/scripts/bitbake
@@ -152,7 +152,12 @@  if [ $buildpseudo -gt 0 ]; then
             fi
         done
     done
-    bitbake pseudo-native $TARTARGET $GITTARGET $additionalopts -c populate_sysroot
+
+    if [ $needtar = "1" ]; then
+	bitbake $TARTARGET -c populate_sysroot
+    fi
+
+    bitbake pseudo-native $GITTARGET $additionalopts -c populate_sysroot
     ret=$?
     if [ "$ret" != "0" ]; then
         exit 1