]> code.ossystems Code Review - openembedded-core.git/commit
classes/lib/scripts: Use shutil.move when os.rename fails
authorDevendra Tewari <devendra.tewari@gmail.com>
Mon, 19 Apr 2021 14:23:58 +0000 (11:23 -0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 24 Apr 2021 16:53:08 +0000 (17:53 +0100)
commitb37a704eee00858c8974a092de3c4c32c14f67d2
tree8cf1ec50d8968bffda2d1f018b98810f1ce62ead
parentbf1b467dacf345379cd5d84a1c9b3b0d844d5c91
classes/lib/scripts: Use shutil.move when os.rename fails

Incremental build in Docker fails with:

OSError: [Errno 18] Invalid cross-device link

when source and destination are on different overlay filesystems.

This change handles error with os.rename and retries with shutil.move.
The reason os.rename is still used is because shutil.move is too slow
for speed sensitive sections of code.

[YOCTO #14301]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
14 files changed:
meta/classes/buildhistory.bbclass
meta/classes/package.bbclass
meta/classes/populate_sdk_ext.bbclass
meta/classes/reproducible_build.bbclass
meta/classes/sstate.bbclass
meta/classes/update-alternatives.bbclass
meta/lib/oe/package_manager/deb/__init__.py
meta/lib/oe/package_manager/ipk/__init__.py
meta/lib/oe/rootfs.py
meta/lib/oeqa/selftest/cases/wic.py
scripts/combo-layer
scripts/lib/devtool/standard.py
scripts/lib/devtool/upgrade.py
scripts/lib/wic/plugins/imager/direct.py