[oe-commits] Laurentiu Palcu : lib/oe/package_manager.py: DpkgPM, use lock on deploy dir
git at git.openembedded.org
git at git.openembedded.org
Tue Feb 11 11:57:04 UTC 2014
Module: openembedded-core.git
Branch: master-next
Commit: 127d19b84e78b5e650d0e6d7eaf29a8b7d799e5e
URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=127d19b84e78b5e650d0e6d7eaf29a8b7d799e5e
Author: Laurentiu Palcu <laurentiu.palcu at intel.com>
Date: Tue Jan 28 14:43:14 2014 +0200
lib/oe/package_manager.py: DpkgPM, use lock on deploy dir
Lock deploy directory against concurrent index creation.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu at intel.com>
---
meta/lib/oe/package_manager.py | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 8a58d61..2e5aa82 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -1086,6 +1086,8 @@ class DpkgPM(PackageManager):
def update(self):
os.environ['APT_CONFIG'] = self.apt_conf_file
+ self.deploy_dir_lock()
+
cmd = "%s update" % self.apt_get_cmd
try:
@@ -1094,6 +1096,8 @@ class DpkgPM(PackageManager):
bb.fatal("Unable to update the package index files. Command %s "
"returned %d" % (e.cmd, e.returncode))
+ self.deploy_dir_unlock()
+
def install(self, pkgs, attempt_only=False):
os.environ['APT_CONFIG'] = self.apt_conf_file
@@ -1154,6 +1158,8 @@ class DpkgPM(PackageManager):
dpkg_scanpackages = bb.utils.which(os.getenv('PATH'), "dpkg-scanpackages")
gzip = bb.utils.which(os.getenv('PATH'), "gzip")
+ self.deploy_dir_lock()
+
index_cmds = []
deb_dirs_found = False
for arch in arch_list:
@@ -1178,6 +1184,8 @@ class DpkgPM(PackageManager):
pool.close()
pool.join()
+ self.deploy_dir_unlock()
+
for result in results:
if result is not None:
bb.fatal(result)
More information about the Openembedded-commits
mailing list