From: Michael Tremer Date: Sat, 18 Sep 2010 19:39:13 +0000 (+0200) Subject: naoki: Allow replacing of packages with never versions. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4720b2479af530ee7c8073f384d4ac09623cd7c1;p=ipfire-3.x.git naoki: Allow replacing of packages with never versions. --- diff --git a/naoki/dependencies.py b/naoki/dependencies.py index 4eb79085b..9578aaaa5 100644 --- a/naoki/dependencies.py +++ b/naoki/dependencies.py @@ -90,9 +90,12 @@ class DependencySet(object): return # Packages conflict - if item.name in [i.name for i in self._items]: - logging.debug("Cannot add package with same name but different version: %s" % item) - return + for package in self._items: + if package.name == item.name: + if item > package: + logging.update("Replacing package %s by %s" % (package, item)) + self._items.remove(package) + break self._items.append(item) logging.debug("Added new package %s" % item) @@ -153,6 +156,9 @@ class DependencySet(object): # XXX These are not so nice because they possibly check all packages # and do not break after the first match for dependency in self._dependencies + self.dependencies: + if dependency.type == DEP_INVALID: + continue + found = False for item in self._items: if item.does_provide(dependency):