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 <yonghong....@intel.com> Cc: Liming Gao <liming....@intel.com> Signed-off-by: Gary Lin <g...@suse.com> 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 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel