From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from ma1-aaemail-dr-lapp02.apple.com (ma1-aaemail-dr-lapp02.apple.com [17.171.2.68]) by mx.groups.io with SMTP id smtpd.web12.10795.1599007781995822264 for ; Tue, 01 Sep 2020 17:49:42 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@apple.com header.s=20180706 header.b=cyeSzJY5; spf=pass (domain: apple.com, ip: 17.171.2.68, mailfrom: afish@apple.com) Received: from pps.filterd (ma1-aaemail-dr-lapp02.apple.com [127.0.0.1]) by ma1-aaemail-dr-lapp02.apple.com (8.16.0.42/8.16.0.42) with SMTP id 0820m2br051487; Tue, 1 Sep 2020 17:49:40 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=from : message-id : content-type : mime-version : subject : date : in-reply-to : cc : to : references; s=20180706; bh=qXYLx6QdzF+z1clmdDPd109AhLEg2aFPENeyThiS7w8=; b=cyeSzJY5B0/o+/dcr2yp2yu79hnPCmpjy/L2/9qrxp2gg3SK8/2JzSvidKdv3k51WlVY lY5oYVGvEN/G33BZWPD8W1ht6FQJQ9ItyUhnHwxyTo2Y/MAuIclNZ8glaka4hPnKzAcB 66areYSB2EbWZhMyOzozhxW2LUQosYn4HCiLfvAMNhBxBjatySAx7VxXQn2LaoDHdEde 76rVSwkxw5Y2Fs36q4OEpqNkbAvFLWTzUonbNFon0O2vLWTHgPpwVDQq1mbvNE0MNy4X eCgHnaKIrer6SQ02gGDf5vSyQ5cqFQgaoI1raEbTh+78ELdGFxsdj19IBwXy1iDRYZLv HQ== Received: from rn-mailsvcp-mta-lapp01.rno.apple.com (rn-mailsvcp-mta-lapp01.rno.apple.com [10.225.203.149]) by ma1-aaemail-dr-lapp02.apple.com with ESMTP id 337kpt4570-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 01 Sep 2020 17:49:40 -0700 Received: from rn-mailsvcp-mmp-lapp03.rno.apple.com (rn-mailsvcp-mmp-lapp03.rno.apple.com [17.179.253.16]) by rn-mailsvcp-mta-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.6.20200729 64bit (built Jul 29 2020)) with ESMTPS id <0QG000E44AARU8A0@rn-mailsvcp-mta-lapp01.rno.apple.com>; Tue, 01 Sep 2020 17:49:39 -0700 (PDT) Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp03.rno.apple.com by rn-mailsvcp-mmp-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.6.20200729 64bit (built Jul 29 2020)) id <0QG000A009Q92600@rn-mailsvcp-mmp-lapp03.rno.apple.com>; Tue, 01 Sep 2020 17:49:39 -0700 (PDT) X-Va-A: X-Va-T-CD: 6cae0fdf74490791ced48586e16acbbc X-Va-E-CD: 28a3b6bbba5087b2256ef43234fe5a54 X-Va-R-CD: 6e35a46220ad25296638c2bb6963dfc2 X-Va-CD: 0 X-Va-ID: efe8f0e1-097e-4f07-8c9c-3d25cd93b672 X-V-A: X-V-T-CD: 6cae0fdf74490791ced48586e16acbbc X-V-E-CD: 28a3b6bbba5087b2256ef43234fe5a54 X-V-R-CD: 6e35a46220ad25296638c2bb6963dfc2 X-V-CD: 0 X-V-ID: 7e4479b6-b6ca-4a9c-96ef-532e25d1038e X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235,18.0.687 definitions=2020-09-01_10:2020-09-01,2020-09-01 signatures=0 Received: from [17.235.50.56] (unknown [17.235.50.56]) by rn-mailsvcp-mmp-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.6.20200729 64bit (built Jul 29 2020)) with ESMTPSA id <0QG00103CAAPC000@rn-mailsvcp-mmp-lapp03.rno.apple.com>; Tue, 01 Sep 2020 17:49:38 -0700 (PDT) From: "Andrew Fish" Message-id: <4C114D94-5320-4825-9400-1044FC5FA9AB@apple.com> MIME-version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: [edk2-devel] Basetools as a pip module Date: Tue, 01 Sep 2020 17:49:37 -0700 In-reply-to: Cc: rfc@edk2.groups.io To: edk2-devel-groups-io , matthewfcarlson@gmail.com References: X-Mailer: Apple Mail (2.3608.80.23.2.2) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235,18.0.687 definitions=2020-09-01_10:2020-09-01,2020-09-01 signatures=0 Content-type: multipart/alternative; boundary="Apple-Mail=_CFD9C90B-3B31-4784-A4DE-C1417B32420F" --Apple-Mail=_CFD9C90B-3B31-4784-A4DE-C1417B32420F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Sep 1, 2020, at 4:35 PM, Matthew Carlson = wrote: >=20 > Hello all, >=20 > A recent topic on the RFC mailing list went out and the work on moving B= asetools/Sources/Python to a separate repo has started. See the RFC convers= ation here: https://edk2.groups.io/g/rfc/topic/74009714#270 >=20 > The repo in question is here: https://github.com/tianocore/edk2-basetool= s >=20 > The current plan is shortly after the stable tag is created, a series of= patches will come into edk2 that redirects the build system into the new p= ython module as well as adds additional documentation. You can see a sample= of this work here: https://github.com/matthewfcarlson/edk2 as this has a branch that has the work required = to use the basetools pip module. The patches won't delete the Basetools/Sou= rces/Python folder but will allow users to select between them. After a cer= tain grace period, the python folder will be deleted and the pip module wil= l be the de facto way of using basetools. >=20 > Three questions need to be answered: >=20 > 1. After the patches that enable the pip module land, how long should th= e grace period be? > 2. During the grace period, should basetools commits land in both places= or just in the edk2-basetools directory? > 3. How should the user be able to select which basetools to use (the one= in EDK2 or the pip module)? Currently the approach being considered is a s= imple environmental variable? One of the key considerations is transparency= since it won't be apparent what is being used for a particular build witho= ut some sort of mechanism to notify the developer. With two seperate versio= ns of Basetools, it becomes very easy for the version of basetools you're u= sing to not be the one you expect. >=20 Matthew, I=E2=80=99ll throw out some current developer centric ideas.=20 1) If you `source edksetup.sh` (edksetup.bat) you get the current behavior= , and you add an argument you get the pip flavor? So maybe `edksetup.bat pi= p-basetools`? 2) We have similar issues to this with env variables and the build command= dumps them out when it runs. Can we use the current EDK_TOOL_PATH? Or mayb= e add an extra print to show that the pip module is being used? Thanks, Andrew Fish > Thank you. > -Matthew Carlson >=20 --Apple-Mail=_CFD9C90B-3B31-4784-A4DE-C1417B32420F Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

