zypp: recording correct package info for local rpm
authorZhang Qiang <qiang.z.zhang@intel.com>
Sat, 8 Oct 2011 06:33:43 +0000 (14:33 +0800)
committerZhang Qiang <qiang.z.zhang@intel.com>
Sat, 8 Oct 2011 06:33:43 +0000 (14:33 +0800)
plugins/backend/zypppkgmgr.py

index 3bc00f2..b1f685b 100644 (file)
@@ -311,8 +311,13 @@ class Zypp(BackendPlugin):
 
         if self.__recording_pkgs:
             # record all pkg and the content
+            localpkgs = self.localpkgs.keys()
             for pkg in dlpkgs:
-                pkg_long_name = "%s-%s.%s.rpm" % (pkg.name(), pkg.edition(), pkg.arch())
+                if pkg.name() in localpkgs:
+                    hdr = rpmmisc.readRpmHeader(self.ts, self.localpkgs[pkg.name()])
+                    pkg_long_name = "%s-%s-%s.%s.rpm" % (hdr['name'], hdr['version'], hdr['release'], hdr['arch'])
+                else:
+                    pkg_long_name = "%s-%s.%s.rpm" % (pkg.name(), pkg.edition(), pkg.arch())
                 self.__pkgs_content[pkg_long_name] = {} #TBD: to get file list
 
         total_count = len(dlpkgs)