diff -r f70b728ea30c -r a1925fb7753a sbsv2/raptor/python/raptor_xml.py --- a/sbsv2/raptor/python/raptor_xml.py Wed Jul 28 13:20:46 2010 +0100 +++ b/sbsv2/raptor/python/raptor_xml.py Thu Aug 12 09:00:16 2010 +0100 @@ -336,10 +336,10 @@ aContainers[parent.tagName] = name self.__GetElementContainers(parent, aContainers) - + def __ProcessSystemModelMetaElement(self, aElement): # stub method - may deal with metadata elements at some point in the future - return + return def __ProcessSystemModelElement(self, aElement): """Search for XML elements with 'bldFile' attributes and resolve concrete bld.inf locations @@ -353,7 +353,7 @@ # The effective "layer" is the item whose parent does not have an id (or name in 2.x and earlier) if not aElement.parentNode.hasAttribute(self.__IdAttribute) : currentLayer = aElement.getAttribute(self.__IdAttribute) - + if not self.__LayerDetails.has_key(currentLayer): self.__LayerDetails[currentLayer] = [] @@ -389,8 +389,12 @@ if not group.isAbsolute() and bldInfRoot: group = generic_path.Join(bldInfRoot, group) else: - # all paths are changed by root var in 3.x - if bldInfRoot: + # relative paths for v3 + if not group.isAbsolute(): + group = generic_path.Join(generic_path.Join(self.__SystemDefinitionFile).Dir(),group) + # absolute paths for v3 + # are relative to bldInfRoot if set, or relative to the drive root otherwise + elif bldInfRoot: group = generic_path.Join(bldInfRoot, group) bldinf = generic_path.Join(group, "bld.inf").FindCaseless()