From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=195.135.221.5; helo=smtp.nue.novell.com; envelope-from=glin@suse.com; receiver=edk2-devel@lists.01.org Received: from smtp.nue.novell.com (smtp.nue.novell.com [195.135.221.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id AD9EE203B99D2 for ; Mon, 9 Jul 2018 20:31:24 -0700 (PDT) Received: from localhost.localdomain (unknown.telstraglobal.net [134.159.103.118]) by smtp.nue.novell.com with ESMTP (NOT encrypted); Tue, 10 Jul 2018 05:31:20 +0200 From: Gary Lin To: edk2-devel@lists.01.org Cc: Yonghong Zhu , Liming Gao Date: Tue, 10 Jul 2018 11:30:53 +0800 Message-Id: <20180710033107.32359-1-glin@suse.com> X-Mailer: git-send-email 2.18.0 Subject: [PATCH 00/14] BaseTools: Adopt absolute import X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jul 2018 03:31:27 -0000 This patch series is based on "libfuturize.fixes.fix_absolute_import" to adopt abolute import since relative import is not allowed in python3. The command is applied to BaseTools modules individually. Most of the patches are straightforward except the GenFds patches. It's because there are several circular imports in GenFds and circular import is not compatible with absolute import. To make the patches bisectable, I delay the import of some modules in the first GenFds patch and refactor the code in the follow-up patches to remove circular import completely. The patch set is also available in my github branch: https://github.com/lcp/edk2/tree/python3-absolute-import Contributed-under: TianoCore Contribution Agreement 1.1 Cc: Yonghong Zhu Cc: Liming Gao Signed-off-by: Gary Lin Gary Lin (14): BaseTools: Treat GenFds.py as a python module BaseTools: Use absolute import in GenFds BaseTools: Move OverrideAttribs to OptRomInfStatement.py BaseTools: Move FindExtendTool to GenFdsGlobalVariable.py BaseTools: Move ImageBinDict to GenFdsGlobalVariable.py BaseTools: Use absolute import in AutoGen BaseTools: Use absolute import in BPDG BaseTools: Use absolute import in Common BaseTools: Use absolute import in ECC BaseTools: Use absolute import in Eot BaseTools: Use absolute import in Table BaseTools: Use absolute import in UPT BaseTools: Use absolute import in Workspace BaseTools: Use absolute import in Scripts BaseTools/BinWrappers/PosixLike/GenFds | 2 +- BaseTools/BinWrappers/WindowsLike/GenFds.bat | 3 +- .../plugins/EdkPlugins/basemodel/doxygen.py | 3 +- .../plugins/EdkPlugins/basemodel/ini.py | 3 +- BaseTools/Source/Python/AutoGen/AutoGen.py | 17 +-- BaseTools/Source/Python/AutoGen/GenC.py | 7 +- BaseTools/Source/Python/AutoGen/GenMake.py | 3 +- BaseTools/Source/Python/AutoGen/GenPcdDb.py | 7 +- .../Source/Python/AutoGen/IdfClassObject.py | 3 +- BaseTools/Source/Python/AutoGen/StrGather.py | 3 +- BaseTools/Source/Python/BPDG/BPDG.py | 5 +- BaseTools/Source/Python/BPDG/GenVpd.py | 3 +- BaseTools/Source/Python/Common/Database.py | 8 +- BaseTools/Source/Python/Common/EdkLogger.py | 3 +- BaseTools/Source/Python/Common/Expression.py | 3 +- .../Source/Python/Common/LongFilePathOs.py | 3 +- BaseTools/Source/Python/Common/Misc.py | 9 +- BaseTools/Source/Python/Common/Parsing.py | 5 +- BaseTools/Source/Python/Common/StringUtils.py | 9 +- .../Python/Common/TargetTxtClassObject.py | 9 +- .../Python/Common/ToolDefClassObject.py | 9 +- BaseTools/Source/Python/Ecc/CParser.py | 5 +- BaseTools/Source/Python/Ecc/Check.py | 9 +- .../Python/Ecc/CodeFragmentCollector.py | 13 ++- BaseTools/Source/Python/Ecc/Database.py | 7 +- BaseTools/Source/Python/Ecc/Ecc.py | 25 +++-- BaseTools/Source/Python/Ecc/Exception.py | 3 +- BaseTools/Source/Python/Ecc/FileProfile.py | 5 +- BaseTools/Source/Python/Ecc/MetaDataParser.py | 5 +- .../Ecc/MetaFileWorkspace/MetaFileParser.py | 3 +- .../Ecc/MetaFileWorkspace/MetaFileTable.py | 5 +- BaseTools/Source/Python/Ecc/c.py | 13 ++- BaseTools/Source/Python/Eot/CParser.py | 5 +- .../Python/Eot/CodeFragmentCollector.py | 11 +- BaseTools/Source/Python/Eot/Eot.py | 21 ++-- BaseTools/Source/Python/Eot/FileProfile.py | 3 +- BaseTools/Source/Python/Eot/InfParserLite.py | 5 +- BaseTools/Source/Python/Eot/Parser.py | 3 +- BaseTools/Source/Python/Eot/Report.py | 3 +- BaseTools/Source/Python/Eot/c.py | 9 +- .../Source/Python/GenFds/AprioriSection.py | 5 +- BaseTools/Source/Python/GenFds/Capsule.py | 12 +- BaseTools/Source/Python/GenFds/CapsuleData.py | 5 +- .../Source/Python/GenFds/CompressSection.py | 7 +- BaseTools/Source/Python/GenFds/DataSection.py | 7 +- .../Source/Python/GenFds/DepexSection.py | 7 +- BaseTools/Source/Python/GenFds/EfiSection.py | 7 +- BaseTools/Source/Python/GenFds/Fd.py | 22 ++-- BaseTools/Source/Python/GenFds/FdfParser.py | 57 +++++----- .../Source/Python/GenFds/FfsFileStatement.py | 11 +- .../Source/Python/GenFds/FfsInfStatement.py | 19 ++-- BaseTools/Source/Python/GenFds/Fv.py | 20 ++-- .../Source/Python/GenFds/FvImageSection.py | 7 +- BaseTools/Source/Python/GenFds/GenFds.py | 105 +----------------- .../Python/GenFds/GenFdsGlobalVariable.py | 97 +++++++++++++++- BaseTools/Source/Python/GenFds/GuidSection.py | 11 +- .../Python/GenFds/OptRomFileStatement.py | 3 +- .../Python/GenFds/OptRomInfStatement.py | 27 +++-- BaseTools/Source/Python/GenFds/OptionRom.py | 6 +- BaseTools/Source/Python/GenFds/Region.py | 3 +- .../Source/Python/GenFds/RuleComplexFile.py | 3 +- .../Source/Python/GenFds/RuleSimpleFile.py | 3 +- BaseTools/Source/Python/GenFds/Section.py | 3 +- BaseTools/Source/Python/GenFds/UiSection.py | 7 +- BaseTools/Source/Python/GenFds/VerSection.py | 7 +- BaseTools/Source/Python/GenFds/Vtf.py | 3 +- .../Source/Python/Table/TableDataModel.py | 3 +- BaseTools/Source/Python/Table/TableDec.py | 3 +- BaseTools/Source/Python/Table/TableDsc.py | 3 +- .../Source/Python/Table/TableEotReport.py | 3 +- BaseTools/Source/Python/Table/TableFdf.py | 3 +- BaseTools/Source/Python/Table/TableFile.py | 3 +- .../Source/Python/Table/TableFunction.py | 3 +- .../Source/Python/Table/TableIdentifier.py | 3 +- BaseTools/Source/Python/Table/TableInf.py | 3 +- BaseTools/Source/Python/Table/TablePcd.py | 3 +- BaseTools/Source/Python/Table/TableQuery.py | 3 +- BaseTools/Source/Python/Table/TableReport.py | 3 +- .../Source/Python/UPT/Library/Parsing.py | 3 +- .../Source/Python/Workspace/DscBuildData.py | 9 +- .../Source/Python/Workspace/InfBuildData.py | 3 +- .../Source/Python/Workspace/MetaFileParser.py | 5 +- .../Source/Python/Workspace/MetaFileTable.py | 5 +- .../Python/Workspace/WorkspaceCommon.py | 3 +- .../Python/Workspace/WorkspaceDatabase.py | 7 +- 85 files changed, 446 insertions(+), 359 deletions(-) -- 2.18.0