edk2/BaseTools/Source/Python
Mike Maslenkin 183f7faabc BaseTools: sync BaseTools from main trunk r18579.
This patch fixes incomplete merge of multiple workspaces support.
Without this patch build fails with error similar to:

~/sources/edk2> build -p MdePkg/MdePkg.dsc -t GCC48 -a X64

Build environment: Linux-3.16.7-24-desktop-x86_64-with-SuSE-13.2-x86_64
Build start time: 17:15:43, Dec.02 2015

WORKSPACE        = /home/user/sources/edk2
ECP_SOURCE       = /home/user/sources/edk2/EdkCompatibilityPkg
EDK_SOURCE       = /home/user/sources/edk2/EdkCompatibilityPkg
EFI_SOURCE       = /home/user/sources/edk2/EdkCompatibilityPkg
EDK_TOOLS_PATH   = /home/user/sources/edk2/BaseTools

build.py...
 : error C0DE: Unknown fatal error when processing [/home/user/sources/edk2/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf]

(Please send email to edk2-devel@lists.sourceforge.net for help, attaching following call stack trace!)

(Python 2.7.8 on linux2) Traceback (most recent call last):
  File "/home/user/sources/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2033, in Main
    MyBuild.Launch()
  File "/home/user/sources/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 1788, in Launch
    self._MultiThreadBuildPlatform()
  File "/home/user/sources/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 1583, in _MultiThreadBuildPlatform
    self.Progress
  File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 175, in __new__
    if not AutoGenObject._Init(Workspace, MetaFile, Target, Toolchain, Arch, *args, **kwargs):
  File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 355, in _Init
    Pkgs = list(PkgSet) + list(PGen.PackageList)
  File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1484, in _GetPackageList
    for La in self.LibraryAutoGenList:
  File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1594, in _GetLibraryAutoGenList
    self._GetAutoGenObjectList()
  File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1575, in _GetAutoGenObjectList
    self.MetaFile
  File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 175, in __new__
    if not AutoGenObject._Init(Workspace, MetaFile, Target, Toolchain, Arch, *args, **kwargs):
  File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 2199, in _Init
    self.SourceDir = mws.relpath(self.SourceDir, self.WorkspaceDir)
  File "/home/user/sources/edk2/BaseTools/Source/Python/Common/MultipleWorkspace.py", line 94, in relpath
    for Pkg in cls.PACKAGES_PATH:
TypeError: 'NoneType' object is not iterable

- Failed -
Build end time: 17:15:44, Dec.02 2015
Build total time: 00:00:01

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19102 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-03 03:27:13 +00:00
..
AutoGen BaseTools: Add build error detection for Dynamic PCD name conflict 2015-12-01 02:32:33 +00:00
BPDG There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
build BaseTools: sync BaseTools from main trunk r18579. 2015-12-03 03:27:13 +00:00
Common Sync two missing files when sync BaseTools from main trunk r18767. 2015-11-30 02:52:10 +00:00
CommonDataClass BaseTools: Add a keyword FvNameString in FDF 2015-07-28 05:53:08 +00:00
Ecc Update BaseTools from main trunk r18767. 2015-11-16 05:29:49 +00:00
Eot There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
GenFds Update BaseTools from main trunk r18767. 2015-11-16 05:29:49 +00:00
GenPatchPcdTable There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
PatchPcdValue There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
Rsa2048Sha256Sign BaseTools: Do not create an empty file if Rsa2048Sha256Sign was failed. 2015-07-01 05:14:28 +00:00
Table BaseTools/Ecc: Add a checkpoint for invalid UNI file. 2015-06-25 07:50:55 +00:00
TargetTool License header updated to match correct format. 2014-08-28 13:53:34 +00:00
Trim BaseTools/Trim: Fixed a bug that cannot trim long values 2015-08-06 08:05:59 +00:00
UPT BaseTool/UPT: Add supporting of decimal numbers for INF_VERSION and DEC_SPECIFICATION 2015-12-01 02:31:16 +00:00
Workspace Update BaseTools from main trunk r18767. 2015-11-16 05:29:49 +00:00
GNUmakefile Sync BaseTool trunk (version r2599) into EDKII BaseTools. 2013-08-23 02:18:16 +00:00
Makefile Update BaseTools from main trunk r18767. 2015-11-16 05:29:49 +00:00
sitecustomize.py License header updated to match correct format. 2014-08-28 13:53:34 +00:00