diff options
author | Petteri Räty <betelgeuse@gentoo.org> | 2008-04-27 23:22:07 +0000 |
---|---|---|
committer | Petteri Räty <betelgeuse@gentoo.org> | 2008-04-27 23:22:07 +0000 |
commit | 24af7e37730a1a5659fa6d6e12ddd6cb06fb717b (patch) | |
tree | 3295a218d8980a18c20fdabda630be3e83b54022 /src | |
parent | Add test for VersionManager.get_vm (diff) | |
download | java-config-24af7e37730a1a5659fa6d6e12ddd6cb06fb717b.tar.gz java-config-24af7e37730a1a5659fa6d6e12ddd6cb06fb717b.tar.bz2 java-config-24af7e37730a1a5659fa6d6e12ddd6cb06fb717b.zip |
Iterate over all matching vms so that >=virtual/jdk-1.5 java-virtuals/jaf works when 1.7 comes out of the jdk part but isn't marked as providing the virtual.
svn path=/projects/java-config-2/trunk/; revision=6224
Diffstat (limited to 'src')
-rw-r--r-- | src/java_config_2/VersionManager.py | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/java_config_2/VersionManager.py b/src/java_config_2/VersionManager.py index 9ddac0e..293f45a 100644 --- a/src/java_config_2/VersionManager.py +++ b/src/java_config_2/VersionManager.py @@ -156,8 +156,7 @@ class VersionManager: for pref in prefs: if pref[0] == low or pref[0] == "*": # We have a configured preference for this version for vmProviderString in pref[1]: # Loop over the prefered once, and check if they are valid - gvm = self.find_vm(vmProviderString, atom) - if gvm: + for gvm in self.find_vm(vmProviderString, atom): if need_virtual: # Package we are finding a vm for needs a virtual if gvm.provides(need_virtual): # we provide the virtual ourself good! # Old way of doing, we no longer bother with PROVIDES @@ -168,12 +167,11 @@ class VersionManager: return gvm else: return gvm # use it! - + # no match in preferences, find anything we have # Support for virtuals too here for atom in matched_atoms: - gvm = self.find_vm("", atom) - if gvm: + for gvm in self.find_vm("", atom): if need_virtual: # Package we are finding a vm for needs a virtual if gvm.provides(need_virtual): # we provide the virtual ourself good! return gvm @@ -194,9 +192,7 @@ class VersionManager: for vm in vm_list: if vm.is_type(atom['type']): if self.matches(vm.version(), atom['version'], atom['equality']): - return vm - return None - + yield vm def version_cmp(self, version1, version2): #Parly stolen from portage.py |