oeqa/selftest/cases/devtool.py: avoid .pyc race

In certain conditions, most likely under heavy load on the
AutoBuilder, the prebuilt .pyc files are attempting to be
executed before they have been completely copied. Avoid
this by not copying the .pyc files (nor the __pycache__
directory). The impact of python3-native recreating the .pyc
files should hopefully be negligible.

YOCTO#13421
YOCTO#13803

(From OE-Core rev: 1facb696140cc95ea3478654aedf1220459c825f)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Tim Orling
2020-09-30 14:40:47 -07:00
committed by Richard Purdie
parent 181eeebd95
commit 3c6611455c

View File

@@ -56,7 +56,8 @@ def setUpModule():
if pth.startswith(canonical_layerpath):
if relpth.endswith('/'):
destdir = os.path.join(corecopydir, relpth)
shutil.copytree(pth, destdir)
# avoid race condition by not copying .pyc files YPBZ#13421,13803
shutil.copytree(pth, destdir, ignore=ignore_patterns('*.pyc', '__pycache__'))
else:
destdir = os.path.join(corecopydir, os.path.dirname(relpth))
bb.utils.mkdirhier(destdir)