fix mic create image error: Rpmdb checksum is invalid: dCDPT(pkg checksums) 00/311800/4
authorwangbiao <biao716.wang@samsung.com>
Tue, 28 May 2024 05:46:00 +0000 (14:46 +0900)
committerwangbiao <biao716.wang@samsung.com>
Tue, 28 May 2024 06:17:18 +0000 (15:17 +0900)
rebuild rpmdb before run intall package transaction.
Change-Id: Ib76b0748bb540f03f3cce4737ec71959e0f8758b
Signed-off-by: wangbiao <biao716.wang@samsung.com>
plugins/backend/yumpkgmgr.py

index b16afbf5b92bf21ffdeb0ba995254bfc9a4f1d52..fc2340fc797a376205e8f6b90c6216dec7e7793b 100644 (file)
@@ -172,6 +172,8 @@ class Yum(BackendPlugin, yum.YumBase):
         # versions of rpm don't cause problems
         for f in glob.glob(installroot + "/var/lib/rpm/__db*"):
             os.unlink(f)
+        #rebuild rpmdb,
+        os.system("rpmdb --rebuilddb")
 
     def setup(self):
         # create yum.conf
@@ -431,10 +433,11 @@ class Yum(BackendPlugin, yum.YumBase):
 
             installlogfile = "%s/__catched_stderr.buf" % (self.instroot)
             msger.enable_logstderr(installlogfile)
+            #clean rpm lock
+            self._cleanupRpmdbLocks(self.conf.installroot)
             transactionResult = self.runTransaction(cb)
             if transactionResult.return_code != 0 and self.strict_mode:
                 raise CreatorError("mic failes to install some packages")
-            self._cleanupRpmdbLocks(self.conf.installroot)
 
         except rpmUtils.RpmUtilsError as e:
             raise CreatorError("mic does NOT support delta rpm: %s" % e)