summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/package_manager/deb/__init__.py
diff options
context:
space:
mode:
authorDevendra Tewari <devendra.tewari@gmail.com>2021-04-19 11:23:58 -0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-05-06 11:16:23 +0100
commitb71375304f393db62e0894af66e9a60bb9a5c8cc (patch)
treeac14a351c1c6cd0ba2679c18a4de92c71dee0e7f /meta/lib/oe/package_manager/deb/__init__.py
parent974441aeda1a2e601865743e945e0332c115ef76 (diff)
downloadpoky-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/lib/oe/package_manager/deb/__init__.py')
-rw-r--r--meta/lib/oe/package_manager/deb/__init__.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/meta/lib/oe/package_manager/deb/__init__.py b/meta/lib/oe/package_manager/deb/__init__.py
index 2ee68fefb1..a4b6b6f647 100644
--- a/meta/lib/oe/package_manager/deb/__init__.py
+++ b/meta/lib/oe/package_manager/deb/__init__.py
@@ -214,7 +214,7 @@ class DpkgPM(OpkgDpkgPM):
214 214
215 tmp_sf.write(status) 215 tmp_sf.write(status)
216 216
217 os.rename(status_file + ".tmp", status_file) 217 bb.utils.rename(status_file + ".tmp", status_file)
218 218
219 def run_pre_post_installs(self, package_name=None): 219 def run_pre_post_installs(self, package_name=None):
220 """ 220 """
@@ -299,13 +299,13 @@ class DpkgPM(OpkgDpkgPM):
299 for dir in dirs: 299 for dir in dirs:
300 new_dir = re.sub(r"\.dpkg-new", "", dir) 300 new_dir = re.sub(r"\.dpkg-new", "", dir)
301 if dir != new_dir: 301 if dir != new_dir:
302 os.rename(os.path.join(root, dir), 302 bb.utils.rename(os.path.join(root, dir),
303 os.path.join(root, new_dir)) 303 os.path.join(root, new_dir))
304 304
305 for file in files: 305 for file in files:
306 new_file = re.sub(r"\.dpkg-new", "", file) 306 new_file = re.sub(r"\.dpkg-new", "", file)
307 if file != new_file: 307 if file != new_file:
308 os.rename(os.path.join(root, file), 308 bb.utils.rename(os.path.join(root, file),
309 os.path.join(root, new_file)) 309 os.path.join(root, new_file))
310 310
311 311