self.__pkgs_license = {}
self.__pkgs_content = {}
+ self.install_debuginfo = False
+
def doFileLogSetup(self, uid, logfile):
# don't do the file log for the livecd as it can lead to open fds
# being left and an inability to clean up after ourself
rpm.RPMPROB_FILTER_REPLACEPKG ]
self.has_prov_query = True
+ self.install_debuginfo = False
def doFileLogSetup(self, uid, logfile):
# don't do the file log for the livecd as it can lead to open fds
return pi
return None
+ def _zyppQueryPackage(self, pkg):
+ query = zypp.PoolQuery()
+ query.addKind(zypp.ResKind.package)
+ query.addAttribute(zypp.SolvAttr.name,pkg)
+ query.setMatchExact()
+ for pi in query.queryResults(self.Z.pool()):
+ return pi
+ return None
+
def _splitPkgString(self, pkg):
sp = pkg.rsplit(".",1)
name = sp[0]
dlpkgs = []
for item in installed_pkgs:
if not zypp.isKindPattern(item) and \
- not self.inDeselectPackages(item):
+ not self.inDeselectPackages(item):
dlpkgs.append(item)
+ if not self.install_debuginfo or str(item.arch()) == "noarch":
+ continue
+
+ dipkg = self._zyppQueryPackage("%s-debuginfo" % item.name())
+ if dipkg:
+ dlpkgs.append(dipkg)
+ else:
+ msger.warning("No debuginfo rpm found for: %s" \
+ % item.name())
+
# record all pkg and the content
localpkgs = self.localpkgs.keys()
for pkg in dlpkgs: