def genOrder(self): """Order rpms in orderer.RpmRelations relations. Return an ordered list of RpmPackage's on success, None on error.""" length = len(self) order = [] connected_components = ConnectedComponentsDetector(self).detect(self) if connected_components: if log.isDebugLoggingHere(log.DEBUG1): # debug output the components log.debug1("-- STRONGLY CONNECTED COMPONENTS --") for i in xrange(len(connected_components)): s = ", ".join([ pkg.getNEVRA() for pkg in connected_components[i].pkgs ]) log.debug1(" %d: %s", i, s) # weights = self.calculateWeights() # weight_keys = weights.keys() # weight_keys.sort() # weight_keys.reverse() # for key in weight_keys: # if key == -1: continue # for pkg in weights[key]: # log.debug2("%s %s", key, pkg.getNEVRA()) # self.collect(pkg, order) self.processLeafNodes(order) if len(order) != length: log.error( "%d Packages of %d in order list! Number of connected " "components: %d ", len(order), length, len(connected_components)) return order
def genOrder(self): """Order rpms in orderer.RpmRelations relations. Return an ordered list of RpmPackage's on success, None on error.""" length = len(self) order = [ ] connected_components = ConnectedComponentsDetector(self).detect(self) if connected_components: if log.isDebugLoggingHere(log.DEBUG1): # debug output the components log.debug1("-- STRONGLY CONNECTED COMPONENTS --") for i in xrange(len(connected_components)): s = ", ".join([pkg.getNEVRA() for pkg in connected_components[i].pkgs]) log.debug1(" %d: %s", i, s) # weights = self.calculateWeights() # weight_keys = weights.keys() # weight_keys.sort() # weight_keys.reverse() # for key in weight_keys: # if key == -1: continue # for pkg in weights[key]: # log.debug2("%s %s", key, pkg.getNEVRA()) # self.collect(pkg, order) self.processLeafNodes(order) if len(order) != length: log.error("%d Packages of %d in order list! Number of connected " "components: %d ", len(order), length, len(connected_components)) return order
def printRel(self): """Print relations.""" if not log.isDebugLoggingHere(log.DEBUG4): return log.debug4("\t==== relations (%d) " "==== #pre-relations #post-relations " "package pre-relation-packages, '*' marks prereq's", len(self)) for pkg in self: rel = self[pkg] pre = "" if len(rel.pre) > 0: pre = ": " for p in rel.pre: if len(pre) > 2: pre += ", " if rel.pre[p]: pre += "*" # prereq pre += p.getNEVRA() log.debug4("\t%d %d %s%s", len(rel.pre), len(rel.post), pkg.getNEVRA(), pre) log.debug4("\t==== relations ====")
def printRel(self): """Print relations.""" if not log.isDebugLoggingHere(log.DEBUG4): return log.debug4( "\t==== relations (%d) " "==== #pre-relations #post-relations " "package pre-relation-packages, '*' marks prereq's", len(self)) for pkg in self: rel = self[pkg] pre = "" if len(rel.pre) > 0: pre = ": " for p in rel.pre: if len(pre) > 2: pre += ", " if rel.pre[p]: pre += "*" # prereq pre += p.getNEVRA() log.debug4("\t%d %d %s%s", len(rel.pre), len(rel.post), pkg.getNEVRA(), pre) log.debug4("\t==== relations ====")