summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmic/__init__.py2
-rwxr-xr-xpackaging/mic.spec2
-rw-r--r--plugins/backend/zypppkgmgr.py12
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: