From cf2b2bdef3d6b5c64b5aa528bb255db81c13d965 Mon Sep 17 00:00:00 2001 From: Hess Chen Date: Wed, 3 Sep 2014 08:25:10 +0000 Subject: [PATCH] BaseTools/UPT: Replace os.linesep with '\r\n' when generating UNI files. Replace os.linesep with '\r\n' when generating UNI files to make sure all files are under DOS format. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen Reviewed-by: Gao, Liming git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16041 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Python/UPT/GenMetaFile/GenDecFile.py | 21 ++++----- .../Python/UPT/GenMetaFile/GenInfFile.py | 12 ++--- .../Python/UPT/Library/CommentGenerating.py | 44 +++++++++---------- .../Python/UPT/Library/UniClassObject.py | 20 ++++----- 4 files changed, 47 insertions(+), 50 deletions(-) diff --git a/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py b/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py index d886958f97..80b32ae5e7 100644 --- a/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py +++ b/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py @@ -582,20 +582,17 @@ def GenPackageUNIEncodeFile(PackageObject, UniFileHeader = '', Encoding=TAB_ENCO ContainerFile = os.path.normpath(os.path.join(os.path.dirname(PackageObject.GetFullPath()), (PackageObject.GetBaseName() + '.uni'))) - Content = UniFileHeader + os.linesep - Content += os.linesep + Content = UniFileHeader + '\r\n' + Content += '\r\n' - Content += FormatUniEntry('#string ' + TAB_DEC_PACKAGE_ABSTRACT, PackageObject.GetAbstract(), ContainerFile) \ - + os.linesep + Content += FormatUniEntry('#string ' + TAB_DEC_PACKAGE_ABSTRACT, PackageObject.GetAbstract(), ContainerFile) + '\r\n' Content += FormatUniEntry('#string ' + TAB_DEC_PACKAGE_DESCRIPTION, PackageObject.GetDescription(), ContainerFile) \ - + os.linesep + + '\r\n' - Content += FormatUniEntry('#string ' + TAB_DEC_BINARY_ABSTRACT, BinaryAbstract, ContainerFile) \ - + os.linesep + Content += FormatUniEntry('#string ' + TAB_DEC_BINARY_ABSTRACT, BinaryAbstract, ContainerFile) + '\r\n' - Content += FormatUniEntry('#string ' + TAB_DEC_BINARY_DESCRIPTION, BinaryDescription, ContainerFile) \ - + os.linesep + Content += FormatUniEntry('#string ' + TAB_DEC_BINARY_DESCRIPTION, BinaryDescription, ContainerFile) + '\r\n' PromptGenList = [] HelpTextGenList = [] @@ -612,7 +609,7 @@ def GenPackageUNIEncodeFile(PackageObject, UniFileHeader = '', Encoding=TAB_ENCO if (PcdPromptStrName, Lang) not in PromptGenList: TokenValueList.append((Lang, PromptStr)) PromptGenList.append((PcdPromptStrName, Lang)) - PromptString = FormatUniEntry(PcdPromptStrName, TokenValueList, ContainerFile) + os.linesep + PromptString = FormatUniEntry(PcdPromptStrName, TokenValueList, ContainerFile) + '\r\n' if PromptString not in Content: Content += PromptString @@ -628,7 +625,7 @@ def GenPackageUNIEncodeFile(PackageObject, UniFileHeader = '', Encoding=TAB_ENCO if (PcdHelpStrName, Lang) not in HelpTextGenList: TokenValueList.append((Lang, HelpStr)) HelpTextGenList.append((PcdHelpStrName, Lang)) - HelpTextString = FormatUniEntry(PcdHelpStrName, TokenValueList, ContainerFile) + os.linesep + HelpTextString = FormatUniEntry(PcdHelpStrName, TokenValueList, ContainerFile) + '\r\n' if HelpTextString not in Content: Content += HelpTextString @@ -639,7 +636,7 @@ def GenPackageUNIEncodeFile(PackageObject, UniFileHeader = '', Encoding=TAB_ENCO PcdErrStrName = '#string ' + TAB_STR_TOKENCNAME + TAB_UNDERLINE_SPLIT + Pcd.GetTokenSpaceGuidCName() \ + TAB_UNDERLINE_SPLIT + TAB_STR_TOKENERR \ + TAB_UNDERLINE_SPLIT + ErrorNo[2:] - PcdErrString = FormatUniEntry(PcdErrStrName, PcdError.GetErrorMessageList(), ContainerFile) + os.linesep + PcdErrString = FormatUniEntry(PcdErrStrName, PcdError.GetErrorMessageList(), ContainerFile) + '\r\n' if PcdErrString not in Content: Content += PcdErrString diff --git a/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py b/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py index 0daa96af25..2a11204f7d 100644 --- a/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py +++ b/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py @@ -230,22 +230,22 @@ def GenModuleUNIEncodeFile(ModuleObject, UniFileHeader='', Encoding=DT.TAB_ENCOD if not os.path.exists(os.path.dirname(ModuleObject.GetFullPath())): os.makedirs(os.path.dirname(ModuleObject.GetFullPath())) - Content = UniFileHeader + os.linesep - Content += DT.END_OF_LINE + Content = UniFileHeader + '\r\n' + Content += '\r\n' - Content += FormatUniEntry('#string ' + DT.TAB_INF_ABSTRACT, ModuleObject.GetAbstract(), ContainerFile) + os.linesep + Content += FormatUniEntry('#string ' + DT.TAB_INF_ABSTRACT, ModuleObject.GetAbstract(), ContainerFile) + '\r\n' Content += FormatUniEntry('#string ' + DT.TAB_INF_DESCRIPTION, ModuleObject.GetDescription(), ContainerFile) \ - + os.linesep + + '\r\n' BinaryAbstractString = FormatUniEntry('#string ' + DT.TAB_INF_BINARY_ABSTRACT, BinaryAbstract, ContainerFile) if BinaryAbstractString: - Content += BinaryAbstractString + os.linesep + Content += BinaryAbstractString + '\r\n' BinaryDescriptionString = FormatUniEntry('#string ' + DT.TAB_INF_BINARY_DESCRIPTION, BinaryDescription, \ ContainerFile) if BinaryDescriptionString: - Content += BinaryDescriptionString + os.linesep + Content += BinaryDescriptionString + '\r\n' if not os.path.exists(ContainerFile): File = codecs.open(ContainerFile, 'wb', Encoding) diff --git a/BaseTools/Source/Python/UPT/Library/CommentGenerating.py b/BaseTools/Source/Python/UPT/Library/CommentGenerating.py index 1cf919a96b..9c6e3aad9f 100644 --- a/BaseTools/Source/Python/UPT/Library/CommentGenerating.py +++ b/BaseTools/Source/Python/UPT/Library/CommentGenerating.py @@ -129,45 +129,45 @@ def GenHeaderCommentSection(Abstract, Description, Copyright, License, IsBinaryH if isinstance(Description, unicode): Description = ConvertSpecialUnicodes(Description) if IsBinaryHeader: - Content += CommChar * 2 + TAB_SPACE_SPLIT + TAB_BINARY_HEADER_COMMENT + END_OF_LINE + Content += CommChar * 2 + TAB_SPACE_SPLIT + TAB_BINARY_HEADER_COMMENT + '\r\n' elif CommChar == TAB_COMMENT_EDK1_SPLIT: Content += CommChar + TAB_SPACE_SPLIT + TAB_COMMENT_EDK1_START + TAB_STAR + TAB_SPACE_SPLIT +\ - TAB_HEADER_COMMENT + END_OF_LINE + TAB_HEADER_COMMENT + '\r\n' else: - Content += CommChar * 2 + TAB_SPACE_SPLIT + TAB_HEADER_COMMENT + END_OF_LINE + Content += CommChar * 2 + TAB_SPACE_SPLIT + TAB_HEADER_COMMENT + '\r\n' if Abstract: - Abstract = Abstract.rstrip(END_OF_LINE) - Content += CommChar + TAB_SPACE_SPLIT + (END_OF_LINE + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\ - (Abstract, END_OF_LINE)) - Content += END_OF_LINE + CommChar + END_OF_LINE + Abstract = Abstract.rstrip('\r\n') + Content += CommChar + TAB_SPACE_SPLIT + ('\r\n' + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\ + (Abstract, '\n')) + Content += '\r\n' + CommChar + '\r\n' else: - Content += CommChar + END_OF_LINE + Content += CommChar + '\r\n' if Description: - Description = Description.rstrip(END_OF_LINE) - Content += CommChar + TAB_SPACE_SPLIT + (END_OF_LINE + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\ - (Description, END_OF_LINE)) - Content += END_OF_LINE + CommChar + END_OF_LINE + Description = Description.rstrip('\r\n') + Content += CommChar + TAB_SPACE_SPLIT + ('\r\n' + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\ + (Description, '\n')) + Content += '\r\n' + CommChar + '\r\n' # # There is no '#\n' line to separate multiple copyright lines in code base # if Copyright: - Copyright = Copyright.rstrip(END_OF_LINE) - Content += CommChar + TAB_SPACE_SPLIT + (END_OF_LINE + CommChar + TAB_SPACE_SPLIT).join\ - (GetSplitValueList(Copyright, END_OF_LINE)) - Content += END_OF_LINE + CommChar + END_OF_LINE + Copyright = Copyright.rstrip('\r\n') + Content += CommChar + TAB_SPACE_SPLIT + ('\r\n' + CommChar + TAB_SPACE_SPLIT).join\ + (GetSplitValueList(Copyright, '\n')) + Content += '\r\n' + CommChar + '\r\n' if License: - License = License.rstrip(END_OF_LINE) - Content += CommChar + TAB_SPACE_SPLIT + (END_OF_LINE + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\ - (License, END_OF_LINE)) - Content += END_OF_LINE + CommChar + END_OF_LINE + License = License.rstrip('\r\n') + Content += CommChar + TAB_SPACE_SPLIT + ('\r\n' + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\ + (License, '\n')) + Content += '\r\n' + CommChar + '\r\n' if CommChar == TAB_COMMENT_EDK1_SPLIT: - Content += CommChar + TAB_SPACE_SPLIT + TAB_STAR + TAB_COMMENT_EDK1_END + END_OF_LINE + Content += CommChar + TAB_SPACE_SPLIT + TAB_STAR + TAB_COMMENT_EDK1_END + '\r\n' else: - Content += CommChar * 2 + END_OF_LINE + Content += CommChar * 2 + '\r\n' return Content diff --git a/BaseTools/Source/Python/UPT/Library/UniClassObject.py b/BaseTools/Source/Python/UPT/Library/UniClassObject.py index d542dc5dc8..563b82c688 100644 --- a/BaseTools/Source/Python/UPT/Library/UniClassObject.py +++ b/BaseTools/Source/Python/UPT/Library/UniClassObject.py @@ -245,9 +245,9 @@ def FormatUniEntry(StrTokenName, TokenValueList, ContainerFile): for SubValue in ValueList: if SubValue.strip(): SubValueContent += \ - ' ' * (PreFormatLength + len('#language en-US ')) + '\"%s\\n\"' % SubValue.strip() + os.linesep - SubValueContent = SubValueContent[(PreFormatLength + len('#language en-US ')):SubValueContent.rfind('\\n')] \ - + '\"' + os.linesep + ' ' * (PreFormatLength + len('#language en-US ')) + '\"%s\\n\"' % SubValue.strip() + '\r\n' + SubValueContent = SubValueContent[(PreFormatLength + len('#language en-US ')):SubValueContent.rfind('\\n')] \ + + '\"' + '\r\n' SubContent += ' '*PreFormatLength + '#language %-5s ' % Lang + SubValueContent if SubContent: SubContent = StrTokenName + ' '*(PreFormatLength - len(StrTokenName)) + SubContent[PreFormatLength:] @@ -289,7 +289,7 @@ class StringDefClassObject(object): def UpdateValue(self, Value = None): if Value != None: if self.StringValue: - self.StringValue = self.StringValue + os.linesep + Value + self.StringValue = self.StringValue + '\r\n' + Value else: self.StringValue = Value self.StringValueByteList = UniToHexList(self.StringValue) @@ -452,7 +452,7 @@ class UniFileClassObject(object): if not Line.startswith(DT.TAB_COMMENT_EDK1_SPLIT) and HeaderStart and not HeaderEnd: HeaderEnd = True if Line.startswith(DT.TAB_COMMENT_EDK1_SPLIT) and HeaderStart and not HeaderEnd and FirstGenHeader: - self.UniFileHeader += Line + os.linesep + self.UniFileHeader += Line + '\r\n' continue # @@ -498,11 +498,11 @@ class UniFileClassObject(object): if FileIn[LineCount].strip().startswith('#language'): Line = Line + FileIn[LineCount] FileIn[LineCount-1] = Line - FileIn[LineCount] = os.linesep + FileIn[LineCount] = '\r\n' LineCount -= 1 for Index in xrange (LineCount + 1, len (FileIn) - 1): if (Index == len(FileIn) -1): - FileIn[Index] = os.linesep + FileIn[Index] = '\r\n' else: FileIn[Index] = FileIn[Index + 1] continue @@ -858,12 +858,12 @@ class UniFileClassObject(object): Value = Value + Lines[IndexJ].strip()[1:-1] CombineToken = False else: - Value = Value + Lines[IndexJ].strip()[1:-1] + os.linesep + Value = Value + Lines[IndexJ].strip()[1:-1] + '\r\n' else: IndexI = IndexJ break - if Value.endswith(os.linesep): - Value = Value[: Value.rfind(os.linesep)] + if Value.endswith('\r\n'): + Value = Value[: Value.rfind('\r\n')] Language = GetLanguageCode(Language, self.IsCompatibleMode, self.File) self.AddStringToList(Name, Language, Value) continue -- 2.39.2