self.Z = None
self.ts = None
self.ts_pre = None
+ self.pkgs_bak = []
self.incpkgs = {}
self.excpkgs = {}
self.pre_pkgs = []
if self.ts_pre:
self.ts_pre.closeDB()
- self.ts = None
+ self.ts_pre = None
+
+ self.pkgs_bak = []
self.closeRpmDB()
msger.verbose("pre-install package added: %s" % pkgname)
self.ts_pre.addInstall(h, rpmpath, 'u')
- self.ts.addInstall(h, rpmpath, 'u')
+ #for rpm4.14 vesion, need to split addInstall for these two transactionSet.
+ #addInstall for self.ts should be after self.ts_pre done.
+ self.pkgs_bak.append({"header": h, "rpmpath": rpmpath})
unresolved_dependencies = self.ts.check()
if not unresolved_dependencies:
if self.pre_pkgs:
self.preinstallPkgs()
+ for pkg_bak in self.pkgs_bak:
+ self.ts.addInstall(pkg_bak["header"], pkg_bak["rpmpath"], 'u')
self.ts.order()
cb = rpmmisc.RPMInstallCallback(self.ts)
installlogfile = "%s/__catched_stderr.buf" % (self.instroot)
msger.disable_logstderr()
self.ts.closeDB()
self.ts = None
+ self.pkgs_bak = []
if errors is not None:
if len(errors) == 0: