From 60b21c737021af753218cfffa7a09b281bf13cef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Fri, 17 Mar 2006 14:32:34 +0000 Subject: [PATCH] * fix: dependency comparison stuff this is really not my fault. somebody had misunderstood that code and had overwritten it with something. when i got around to rewriting i have been careless!!! --- pisi/dependency.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pisi/dependency.py b/pisi/dependency.py index f95f214f..ebc6f177 100644 --- a/pisi/dependency.py +++ b/pisi/dependency.py @@ -29,8 +29,10 @@ class Dependency: __metaclass__ = autoxml.autoxml s_Package = [autoxml.String, autoxml.mandatory] + a_version = [autoxml.String, autoxml.optional] a_versionFrom = [autoxml.String, autoxml.optional] a_versionTo = [autoxml.String, autoxml.optional] + a_release = [autoxml.String, autoxml.optional] a_releaseFrom = [autoxml.String, autoxml.optional] a_releaseTo = [autoxml.String, autoxml.optional] @@ -50,14 +52,19 @@ class Dependency: """determine if a package ver. satisfies given dependency spec""" ret = True v = Version(version) + if self.version: + ret &= v == Version(self.version) if self.versionFrom: ret &= v >= Version(self.versionFrom) if self.versionTo: - ret &= v <= Version(self.versionTo) + ret &= v <= Version(self.versionTo) + r = Version(release) + if self.release: + ret &= r == Version(self.release) if self.releaseFrom: - ret &= v <= Version(self.releaseFrom) + ret &= r >= Version(self.releaseFrom) if self.releaseTo: - ret &= v <= Version(self.releaseTo) + ret &= r <= Version(self.releaseTo) return ret def dict_satisfies_dep(dict, depinfo):