diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-09-27 17:55:52 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-09-27 17:55:52 +0000 |
commit | 1ba6883daca0c6e96f37ca30ee51b6b20c27b98a (patch) | |
tree | 469f4820f5e892bc09c7fe7406351a803f394776 /bin/emerge | |
parent | 2bc45d58cae78b672e84ce213b4bbf2738986343 (diff) | |
download | portage-1ba6883daca0c6e96f37ca30ee51b6b20c27b98a.tar.gz portage-1ba6883daca0c6e96f37ca30ee51b6b20c27b98a.tar.bz2 portage-1ba6883daca0c6e96f37ca30ee51b6b20c27b98a.zip |
Bug #194025 - Lock /var/db/pkg in post_merge() during the
"Regenerating GNU info directory index" routine. (trunk r7853)
svn path=/main/branches/2.1.2/; revision=7854
Diffstat (limited to 'bin/emerge')
-rwxr-xr-x | bin/emerge | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/bin/emerge b/bin/emerge index 529767ebc..f5690df21 100755 --- a/bin/emerge +++ b/bin/emerge @@ -4497,11 +4497,18 @@ def post_emerge(settings, mtimedb, retval): else: mod_echo.finalize() - if "noinfo" not in settings.features: - chk_updated_info_files(target_root, infodirs, info_mtimes, retval) + vdb_path = os.path.join(target_root, portage.VDB_PATH) + portage_util.ensure_dirs(vdb_path) + vdb_lock = portage_locks.lockdir(vdb_path) + try: + if "noinfo" not in settings.features: + chk_updated_info_files(target_root, infodirs, info_mtimes, retval) + mtimedb.commit() + finally: + portage_locks.unlockdir(vdb_lock) chk_updated_cfg_files(target_root, config_protect) - mtimedb.commit() + sys.exit(retval) |