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

Ming Liu ming.liu at windriver.com
Tue Sep 16 09:00:22 UTC 2014


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?

the best,
thank you
>   			exit 1
>   		fi
>   		set -e
>
>




More information about the Openembedded-core mailing list