public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Matthew Carlson" <matthewfcarlson@gmail.com>
To: devel@edk2.groups.io
Cc: Bob Feng <bob.c.feng@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	Yuwei Chen <yuwei.chen@intel.com>,
	Sean Brogan <sean.brogan@microsoft.com>,
	Michael Kinney <michael.d.kinney@intel.com>
Subject: [PATCH v5 0/1] Use Pip version of BaseTools
Date: Mon,  8 Feb 2021 16:50:32 -0800	[thread overview]
Message-ID: <20210209005033.596-1-matthewfcarlson@gmail.com> (raw)

From: Matthew Carlson <matthewfcarlson@gmail.com>

Hello all,

This patch adds the capability to leverage the pip based BaseTools.
The BaseTools master is current with EDK2 master (as of 3pm Nov 2, 2020).
While I could rehash a lot of what has gone out on the mailing list, I think
it might be better just to link the discussion.

In a nutshell, setup will detect if edk2-basetools is installed, and if it
is, use the other verison of BinWrappers (BinPipWrappers). This should
provide an easy and convenient way to transition over. By default, CI
uses the pip version.

The pipeline is setup. Every commit that gets pushed to master on basetools
get published to pypi and tagged. This should offer bisectability and easier
debugging. Additionally, the pip requirements file tracks a specific version.

We'd like to set a date for when PR's no longer go into EDK2 for BaseTools
and instead go exclusively into the new basetools repo.

V5 Changes: Add Split.bat and removed BrotliCompress.bat
V4 Changes: converted files to DOX line ending, added executable chmod to unix
binwrappers, and removed unnecessary binwrappers.
V3 Changes: converted some files to unix line ending

Ref: https://edk2.groups.io/g/devel/topic/76572200#64993
Ref: https://github.com/tianocore/edk2-basetools
Ref: https://github.com/tianocore/edk2/pull/1072

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>

