]> code.ossystems Code Review - openembedded-core.git/commit
classes/lib/scripts: Use bb.utils.rename() instead of os.rename()
authorDevendra Tewari <devendra.tewari@gmail.com>
Mon, 19 Apr 2021 14:23:58 +0000 (11:23 -0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 6 May 2021 10:14:06 +0000 (11:14 +0100)
commit656a65b2b84e7d529b89cf5de7eb838f902d84a2
tree273aa600fe078b7c7b1f66859606010f1c016a82
parented2b18ed6e76a3bc050a1c48526c114de5cb1a93
classes/lib/scripts: Use bb.utils.rename() instead of os.rename()

Incremental build in Docker fails with:

OSError: [Errno 18] Invalid cross-device link

when source and destination are on different overlay filesystems.

Rather than adding fallback code to every call site, use a new wrapper
in bitbake which detects this case and falls back to shutil.move
which is slower but will handtle the overlay docker filesystems correctly.

[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