[for-denzil] bitbake: compile tar-replacement firstly

Submitted by Matthew McClintock on Nov. 6, 2012, 4:20 p.m.

Details

Message ID 1352218848-19801-1-git-send-email-msm@freescale.com
State New
Headers show

Commit Message

Matthew McClintock Nov. 6, 2012, 4:20 p.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.

(From OE-Core rev: 3c1c4719fc96f6f1fbb257413d6baf3d91fdf4e8)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 scripts/bitbake |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

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

Comments

Scott Garman Nov. 30, 2012, 2:56 a.m.
On 11/06/2012 08:20 AM, Matthew McClintock 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.
>
> (From OE-Core rev: 3c1c4719fc96f6f1fbb257413d6baf3d91fdf4e8)
>
> Signed-off-by: Roy.Li <rongqing.li@windriver.com>
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>   scripts/bitbake |    7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/bitbake b/scripts/bitbake
> index 3772d82..c52d5d2 100755
> --- a/scripts/bitbake
> +++ b/scripts/bitbake
> @@ -134,7 +134,12 @@ if [ $buildpseudo -gt 0 ]; then
>               fi
>           done
>       done
> -    bitbake pseudo-native $TARTARGET $additionalopts -c populate_sysroot
> +
> +    if [ $needtar = "1" ]; then
> +	bitbake $TARTARGET -c populate_sysroot
> +    fi
> +
> +    bitbake pseudo-native $additionalopts -c populate_sysroot
>       ret=$?
>       if [ "$ret" != "0" ]; then
>           exit 1
>

Pulled into sgarman/denzil-next.

Thanks,

Scott