aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-09-12 16:39:16 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-09-16 22:12:29 +0100
commit75040a098e11927e6872e3a2a6286fe3ed0c7f47 (patch)
treed09fc929cfaa0672eda6fc5e211a17287ed46a8c
parent0af59a04135f067f0e01883defa77c6f714eab2e (diff)
downloadopenembedded-core-contrib-75040a098e11927e6872e3a2a6286fe3ed0c7f47.tar.gz
sstate: Fix incorrect return value handling
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. (From OE-Core rev: 6e51f900b76b06c09a3d6927f8db7398e2c035ed) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/sstate.bbclass3
1 files changed, 2 insertions, 1 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 67e0c1d13a..2d8db57c81 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
exit 1
fi
set -e