diff options
author | Thierry Vignaud <tv@mageia.org> | 2012-03-05 19:01:40 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mageia.org> | 2012-03-05 19:01:40 +0000 |
commit | 448206fda38d36732781f755b60613fa2d0b399f (patch) | |
tree | 63b91ea02df5be29718fc78c88f493222a411460 | |
parent | 065fc607088c62a58dc6a8b5e8faf0c169440be7 (diff) | |
download | urpmi-448206fda38d36732781f755b60613fa2d0b399f.tar urpmi-448206fda38d36732781f755b60613fa2d0b399f.tar.gz urpmi-448206fda38d36732781f755b60613fa2d0b399f.tar.bz2 urpmi-448206fda38d36732781f755b60613fa2d0b399f.tar.xz urpmi-448206fda38d36732781f755b60613fa2d0b399f.zip |
(install) explicitely close the RPM DB after each transaction
else we keep the RPM DB open several times until rpm fails:
created transaction for installing on / (remove=0, install=0, upgrade=8)
error: rpmdb: Lock table is out of available locker entries
error: cannot open Basenames index using db4 - Cannot allocate memory (12)
error: rpmdb: Lock table is out of available locker entries
error: cannot open Group index using db4 - Cannot allocate memory (12)
error: rpmdb: Lock table is out of available locker entries
error: cannot open Requirename index using db4 - Cannot allocate memory (12)
error: rpmdb: Lock table is out of available locker entries
error: cannot open Triggername index using db4 - Cannot allocate memory (12)
error: rpmdb: Lock table is out of available locker entries
(...)
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | urpm/install.pm | 4 |
2 files changed, 5 insertions, 0 deletions
@@ -1,3 +1,4 @@ +- explicitely close the RPM DB after each transaction - warn if --allow-force, --allow-nodeps, --force or --keep is in use (mga#3127) Version 6.45 - 27 February 2012 diff --git a/urpm/install.pm b/urpm/install.pm index 4d58efdc..fc30b847 100644 --- a/urpm/install.pm +++ b/urpm/install.pm @@ -291,6 +291,10 @@ sub install { urpm::sys::may_clean_rpmdb_shared_regions($urpm, $options{test}); + # explicitely close the RPM DB (needed for drakx -- looks like refcount has hard work): + undef $db; + undef $trans; + @errors; } |