fix rpm install failed for arm in bootstrap
authorGui Chen <gui.chen@intel.com>
Tue, 11 Sep 2012 08:05:03 +0000 (16:05 +0800)
committerGui Chen <gui.chen@intel.com>
Wed, 12 Sep 2012 08:55:03 +0000 (16:55 +0800)
Signed-off-by: Gui Chen <gui.chen@intel.com>
mic/bootstrap.py

index 7c37f5e..d82da40 100644 (file)
@@ -38,6 +38,12 @@ RPMVSF_FLAGS = [
                  rpm._RPMVSF_NODIGESTS
                ]
 
+RPMPROB_FLAGS = [
+                  rpm.RPMPROB_FILTER_OLDPACKAGE,
+                  rpm.RPMPROB_FILTER_REPLACEPKG,
+                  rpm.RPMPROB_FILTER_IGNOREARCH
+                ]
+
 class MiniBackend(object):
     def __init__(self, rootdir, arch=None, repomd=None):
         self._ts = None
@@ -60,6 +66,8 @@ class MiniBackend(object):
             self._ts = rpm.TransactionSet(self.rootdir)
             self._ts.setFlags(reduce(lambda x, y: x|y, RPMTRANS_FLAGS))
             self._ts.setVSFlags(reduce(lambda x, y: x|y, RPMVSF_FLAGS))
+            self._ts.setProbFilter(reduce(lambda x, y: x|y, RPMPROB_FLAGS))
+
         return self._ts
 
     def del_ts(self):
@@ -80,6 +88,9 @@ class MiniBackend(object):
         self.downloadPkgs()
         self.installPkgs()
 
+        if self.arch.startswith("arm"):
+            misc.setup_qemu_emulator(self.rootdir, self.arch)
+
         for pkg in self.preins.keys():
             prog, script = self.preins[pkg]
             self.run_pkg_script(pkg, prog, script, '0')