All pastes #632391 Raw Edit

Mine

public text v1 · immutable
#632391 ·published 2007-07-24 20:37 UTC
rendered paste body
diff -r ffce00fe868e rmake/lib/recipeutil.py
--- a/rmake/lib/recipeutil.py   Tue Jul 24 09:40:20 2007 -0400
+++ b/rmake/lib/recipeutil.py   Tue Jul 24 16:35:20 2007 -0400
@@ -2,6 +2,7 @@
 # Copyright (c) 2006-2007 rPath, Inc.  All Rights Reserved.
 #
 
+import copy
 import itertools
 import os
 import tempfile
@@ -52,7 +53,8 @@ def getRecipes(repos, troveTups):
 
 def loadRecipe(repos, name, version, flavor, recipeFile=None,
                defaultFlavor=None, loadInstalledSource=None,
-               installLabelPath=None, buildLabel=None, groupRecipeSource=None):
+               installLabelPath=None, buildLabel=None, groupRecipeSource=None,
+               cfg=None):
     name = name.split(':')[0]
     try:
         if defaultFlavor is not None:
@@ -68,7 +70,8 @@ def loadRecipe(repos, name, version, fla
                                        loadInstalledSource=loadInstalledSource,
                                        installLabelPath=installLabelPath,
                                        buildLabel=buildLabel, 
-                                       groupRecipeSource=groupRecipeSource)
+                                       groupRecipeSource=groupRecipeSource,
+                                       cfg=cfg)
         relevantFlavor = use.usedFlagsToFlavor(recipeObj.name)
         relevantFlavor = flavorutil.removeInstructionSetFlavor(relevantFlavor)
         # always add in the entire arch flavor.  We need to ensure the
@@ -113,8 +116,11 @@ def getRecipeObj(repos, name, version, f
 def getRecipeObj(repos, name, version, flavor, recipeFile,
                  loadInstalledSource=None, installLabelPath=None, 
                  loadRecipeSpecs=None, buildLabel = None,
-                 groupRecipeSource=None):
-    cfg = conarycfg.ConaryConfiguration(False)
+                 groupRecipeSource=None, cfg=None):
+    if cfg:
+        cfg = copy.deepcopy(cfg)
+    else:
+        cfg = conarycfg.ConaryConfiguration(False)
     cfg.initializeFlavors()
     branch = version.branch()
     if not buildLabel:
@@ -178,8 +184,11 @@ def loadRecipeClass(repos, name, version
 def loadRecipeClass(repos, name, version, flavor, recipeFile=None,
                     ignoreInstalled=True, root=None, 
                     loadInstalledSource=None, overrides=None,
-                    buildLabel=None):
-    cfg = conarycfg.ConaryConfiguration(False)
+                    buildLabel=None, cfg=None):
+    if cfg is None:
+        cfg = conarycfg.ConaryConfiguration(False)
+    else:
+        cfg = copy.deepcopy(cfg)
     cfg.initializeFlavors()
     if root:
         cfg.root = root
@@ -263,7 +272,8 @@ def loadSourceTroves(job, repos, buildFl
                                      buildFlavor,
                                      loadInstalledSource=loadInstalledSource,
                                      installLabelPath=installLabelPath,
-                                     groupRecipeSource=groupRecipeSource)
+                                     groupRecipeSource=groupRecipeSource,
+                                     cfg=job.getTroveConfig(buildTrove))
                 recipeType = buildtrove.getRecipeType(recipeObj)
                 buildTrove.setFlavor(relevantFlavor)
                 buildTrove.setRecipeType(recipeType)
diff -r ffce00fe868e rmake/worker/chroot/cook.py
--- a/rmake/worker/chroot/cook.py       Tue Jul 24 09:40:20 2007 -0400
+++ b/rmake/worker/chroot/cook.py       Tue Jul 24 16:35:20 2007 -0400
@@ -247,7 +247,8 @@ def _cookTrove(cfg, repos, name, version
                                            cfg.buildFlavor,
                                            ignoreInstalled=False, root=cfg.root,
                                            loadInstalledSource=source,
-                                           overrides=loadSpecs)
+                                           overrides=loadSpecs,
+                                           cfg=cfg)
             loaders.append(loader)
             recipeClasses.append(recipeClass)