[PATCH] archiver: exit to avoid race conditions

Jose Quaresma

The archiver doesn't support using multiconfig sharing the same TMPDIR
so rise an error when we have something that shouldn't exist.

When in the multiconfig and using the same TMPDIR: the two machines can make
the same copy at the same time to the same destination, which will not work.

Signed-off-by: Jose Quaresma <jose.quaresma@...>
meta/classes/archiver.bbclass | 2 ++
1 file changed, 2 insertions(+)

diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index c19c770d11..5514e44a78 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -486,6 +486,8 @@ python do_unpack_and_patch() {
if d.getVarFlag('ARCHIVER_MODE', 'diff') == '1':
src = d.getVar('S').rstrip('/')
src_orig = '%s.orig' % src
+ if os.path.isdir(src_orig):
+ bb.error("A previous copy of the original source already exist '%s'" % src_orig)
oe.path.copytree(src, src_orig)

if bb.data.inherits_class('dos2unix', d):

Join openembedded-core@lists.openembedded.org to automatically receive all group messages.