--- smart/backends/rpm/metadata.py (revision 689) +++ smart/backends/rpm/metadata.py (revision 690) @@ -178,10 +178,12 @@ (elem.get("ver"), elem.get("rel")) elif tag == SUMMARY: - info["summary"] = elem.text + if elem.text: + info["summary"] = elem.text elif tag == DESCRIPTION: - info["description"] = elem.text + if elem.text: + info["description"] = elem.text elif tag == SIZE: info["size"] = int(elem.get("package")) @@ -196,7 +198,8 @@ info["location"] = elem.get("href") elif tag == GROUP: - info["group"] = elem.text + if elem.text: + info["group"] = elem.text elif tag == FILE: filedict[elem.text] = True --- smart/backends/rpm/header.py.orig 2006-04-13 04:34:10.000000000 +0200 +++ smart/backends/rpm/header.py 2006-04-13 04:35:31.000000000 +0200 @@ -100,7 +100,16 @@ def getSummary(self): s = self._h[rpm.RPMTAG_SUMMARY] + if type(s) == list: + if len(s) > 0: + s = s[0] + else: + return "" + pass + if len(s) == 0: + return "" + for encoding in ENCODINGS: try: s = s.decode(encoding)