diff -r 000000000000 -r 044383f39525 sbsv2/raptor/bin/oby2linux.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/bin/oby2linux.py Tue Oct 27 16:36:35 2009 +0000 @@ -0,0 +1,73 @@ +# +# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of the License "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# oby2linux +# + +""" + Convert an OBY file into a form that rombuild on Linux can use. + This involves converting paths etc. In addition it finds those target + files whose case may not match what exists on the filesystem + (a build must have been completed). + + It also fills in those items that weren't built from a directory + containing a prebuild epoc32 dir. +""" + + +import sys +import os +import re + +sys.path.append(os.environ['SBS_HOME']+'/python') +import generic_path + +epocroot = os.environ['EPOCROOT'] + +try: + romfillin_epocroot = os.environ['ROMFILLIN_EPOCROOT'] +except: + sys.stderr.write("Please set ROMFILLIN_EPOCROOT to a path with an epoc32 directory\n") + sys.exit(1) + +if not os.path.isdir(romfillin_epocroot+'/epoc32'): + sys.stderr.write("Please set ROMFILLIN_EPOCROOT to a path with an epoc32 directory\n") + sys.exit(1) + +filestatement_re=re.compile("^(?P
((((primary)|(secondary)|(extension)|(device)|(variant))(\[0x[0-9a-zA-Z]+\])?=)|((file)|(data)|(bootbinary))=))(?P\S+)(?P.*)$")
+
+for line in sys.stdin.xreadlines():
+	line = line.rstrip()
+	m = filestatement_re.search(line)
+	if m is not None:
+		fname =  m.groupdict()['filename'].replace('\\','/').strip('"')
+		filename = generic_path.Path(epocroot + fname)
+		filefound = filename.FindCaseless()
+		if filefound is not None:
+			print m.groupdict()['pre'] + str(filefound) + m.groupdict()['tail']
+			#print filefound
+		else:
+			fillinname = generic_path.Path(romfillin_epocroot+fname)
+			filefound =  fillinname.FindCaseless()
+			if filefound is not None:
+				sys.stderr.write("filledinmissing: %s\n" % str(filefound))
+				print m.groupdict()['pre'] + str(filefound) + m.groupdict()['tail']
+				#print filefound
+			else:
+				sys.stderr.write("filenotfound: %s\n" % str(filename))
+	else:
+		print line
+
+	
+