diff options
-rwxr-xr-x | mic/__init__.py | 2 | ||||
-rwxr-xr-x | packaging/mic.spec | 2 | ||||
-rw-r--r-- | plugins/backend/zypppkgmgr.py | 12 |
3 files changed, 12 insertions, 4 deletions
diff --git a/mic/__init__.py b/mic/__init__.py index 723746b..a60b9b1 100755 --- a/mic/__init__.py +++ b/mic/__init__.py @@ -16,7 +16,7 @@ import os, sys -__version__ = "0.28.17" +__version__ = "0.28.19" cur_path = os.path.dirname(__file__) or '.' sys.path.insert(0, cur_path + '/3rdparty') diff --git a/packaging/mic.spec b/packaging/mic.spec index 2032f45..4b4214e 100755 --- a/packaging/mic.spec +++ b/packaging/mic.spec @@ -9,7 +9,7 @@ Name: mic Summary: Image Creator for Linux Distributions -Version: 0.28.17 +Version: 0.28.19 Release: 0 Group: Development/Tools License: GPLv2 diff --git a/plugins/backend/zypppkgmgr.py b/plugins/backend/zypppkgmgr.py index afddfd7..950c1af 100644 --- a/plugins/backend/zypppkgmgr.py +++ b/plugins/backend/zypppkgmgr.py @@ -72,6 +72,7 @@ class Zypp(BackendPlugin): self.Z = None self.ts = None self.ts_pre = None + self.pkgs_bak = [] self.incpkgs = {} self.excpkgs = {} self.pre_pkgs = [] @@ -99,7 +100,9 @@ class Zypp(BackendPlugin): if self.ts_pre: self.ts_pre.closeDB() - self.ts = None + self.ts_pre = None + + self.pkgs_bak = [] self.closeRpmDB() @@ -896,13 +899,17 @@ class Zypp(BackendPlugin): 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) @@ -915,6 +922,7 @@ class Zypp(BackendPlugin): msger.disable_logstderr() self.ts.closeDB() self.ts = None + self.pkgs_bak = [] if errors is not None: if len(errors) == 0: |