Matthew Carlson (1):
  BaseTools: Use pip module if available, CI uses it by default

 .pytool/CISettings.py                                                               | 51 +++++++++++++++-----
 BaseTools/BinPipWrappers/PosixLike/AmlToC                                           | 14 ++++++
 BaseTools/BinPipWrappers/PosixLike/BPDG                                             | 12 +++++
 BaseTools/BinPipWrappers/PosixLike/BrotliCompress                                   | 34 +++++++++++++
 BaseTools/BinPipWrappers/PosixLike/DevicePath                                       | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/Ecc                                              | 13 +++++
 BaseTools/BinPipWrappers/PosixLike/EfiRom                                           | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/GenCrc32                                         | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/GenDepex                                         | 12 +++++
 BaseTools/BinPipWrappers/PosixLike/GenFds                                           | 12 +++++
 BaseTools/BinPipWrappers/PosixLike/GenFfs                                           | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/GenFv                                            | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/GenFw                                            | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/GenPatchPcdTable                                 | 12 +++++
 BaseTools/BinPipWrappers/PosixLike/GenSec                                           | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/GenerateCapsule                                  | 12 +++++
 BaseTools/BinPipWrappers/PosixLike/LzmaCompress                                     | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/LzmaF86Compress                                  | 19 ++++++++
 BaseTools/BinPipWrappers/PosixLike/PatchPcdValue                                    | 12 +++++
 BaseTools/BinPipWrappers/PosixLike/Pkcs7Sign                                        | 12 +++++
 BaseTools/BinPipWrappers/PosixLike/Rsa2048Sha256GenerateKeys                        | 12 +++++
 BaseTools/BinPipWrappers/PosixLike/Rsa2048Sha256Sign                                | 12 +++++
 BaseTools/BinPipWrappers/PosixLike/Split                                            | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/TargetTool                                       | 12 +++++
 BaseTools/BinPipWrappers/PosixLike/TianoCompress                                    | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/Trim                                             | 13 +++++
 BaseTools/BinPipWrappers/PosixLike/UPT                                              | 12 +++++
 BaseTools/BinPipWrappers/PosixLike/VfrCompile                                       | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/VolInfo                                          | 29 +++++++++++
 BaseTools/BinPipWrappers/PosixLike/build                                            | 12 +++++
 BaseTools/{BinWrappers => BinPipWrappers}/PosixLike/posix_path_env.yaml             | 21 ++++----
 BaseTools/BinPipWrappers/WindowsLike/AmlToC.bat                                     |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/BPDG.bat                                       |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/Ecc.bat                                        |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/GenDepex.bat                                   |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/GenFds.bat                                     |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/GenPatchPcdTable.bat                           |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/GenerateCapsule.bat                            |  1 +
 BaseTools/BinPipWrappers/WindowsLike/PatchPcdValue.bat                              |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/Pkcs7Sign.bat                                  |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/Rsa2048Sha256GenerateKeys.bat                  |  1 +
 BaseTools/BinPipWrappers/WindowsLike/Rsa2048Sha256Sign.bat                          |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/Split.bat                                      |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/TargetTool.bat                                 |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/Trim.bat                                       |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/UPT.bat                                        |  3 ++
 BaseTools/BinPipWrappers/WindowsLike/build.bat                                      |  3 ++
 BaseTools/{BinWrappers => BinPipWrappers}/WindowsLike/win_build_tools_path_env.yaml |  3 +-
 BaseTools/BinWrappers/PosixLike/posix_path_env.yaml                                 |  1 +
 BaseTools/BinWrappers/WindowsLike/win_build_tools_path_env.yaml                     |  1 +
 BaseTools/BuildEnv                                                                  | 14 +++++-
 BaseTools/Scripts/PatchCheck.py                                                     |  1 +
 BaseTools/Source/Python/README.md                                                   | 29 +++++++++++
 BaseTools/toolsetup.bat                                                             | 19 ++++++++
 pip-requirements.txt                                                                |  1 +
 55 files changed, 745 insertions(+), 25 deletions(-)
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/AmlToC
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/BPDG
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/BrotliCompress
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/DevicePath
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/Ecc
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/EfiRom
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/GenCrc32
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/GenDepex
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/GenFds
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/GenFfs
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/GenFv
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/GenFw
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/GenPatchPcdTable
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/GenSec
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/GenerateCapsule
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/LzmaCompress
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/LzmaF86Compress
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/PatchPcdValue
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/Pkcs7Sign
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/Rsa2048Sha256GenerateKeys
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/Rsa2048Sha256Sign
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/Split
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/TargetTool
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/TianoCompress
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/Trim
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/UPT
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/VfrCompile
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/VolInfo
 create mode 100755 BaseTools/BinPipWrappers/PosixLike/build
 copy BaseTools/{BinWrappers => BinPipWrappers}/PosixLike/posix_path_env.yaml (74%)
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/AmlToC.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/BPDG.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/Ecc.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/GenDepex.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/GenFds.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/GenPatchPcdTable.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/GenerateCapsule.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/PatchPcdValue.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/Pkcs7Sign.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/Rsa2048Sha256GenerateKeys.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/Rsa2048Sha256Sign.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/Split.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/TargetTool.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/Trim.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/UPT.bat
 create mode 100644 BaseTools/BinPipWrappers/WindowsLike/build.bat
 copy BaseTools/{BinWrappers => BinPipWrappers}/WindowsLike/win_build_tools_path_env.yaml (70%)
 create mode 100644 BaseTools/Source/Python/README.md

-- 
2.29.0.vfs.0.0


             reply	other threads:[~2021-02-09  0:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-09  0:50 Matthew Carlson [this message]
2021-02-09  0:50 ` [PATCH v5 1/1] BaseTools: Use pip module if available, CI uses it by default Matthew Carlson
2021-02-09  2:31   ` Yuwei Chen
2021-02-09  3:25     ` Bob Feng
2021-02-09 13:15       ` [edk2-devel] " Leif Lindholm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210209005033.596-1-matthewfcarlson@gmail.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox