Re: [edk2-devel] [edk2-platforms Patch V2 5/5] Vlv2Tbl2DevicePkg: Convert BAT/sh Build scripts to Python

2019-07-22 Thread Michael D Kinney
Gary,

Thanks for the feedback.  I will send out a V3.

I have fixed the source files with non-ASCII characters that
are preventing the reports from being generated on Linux 
systems.  I will enter a BZ to update the build tools to 
be more resilient for this case.  Non-ASCII characters should
not be present in source files, but presence of non-ASCII
characters should not break the build with a python stack trace.
The report should still be generated correctly.

Thanks,

Mike

> -Original Message-
> From: Gary Lin [mailto:g...@suse.com]
> Sent: Sunday, July 21, 2019 9:09 PM
> To: devel@edk2.groups.io; Kinney, Michael D
> 
> Cc: Qian, Yi ; Sun, Zailiang
> 
> Subject: Re: [edk2-devel] [edk2-platforms Patch V2 5/5]
> Vlv2Tbl2DevicePkg: Convert BAT/sh Build scripts to Python
> 
> On Thu, Jul 18, 2019 at 11:02:47PM -0700,  Michael D
> Kinney  wrote:
> > Convert Build_IFWI and bld_vlv BAT/sh scripts to OS
> > independent python script PeBuild.py.  This script
> > generates the BiosId file.  Standard EDK II build
> > commands are used to build FW images and capsules.
> >
> > * Sample VS2015x86 commands for IA32/X64 and
> DEBUG/RELEASE
> >   build -a IA32 -a X64 -t VS2015x86 -p
> Vlv2TbltDevicePkg\PlatformPkgX64.dsc
> >   build -a IA32 -a X64 -t VS2015x86 -p
> Vlv2TbltDevicePkg\PlatformPkgX64.dsc
> >   build -a IA32-t VS2015x86 -p
> Vlv2TbltDevicePkg\PlatformPkgIA32.dsc
> >   build -a IA32-t VS2015x86 -p
> Vlv2TbltDevicePkg\PlatformPkgIA32.dsc
> >
> > * Sample GCC5 commands for IA32/X64 and DEBUG/RELEASE
> >   build -a IA32 -a X64 -n 5 -t GCC5 -p
> Vlv2TbltDevicePkg/PlatformPkgX64.dsc
> >   build -a IA32 -a X64 -n 5 -t GCC5 -p
> Vlv2TbltDevicePkg/PlatformPkgX64.dsc
> >   build -a IA32-n 5 -t GCC5 -p
> Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
> >   build -a IA32-n 5 -t GCC5 -p
> Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
> >
> Hi Mike,
> 
> I found some errors in Readme.md
> 
> > Cc: Zailiang Sun 
> > Cc: Yi Qian 
> > Cc: Gary Lin 
> > Signed-off-by: Michael D Kinney
> 
> > ---
> >  .../Intel/Vlv2TbltDevicePkg/Build_IFWI.bat| 118 --
> 
> >  .../Intel/Vlv2TbltDevicePkg/Build_IFWI.sh | 100 --
> ---
> >  .../Vlv2TbltDevicePkg/PlatformCapsule.fdf |  48 --
> -
> >  .../Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc |  39 --
> >  .../Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc  |  39 --
> >  .../Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf   |  30 +-
> >  .../Vlv2TbltDevicePkg/PlatformPkgIA32.dsc |  13 +-
> >  .../Vlv2TbltDevicePkg/PlatformPkgX64.dsc  |  13 +-
> >  Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py  | 348
> ++
> >  Platform/Intel/Vlv2TbltDevicePkg/Readme.md|  62
> ++--
> >  Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat  | 303 --
> -
> >  Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh   | 222 --
> -
> >  12 files changed, 432 insertions(+), 903 deletions(-)
> >  delete mode 100644
> Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat
> >  delete mode 100755
> Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.sh
> >  delete mode 100644
> Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsule.fdf
> >  delete mode 100644
> Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc
> >  delete mode 100644
> Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc
> >  create mode 100644
> Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py
> >  delete mode 100644
> Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat
> >  delete mode 100755
> Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh
> >
> > diff --git
> a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat
> b/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat
> > deleted file mode 100644
> > index f65aa61f4a..00
> > --- a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat
> > +++ /dev/null
> > @@ -1,118 +0,0 @@
> > -@REM @file
> > -@REM   Windows batch file to build BIOS ROM
> > -@REM
> > -@REM Copyright (c) 2006 - 2019, Intel Corporation. All
> rights reserved.
> > -@REM SPDX-License-Identifier: BSD-2-Clause-Patent
> > -@REM
> > -
> > -@echo off
> > -
> > -SetLocal EnableDelayedExpansion EnableExtensions
> > -
> > -:: Assign initial values
> > -set exitCode=0
> > -set "Build_Flags= "
> > -set PLATFORM_PACKAGE=Vlv2TbltDevicePkg
> > -
> > -set PLATFORM_PATH=%WORKSPACE%
> > -if not exist %PLATFORM_PATH%\%PLATFORM_PACKAGE% (
> > -  if defined PACKAGES_PATH (
> > -for %%i IN (%PACKAGES_PATH%) DO (
> > -  if exist %%~fi\%PLATFORM_PACKAGE% (
> > - 

Re: [edk2-devel] [edk2-platforms Patch V2 5/5] Vlv2Tbl2DevicePkg: Convert BAT/sh Build scripts to Python

2019-07-21 Thread Gary Lin
On Thu, Jul 18, 2019 at 11:02:47PM -0700,  Michael D Kinney  wrote:
> Convert Build_IFWI and bld_vlv BAT/sh scripts to OS
> independent python script PeBuild.py.  This script
> generates the BiosId file.  Standard EDK II build
> commands are used to build FW images and capsules.
> 
> * Sample VS2015x86 commands for IA32/X64 and DEBUG/RELEASE
>   build -a IA32 -a X64 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgX64.dsc
>   build -a IA32 -a X64 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgX64.dsc
>   build -a IA32-t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgIA32.dsc
>   build -a IA32-t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgIA32.dsc
> 
> * Sample GCC5 commands for IA32/X64 and DEBUG/RELEASE
>   build -a IA32 -a X64 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgX64.dsc
>   build -a IA32 -a X64 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgX64.dsc
>   build -a IA32-n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
>   build -a IA32-n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
> 
Hi Mike,

I found some errors in Readme.md

> Cc: Zailiang Sun 
> Cc: Yi Qian 
> Cc: Gary Lin 
> Signed-off-by: Michael D Kinney 
> ---
>  .../Intel/Vlv2TbltDevicePkg/Build_IFWI.bat| 118 --
>  .../Intel/Vlv2TbltDevicePkg/Build_IFWI.sh | 100 -
>  .../Vlv2TbltDevicePkg/PlatformCapsule.fdf |  48 ---
>  .../Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc |  39 --
>  .../Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc  |  39 --
>  .../Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf   |  30 +-
>  .../Vlv2TbltDevicePkg/PlatformPkgIA32.dsc |  13 +-
>  .../Vlv2TbltDevicePkg/PlatformPkgX64.dsc  |  13 +-
>  Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py  | 348 ++
>  Platform/Intel/Vlv2TbltDevicePkg/Readme.md|  62 ++--
>  Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat  | 303 ---
>  Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh   | 222 ---
>  12 files changed, 432 insertions(+), 903 deletions(-)
>  delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat
>  delete mode 100755 Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.sh
>  delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsule.fdf
>  delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc
>  delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc
>  create mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py
>  delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat
>  delete mode 100755 Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh
> 
> diff --git a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat 
> b/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat
> deleted file mode 100644
> index f65aa61f4a..00
> --- a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat
> +++ /dev/null
> @@ -1,118 +0,0 @@
> -@REM @file
> -@REM   Windows batch file to build BIOS ROM
> -@REM
> -@REM Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
> -@REM SPDX-License-Identifier: BSD-2-Clause-Patent
> -@REM
> -
> -@echo off
> -
> -SetLocal EnableDelayedExpansion EnableExtensions
> -
> -:: Assign initial values
> -set exitCode=0
> -set "Build_Flags= "
> -set PLATFORM_PACKAGE=Vlv2TbltDevicePkg
> -
> -set PLATFORM_PATH=%WORKSPACE%
> -if not exist %PLATFORM_PATH%\%PLATFORM_PACKAGE% (
> -  if defined PACKAGES_PATH (
> -for %%i IN (%PACKAGES_PATH%) DO (
> -  if exist %%~fi\%PLATFORM_PACKAGE% (
> -set PLATFORM_PATH=%%~fi
> -goto PlatformPackageFound
> -  )
> -)
> -  ) else (
> -echo.
> -echo !!! ERROR !!! Cannot find %PLATFORM_PACKAGE% !!!
> -echo.
> -goto Exit
> -  )
> -)
> -:PlatformPackageFound
> -
> -:: Parse Optional arguments
> -:OptLoop
> -if /i "%~1"=="/?" goto Usage
> -
> -if /i "%~1"=="/l" (
> -set Build_Flags=%Build_Flags% /l
> -shift
> -goto OptLoop
> -)
> -if /i "%~1"=="/y" (
> -set Build_Flags=%Build_Flags% /y
> -shift
> -goto OptLoop
> -)
> -if /i "%~1"=="/m" (
> -set Build_Flags=%Build_Flags% /m
> -shift
> -goto OptLoop
> -)
> -if /i "%~1" == "/c" (
> -set Build_Flags=%Build_Flags% /c
> -shift
> -goto OptLoop
> -)
> -if /i "%~1"=="/x64" (
> -set Build_Flags=%Build_Flags% /x64
> -shift
> -goto OptLoop
> -)
> -if /i "%~1"=="/IA32" (
> -set Build_Flags=%Build_Flags% /IA32
> -shift
> -goto OptLoop
> -)
> -
> -:: Require 2 input parameters
> -if "%~2"=="" goto Usage
> -
> -:: Assign required arguments
> -set Platform_Type=%~1
> -set Build_Target=%~2
> -
> -:: Build BIOS
> -echo ==
> -echo Build_IFWI:  Calling BIOS build Script...
> -
> -call %PLATFORM_PATH%\%PLATFORM_PACKAGE%\bld_vlv.bat %Build_Flags% 
> %Platform_Type% %Build_Target%
> -
> -if %ERRORLEVEL% NEQ 0 (
> -echo echo  -- Error Building BIOS  & echo.
> -set exitCode=1
> -goto exit
> -)
> -echo.
> -echo Finished Building BIOS.
> -goto Exit
> -
> -:Usage
> -echo Script to build BIOS firmware 

[edk2-devel] [edk2-platforms Patch V2 5/5] Vlv2Tbl2DevicePkg: Convert BAT/sh Build scripts to Python

2019-07-19 Thread Michael D Kinney
Convert Build_IFWI and bld_vlv BAT/sh scripts to OS
independent python script PeBuild.py.  This script
generates the BiosId file.  Standard EDK II build
commands are used to build FW images and capsules.

* Sample VS2015x86 commands for IA32/X64 and DEBUG/RELEASE
  build -a IA32 -a X64 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgX64.dsc
  build -a IA32 -a X64 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgX64.dsc
  build -a IA32-t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgIA32.dsc
  build -a IA32-t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgIA32.dsc

* Sample GCC5 commands for IA32/X64 and DEBUG/RELEASE
  build -a IA32 -a X64 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgX64.dsc
  build -a IA32 -a X64 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgX64.dsc
  build -a IA32-n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
  build -a IA32-n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgIA32.dsc

Cc: Zailiang Sun 
Cc: Yi Qian 
Cc: Gary Lin 
Signed-off-by: Michael D Kinney 
---
 .../Intel/Vlv2TbltDevicePkg/Build_IFWI.bat| 118 --
 .../Intel/Vlv2TbltDevicePkg/Build_IFWI.sh | 100 -
 .../Vlv2TbltDevicePkg/PlatformCapsule.fdf |  48 ---
 .../Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc |  39 --
 .../Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc  |  39 --
 .../Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf   |  30 +-
 .../Vlv2TbltDevicePkg/PlatformPkgIA32.dsc |  13 +-
 .../Vlv2TbltDevicePkg/PlatformPkgX64.dsc  |  13 +-
 Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py  | 348 ++
 Platform/Intel/Vlv2TbltDevicePkg/Readme.md|  62 ++--
 Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat  | 303 ---
 Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh   | 222 ---
 12 files changed, 432 insertions(+), 903 deletions(-)
 delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat
 delete mode 100755 Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.sh
 delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsule.fdf
 delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc
 delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc
 create mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py
 delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat
 delete mode 100755 Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh

diff --git a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat 
b/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat
deleted file mode 100644
index f65aa61f4a..00
--- a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat
+++ /dev/null
@@ -1,118 +0,0 @@
-@REM @file
-@REM   Windows batch file to build BIOS ROM
-@REM
-@REM Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
-@REM SPDX-License-Identifier: BSD-2-Clause-Patent
-@REM
-
-@echo off
-
-SetLocal EnableDelayedExpansion EnableExtensions
-
-:: Assign initial values
-set exitCode=0
-set "Build_Flags= "
-set PLATFORM_PACKAGE=Vlv2TbltDevicePkg
-
-set PLATFORM_PATH=%WORKSPACE%
-if not exist %PLATFORM_PATH%\%PLATFORM_PACKAGE% (
-  if defined PACKAGES_PATH (
-for %%i IN (%PACKAGES_PATH%) DO (
-  if exist %%~fi\%PLATFORM_PACKAGE% (
-set PLATFORM_PATH=%%~fi
-goto PlatformPackageFound
-  )
-)
-  ) else (
-echo.
-echo !!! ERROR !!! Cannot find %PLATFORM_PACKAGE% !!!
-echo.
-goto Exit
-  )
-)
-:PlatformPackageFound
-
-:: Parse Optional arguments
-:OptLoop
-if /i "%~1"=="/?" goto Usage
-
-if /i "%~1"=="/l" (
-set Build_Flags=%Build_Flags% /l
-shift
-goto OptLoop
-)
-if /i "%~1"=="/y" (
-set Build_Flags=%Build_Flags% /y
-shift
-goto OptLoop
-)
-if /i "%~1"=="/m" (
-set Build_Flags=%Build_Flags% /m
-shift
-goto OptLoop
-)
-if /i "%~1" == "/c" (
-set Build_Flags=%Build_Flags% /c
-shift
-goto OptLoop
-)
-if /i "%~1"=="/x64" (
-set Build_Flags=%Build_Flags% /x64
-shift
-goto OptLoop
-)
-if /i "%~1"=="/IA32" (
-set Build_Flags=%Build_Flags% /IA32
-shift
-goto OptLoop
-)
-
-:: Require 2 input parameters
-if "%~2"=="" goto Usage
-
-:: Assign required arguments
-set Platform_Type=%~1
-set Build_Target=%~2
-
-:: Build BIOS
-echo ==
-echo Build_IFWI:  Calling BIOS build Script...
-
-call %PLATFORM_PATH%\%PLATFORM_PACKAGE%\bld_vlv.bat %Build_Flags% 
%Platform_Type% %Build_Target%
-
-if %ERRORLEVEL% NEQ 0 (
-echo echo  -- Error Building BIOS  & echo.
-set exitCode=1
-goto exit
-)
-echo.
-echo Finished Building BIOS.
-goto Exit
-
-:Usage
-echo Script to build BIOS firmware and stitch the entire IFWI.
-echo.
-echo Usage: Build_IFWI.bat [options]  PlatformType  BuildTarget
-echo.
-echo/cCleanAll
-echo/lGenerate build log file
-echo/yGenerate build report file
-echo/mEnable multi-processor build
-echo/IA32 Set Arch to IA32 (default: X64)
-echo/X64  Set Arch to X64 (default: X64)
-echo.
-echoPlatform Types:  MNW2
-echo