summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/package_manager/deb/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oe/package_manager/deb/__init__.py')
-rw-r--r--meta/lib/oe/package_manager/deb/__init__.py18
1 files changed, 15 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..8edc653dff 100644
--- a/meta/lib/oe/package_manager/deb/__init__.py
+++ b/meta/lib/oe/package_manager/deb/__init__.py
@@ -5,6 +5,7 @@
import re
import subprocess
from oe.package_manager import *
+import shutil
class DpkgIndexer(Indexer):
def _create_configs(self):
@@ -214,7 +215,10 @@ class DpkgPM(OpkgDpkgPM):
tmp_sf.write(status)
- os.rename(status_file + ".tmp", status_file)
+ try:
+ os.rename(status_file + ".tmp", status_file)
+ except OSError:
+ shutil.move(status_file + ".tmp", status_file)
def run_pre_post_installs(self, package_name=None):
"""
@@ -299,13 +303,21 @@ class DpkgPM(OpkgDpkgPM):
for dir in dirs:
new_dir = re.sub(r"\.dpkg-new", "", dir)
if dir != new_dir:
- os.rename(os.path.join(root, dir),
+ try:
+ os.rename(os.path.join(root, dir),
+ os.path.join(root, new_dir))
+ except OSError:
+ shutil.move(os.path.join(root, dir),
os.path.join(root, new_dir))
for file in files:
new_file = re.sub(r"\.dpkg-new", "", file)
if file != new_file:
- os.rename(os.path.join(root, file),
+ try:
+ os.rename(os.path.join(root, file),
+ os.path.join(root, new_file))
+ except OSError:
+ shutil.move(os.path.join(root, file),
os.path.join(root, new_file))