summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornecoro <>2006-11-08 21:16:33 +0000
committernecoro <>2006-11-08 21:16:33 +0000
commite6080239db72c7d04b1fe81aa666b2eb379028a1 (patch)
tree61702263cb4e9246e7de8f7ece4b41ba269fde71
parentebfb4b88ae3bc313ff63ab861f4bd340eab1c685 (diff)
downloadportato-e6080239db72c7d04b1fe81aa666b2eb379028a1.tar.gz
portato-e6080239db72c7d04b1fe81aa666b2eb379028a1.tar.bz2
portato-e6080239db72c7d04b1fe81aa666b2eb379028a1.zip
fixed small bug if a package is blocking itself
-rw-r--r--geneticone/backend/package.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/geneticone/backend/package.py b/geneticone/backend/package.py
index d628a56..212dffa 100644
--- a/geneticone/backend/package.py
+++ b/geneticone/backend/package.py
@@ -274,11 +274,12 @@ class Package (gentoolkit.Package):
for dep in deps:
if dep[0] == '!': # blocking sth
- blocked = find_installed_packages(dep[1:])
- if blocked != []:
- raise BlockedException, (self.get_cpv(), blocked[0].get_cpv())
- else: # next flag
- continue
+ dep = dep[1:]
+ if dep != self.get_cp(): # not cpv, because a version might explicitly block another one
+ blocked = find_installed_packages(dep)
+ if blocked != []:
+ raise BlockedException, (self.get_cpv(), blocked[0].get_cpv())
+ continue # finished with the blocking one -> next
pkg = find_best_match(dep)
if not pkg: # try to find masked ones