From c08d7093bf654ffedb155c5627972e9ecfeb0b60 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 7 Sep 2011 18:34:47 +0100 Subject: sstate: Avoid contention between sstate packages If several sstate packages are decompressing at the same time, they can conflict over the "fixmepath". If two packages try to write to this at the same time it results in an error. To avoid this we remove the file once we've finished processing it. Signed-off-by: Richard Purdie --- meta/classes/sstate.bbclass | 3 +++ 1 file changed, 3 insertions(+) (limited to 'meta/classes') diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index d7631cac5..91f209a9c 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass @@ -183,6 +183,9 @@ def sstate_installpkg(ss, d): os.system("sed -i -e s:FIXMESTAGINGDIRTARGET:%s:g %s" % (staging_target, sstateinst + file)) os.system("sed -i -e s:FIXMESTAGINGDIRHOST:%s:g %s" % (staging_host, sstateinst + file)) os.system("sed -i -e s:FIXMESTAGINGDIR:%s:g %s" % (staging, sstateinst + file)) + # Need to remove this or we'd copy it into the target directory and may + # conflict with another writer + os.remove(fixmefn) for state in ss['dirs']: prepdir(state[1]) -- cgit v1.2.3