On Sep 1, 20= 20, at 4:35 PM, Matthew Carlson <matthewfcarlson@gmail.com> wrote:

Hello all,

A rec= ent topic on the RFC mailing list went out and the work on moving Basetools= /Sources/Python to a separate repo has started. See the RFC conversati= on here: https://edk2.groups.io/g/rfc/topic/74009714#270

The repo in question is here:&= nbsp;htt= ps://github.com/tianocore/edk2-basetools

The current plan is shortly after the stable t= ag is created, a series of patches will come into edk2 that redirects the b= uild system into the new python module as well as adds additional documenta= tion. You can see a sample of this work here: https://github.com/matthewfcarlson/e= dk2 as this has a branch that has the work required to use the bas= etools pip module. The patches won't delete the Basetools/Sources/Python fo= lder but will allow users to select between them. After a certain grace per= iod, the python folder will be deleted and the pip module will be the de fa= cto way of using basetools.

Three questions need to be answered:

1. After the patches that enable the pip mod= ule land, how long should the grace period be?
2. Duri= ng the grace period, should basetools commits land in both places or just i= n the edk2-basetools directory?
3. How should the user= be able to select which basetools to use (the one in EDK2 or the pip modul= e)? Currently the approach being considered is a simple environmental varia= ble? One of the key considerations is transparency since it won't be appare= nt what is being used for a particular build without some sort of mechanism= to notify the developer. With two seperate versions of Basetools, it becom= es very easy for the version of basetools you're using to not be the one yo= u expect.


Matthew,

I=E2=80=99ll throw out some current developer centric = ideas. 

1) If you `source edksetup= .sh` (edksetup.bat) you get the current behavior, and you add an argument y= ou get the pip flavor? So maybe `edksetup.bat pip-basetools`?
2) = We have similar issues to this with env variables and the build command dum= ps them out when it runs. Can we use the current EDK_TOOL_PATH? Or maybe ad= d an extra print to show that the pip module is being used?

Thanks,

Andrew Fis= h


Thank you.
-Matthew Carlson

--Apple-Mail=_CFD9C90B-3B31-4784-A4DE-C1417B32420F--