--- rpm-4.5/rpmdb/db3.c~ 2009-06-06 17:54:26.000000000 +0300 +++ rpm-4.5/rpmdb/db3.c 2009-06-06 17:55:36.050580710 +0300 @@ -1329,6 +1329,8 @@ } else { assert(rpmdb && rpmdb->db_dbenv); dbenv = rpmdb->db_dbenv; + if (rpmdb->db_chrootDone) + dbenv->set_data_dir(dbenv, dbhome); rpmdb->db_opens++; } /*@=mods@*/ @@ -1511,13 +1511,7 @@ if (dbfile) t = stpcpy( stpcpy( t, "/"), dbfile); /*@=boundswrite@*/ -#ifdef HACK /* XXX necessary to support dbsubfile */ - dbpath = (!dbi->dbi_use_dbenv && !dbi->dbi_temporary) - ? dbfullpath : dbfile; -#else - dbpath = (!dbi->dbi_temporary) - ? dbfullpath : dbfile; -#endif + dbpath = (!dbi->dbi_temporary) ? dbfullpath : dbfile; #if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) rc = (db->open)(db, txnid, dbpath, dbsubfile,