From 93a755e8dc070ac2cc5bf6390e553bebc15e6918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= Date: Thu, 23 Sep 2010 07:54:59 +0000 Subject: [PATCH] installdb: Check if some mandatory tags in metadata.xml exist --- pisi/db/installdb.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pisi/db/installdb.py b/pisi/db/installdb.py index ec36cc9e..e0ed174e 100644 --- a/pisi/db/installdb.py +++ b/pisi/db/installdb.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2005 - 2007, TUBITAK/UEKAE +# Copyright (C) 2005 - 2010, TUBITAK/UEKAE # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free @@ -84,6 +84,7 @@ class InstallDB(lazydb.LazyDB): metadata_xml = os.path.join(self.package_path(package), ctx.const.metadata_xml) try: meta_doc = piksemel.parse(metadata_xml) + pkg = meta_doc.getTag("Package") except: # If package info is broken or not available, skip it. ctx.ui.warning(_("Installation info for package '%s' is broken. " @@ -91,17 +92,15 @@ class InstallDB(lazydb.LazyDB): del self.installed_db[package] return - pkg = meta_doc.getTag("Package") deps = pkg.getTag('RuntimeDependencies') if deps: - name = pkg.getTagData('Name') for dep in deps.tags("Dependency"): revdep = revdeps.setdefault(dep.firstChild().data(), {}) - revdep[name] = dep.toString() + revdep[package] = dep.toString() for anydep in deps.tags("AnyDependency"): for dep in anydep.tags("Dependency"): revdep = revdeps.setdefault(dep.firstChild().data(), {}) - revdep[name] = anydep.toString() + revdep[package] = anydep.toString() def __generate_revdeps(self): revdeps = {}