diff options
author | Devendra Tewari <devendra.tewari@gmail.com> | 2021-04-19 11:23:58 -0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-05-06 11:16:23 +0100 |
commit | b71375304f393db62e0894af66e9a60bb9a5c8cc (patch) | |
tree | ac14a351c1c6cd0ba2679c18a4de92c71dee0e7f /meta/classes/buildhistory.bbclass | |
parent | 974441aeda1a2e601865743e945e0332c115ef76 (diff) | |
download | poky-b71375304f393db62e0894af66e9a60bb9a5c8cc.tar.gz |
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]
(From OE-Core rev: 656a65b2b84e7d529b89cf5de7eb838f902d84a2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/buildhistory.bbclass')
-rw-r--r-- | meta/classes/buildhistory.bbclass | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass index 49af61c9c5..059de36a5d 100644 --- a/meta/classes/buildhistory.bbclass +++ b/meta/classes/buildhistory.bbclass | |||
@@ -875,7 +875,7 @@ python buildhistory_eventhandler() { | |||
875 | entries = [ x for x in os.listdir(rootdir) if not x.startswith('.') ] | 875 | entries = [ x for x in os.listdir(rootdir) if not x.startswith('.') ] |
876 | bb.utils.mkdirhier(olddir) | 876 | bb.utils.mkdirhier(olddir) |
877 | for entry in entries: | 877 | for entry in entries: |
878 | os.rename(os.path.join(rootdir, entry), | 878 | bb.utils.rename(os.path.join(rootdir, entry), |
879 | os.path.join(olddir, entry)) | 879 | os.path.join(olddir, entry)) |
880 | elif isinstance(e, bb.event.BuildCompleted): | 880 | elif isinstance(e, bb.event.BuildCompleted): |
881 | if reset: | 881 | if reset: |