From: Rongqing Li <rongqing.li@windriver.com>
To: Pascal Ouyang <xin.ouyang@windriver.com>
Cc: "Yang, Liezhi" <Liezhi.Yang@windriver.com>,
Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: Re: Could we build tar-replacement firstly and not parallel if tar-replacement is needed to build
Date: Tue, 7 Aug 2012 17:27:24 +0800 [thread overview]
Message-ID: <5020DF7C.5080802@windriver.com> (raw)
In-Reply-To: <5020D893.3030101@windriver.com>
On 2012年08月07日 16:57, Pascal Ouyang wrote:
> 于 2012年08月07日 16:02, Rongqing Li 写道:
>>
>>
>> On 2012年08月07日 15:41, Richard Purdie wrote:
>>> On Tue, 2012-08-07 at 13:59 +0800, Rongqing Li wrote:
>>>> Paste a RFC PATCH
>>>>
>>>> [RFC PATCH 1/1] bitbake: compile tar-replacement firstly, and not
>>>> parallel
>>>>
>>>> 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 and not parallel to ensure
>>>> that a being written tar command will not be used.
>>>>
>>>> Signed-off-by: Roy.Li <rongqing.li@windriver.com>
>>>> ---
>>>> scripts/bitbake | 14 +++++++++++++-
>>>> 1 files changed, 13 insertions(+), 1 deletions(-)
>>>>
>>>> diff --git a/scripts/bitbake b/scripts/bitbake
>>>> index 3772d82..eb6b144 100755
>>>> --- a/scripts/bitbake
>>>> +++ b/scripts/bitbake
>>>> @@ -134,7 +134,19 @@ if [ $buildpseudo -gt 0 ]; then
>>>> fi
>>>> done
>>>> done
>>>> - bitbake pseudo-native $TARTARGET $additionalopts -c
>>>> populate_sysroot
>>>> +
>>>> + if [ $needtar = "1" ]; then
>>>> + NUM_THREAD_LINE=`grep -n "^\s*BB_NUMBER_THREADS"
>>>> conf/local.conf
>>>> |awk -F':' '{print $1}'`
>>>> + test -n "$NUM_THREAD_LINE" &&
>>>> + sed -i ''"$NUM_THREAD_LINE"'s/^\s*BB_NUMBER_THREADS/#\0/g'
>>>> conf/local.conf
>>>> +
>>>> + bitbake $TARTARGET -c populate_sysroot
>>>> +
>>>> + test -n "$NUM_THREAD_LINE" &&
>>>> + sed -i
>>>> ''"$NUM_THREAD_LINE"'s/^#\s*BB_NUMBER_THREADS/BB_NUMBER_THREADS/g'
>>>> conf/local.conf
>>>> + fi
>>>
>>> We are *NOT* running sed over local.conf. What is the user used a
>>> different configuration file for example?
>>
>> I use the sed to disable NUM_THREAD_LINE in conf/local.conf if
>> NUM_THREAD_LINE has been enabled.
>>
>> After compile $TARTARGET, use the sed to enable NUM_THREAD_LINE
>> in conf/local.conf
>>
>>
>>
>>> If you're just building tar-native, is there a parallel race possible?
>>> I'm not sure that there is?
>>
>> Even if I just build tar-native, I still have several packages which
>> are needed to building.
>>
>>
>> $bitbake tar-replacement-native -g
>>
>> $ cat pn-buildlist
>> autoconf-native
>> libtool-native
>> m4-native
>> gettext-minimal-native
>> tar-replacement-native
>> quilt-native
>> gnu-config-native
>> automake-native
>>
>
> To avoid to use the incomplete tar binary, I think we could rename the
> binary name to "tar-native" before do_populate_sysroot, and then rename
> back to "tar" after do_populate_sysroot().
>
> Thanks.
>
> - Pascal
>
I think your suggestion is valuable to fix the similar problem,
we can adopt this method.
-Roy
>>
>> Thanks for your reply.
>> -Roy
>>>
>>> For the record I hate this script and what it has become, its horrible.
>>> It started as a workaround for pseudo-native, its becoming a dumping
>>> ground for a whole set of nasty workarounds :(.
>>>
>>> Cheers,
>>>
>>> Richard
>>>
>>>
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>
>>>
>>
>
>
--
Best Reagrds,
Roy | RongQing Li
next prev parent reply other threads:[~2012-08-07 9:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-06 12:50 Could we build tar-replacement firstly and not parallel if tar-replacement is needed to build Rongqing Li
2012-08-07 5:59 ` Rongqing Li
2012-08-07 7:41 ` Richard Purdie
2012-08-07 8:02 ` Rongqing Li
2012-08-07 8:57 ` Pascal Ouyang
2012-08-07 9:27 ` Rongqing Li [this message]
2012-08-07 9:03 ` Richard Purdie
2012-08-07 9:25 ` Rongqing Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5020DF7C.5080802@windriver.com \
--to=rongqing.li@windriver.com \
--cc=Liezhi.Yang@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=xin.ouyang@windriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox