Ejemplo n.º 1
0
 def _test(flavor, filterList, result):
     if not isinstance(filterList, (list, tuple)):
         filterList = [filterList]
     filterList = [ parseFlavor(x, raiseError=True) for x in filterList]
     flavor = parseFlavor(flavor, raiseError=True)
     filteredFlavor = filterFlavor(flavor, filterList)
     self.assertEquals(str(filteredFlavor), result)
Ejemplo n.º 2
0
 def getNodeForFlavors(self, flavors, requiresChroot=False):
     nodes = []
     for node in self.getOpenNodes(requiresChroot=requiresChroot):
         if not flavors:
             nodes.append(node)
             continue
         for flavor in flavors:
             found = False
             archFlavor = flavorutil.getArchFlags(flavor, getTarget=False,
                                                  withFlags=False)
             for buildFlavor in node.buildFlavors:
                 filteredFlavor = deps.filterFlavor(flavor, [buildFlavor,
                                                             archFlavor])
                 if buildFlavor.stronglySatisfies(filteredFlavor):
                     found = True
                     break
             if not found:
                 break
         if found:
             nodes.append(node)
     if not nodes:
         return None
     return self.rankNodes(nodes)[0]
Ejemplo n.º 3
0
 def getNodeForFlavors(self, flavors, requiresChroot=False):
     nodes = []
     for node in self.getOpenNodes(requiresChroot=requiresChroot):
         if not flavors:
             nodes.append(node)
             continue
         for flavor in flavors:
             found = False
             archFlavor = flavorutil.getArchFlags(flavor,
                                                  getTarget=False,
                                                  withFlags=False)
             for buildFlavor in node.buildFlavors:
                 filteredFlavor = deps.filterFlavor(
                     flavor, [buildFlavor, archFlavor])
                 if buildFlavor.stronglySatisfies(filteredFlavor):
                     found = True
                     break
             if not found:
                 break
         if found:
             nodes.append(node)
     if not nodes:
         return None
     return self.rankNodes(nodes)[0]