Package conary :: Package build :: Module loadrecipe
[hide private]
[frames] | no frames]

Module loadrecipe

source code

Classes [hide private]
  SubloadData
  Importer
  RecipeLoaderFromString
  RecipeLoader
  RecipeLoaderFromSourceTrove
  RecipeLoaderFromRepository
  RecipeLoaderFromSourceDirectory
Functions [hide private]
 
_scoreLoadRecipeChoice(labelPath, version) source code
 
getBestLoadRecipeChoices(labelPath, troveTups)
These labels all match the given labelPath.
source code
 
recipeLoaderFromSourceComponent(name, cfg, repos, versionStr=None, labelPath=None, ignoreInstalled=False, filterVersions=False, parentDir=None, defaultToLatest=False, buildFlavor=None, db=None, overrides=None) source code
 
_pickLatest(component, troves, labelPath=None) source code
 
ChainedRecipeLoader(troveSpec, label, findInstalled, cfg, repos, branch, parentPackageName, parentDir, buildFlavor, alwaysIgnoreInstalled, overrides, db) source code
Function Details [hide private]

getBestLoadRecipeChoices(labelPath, troveTups)

source code 

These labels all match the given labelPath. We score them based on the number of matching labels in the label path, and return the one that's "best".

The following rules should apply:
  • If the labelPath is [bar, foo] and you are choosing between /foo/bar/ and /foo/blah/bar, choose /foo/bar. Assumption is that any other shadow/branch in the path may be from a maintenance branch.
  • If the labelPath is [bar] and you are choosing between /foo/bar/ and /foo/blah/bar, choose /foo/bar.
  • If two troves are on the same branch, prefer the later trove.