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

Source Code for Module conary.build.derivedrecipe

  1  # Copyright (c) 2006-2008 rPath, Inc. 
  2  # 
  3  # This program is distributed under the terms of the Common Public License, 
  4  # version 1.0. A copy of this license should have been distributed with this 
  5  # source file in a file called LICENSE. If it is not present, the license 
  6  # is always available at http://www.rpath.com/permanent/licenses/CPL-1.0. 
  7  # 
  8  # This program is distributed in the hope that it will be useful, but 
  9  # without any warranty; without even the implied warranty of merchantability 
 10  # or fitness for a particular purpose. See the Common Public License for 
 11  # full details. 
 12   
 13  from conary import files, trove, versions 
 14  from conary import errors as conaryerrors 
 15  from conary.build import build, source 
 16  from conary.build import errors as builderrors 
 17  from conary.build.packagerecipe import AbstractPackageRecipe 
 18  from conary.lib import log, util 
 19  from conary.repository import changeset, filecontents 
 20   
21 -class DerivedChangesetExploder(changeset.ChangesetExploder):
22
23 - def __init__(self, recipe, cs, destDir):
24 self.byDefault = {} 25 self.troveFlavor = None 26 self.recipe = recipe 27 changeset.ChangesetExploder.__init__(self, cs, destDir)
28
29 - def installingTrove(self, trv):
30 if self.troveFlavor is None: 31 self.troveFlavor = trv.getFlavor().copy() 32 else: 33 assert(self.troveFlavor == trv.getFlavor()) 34 35 name = trv.getName() 36 self.recipe._componentReqs[name] = trv.getRequires().copy() 37 self.recipe._componentProvs[name] = trv.getProvides().copy() 38 39 if trv.isCollection(): 40 # gather up existing byDefault status 41 # from (component, byDefault) tuples 42 self.byDefault.update(dict( 43 [(x[0][0], x[1]) for x in trv.