sstate: Use -m option to tar when unpacking sstate

Submitted by Richard Purdie on Oct. 11, 2012, 12:20 p.m.

Details

Message ID 1349958020.14368.12.camel@ted
State Accepted
Commit 2d89cff42af2bb0049224bfaaebaa2b21966169f
Headers show

Commit Message

Richard Purdie Oct. 11, 2012, 12:20 p.m.
We've noticed failures on the project autobuilders where a shared sstate
directory is used across multiple builders and the clocks become skewed.

Most of the time this causes harmless building but if this happens where
an environment is changed (make install vs make in qt4-x11-free for example),
the build can fail.

This avoids modification times in the future and should make builds safer
in shared environments sstate was designed for.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---

Patch hide | download patch | download mbox

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 3fcaa65..b60c766 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -544,7 +544,7 @@  sstate_create_package () {
 sstate_unpack_package () {
 	mkdir -p ${SSTATE_INSTDIR}
 	cd ${SSTATE_INSTDIR}
-	tar -xvzf ${SSTATE_PKG}
+	tar -xmvzf ${SSTATE_PKG}
 }
 
 # Need to inject information about classes not in the global configuration scope

Comments

Enrico Scholz Oct. 11, 2012, 1:32 p.m.
Richard Purdie
<richard.purdie-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
writes:

> We've noticed failures on the project autobuilders where a shared
> sstate directory is used across multiple builders and the clocks
> become skewed.

I think, 'ntp' is a better way to solve this...


> This avoids modification times in the future and should make builds
> safer in shared environments sstate was designed for.

But this will remove information about the age of (packaged) files,
won't it?  E.g. previously, I was able to see on the target machine,
when a file was modified. It is not a critical feature but often very
useful.

Now, the date on image will be either the former date or the date when
the staged tarball will be extracted (--> e.g. after 'bitbake -c clean').
Sounds confusing.


> -	tar -xvzf ${SSTATE_PKG}
> +	tar -xmvzf ${SSTATE_PKG}



Enrico