[OE-core] [PATCH] sstate: Fix incorrect return value handling

Ming Liu ming.liu at windriver.com
Tue Sep 16 09:15:10 UTC 2014


On 09/16/2014 05:10 PM, Robert Yang wrote:
>
>
> On 09/16/2014 05:00 PM, Ming Liu wrote:
>> On 09/12/2014 11:39 PM, Richard Purdie wrote:
>>> The use of [ and && here means $? is reset and the exit 1 error
>>> interception wasn't working, leading to "file changed as we read it"
>>> errors from sstate_create_package when heavily using hardlinks.
>>>
>>> Fix this by placing $? into a variable.
>>>
>>> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
>>>
>>> diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
>>> index 0cb5235..1145a63c 100644
>>> --- a/meta/classes/sstate.bbclass
>>> +++ b/meta/classes/sstate.bbclass
>>> @@ -599,7 +599,8 @@ sstate_create_package () {
>>>       if [ "$(ls -A)" ]; then
>>>           set +e
>>>           tar -czf $TFILE *
>>> -        if [ $? -ne 0 ] && [ $? -ne 1 ]; then
>>> +        ret=$?
>>> +        if [ $ret -ne 0 ] && [ $ret -ne 1 ]; then
>> Would changing the line to "if [[ $? -ne 0  &&  $? -ne 1 ]] " be a 
>> better fix?
>
> I'm afraid not, "[[" and "&&" in test are bashism.
Thanks for pointing it out, please ignore my suggestion then, sorry for 
the noise.

//Ming Liu
>
> // Robert
>
>>
>> the best,
>> thank you
>>>               exit 1
>>>           fi
>>>           set -e
>>>
>>>
>>
>
>




More information about the Openembedded-core mailing list