From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM03-CO1-obe.outbound.protection.outlook.com (NAM03-CO1-obe.outbound.protection.outlook.com [40.107.79.115]) by mx.groups.io with SMTP id smtpd.web09.10797.1575333623885900081 for ; Mon, 02 Dec 2019 16:40:24 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@microsoft.com header.s=selector2 header.b=XYpYx13q; spf=pass (domain: microsoft.com, ip: 40.107.79.115, mailfrom: jerecox@microsoft.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VgqNyprdHy/o3cmMqhLeBvKfeiHuzja1WBTTXBUcTroLif/xr6IF2WXBhbZvyiuLQyEFBXZdki/h0RvzWaMQFIuwnNbW5xTZ+yvxOpAYm+EeNSVmvSD3Fg016qkrwJF/Qy6iVlixNKgZEpb2jRCAM+Nyg0MbqLQ5e435LFu3MMvxCyJskEM8sRZIJ8PE5bZbxrgcnXFFICVfbDcPB67tkf3hA6jwarpbA7YMVEnR5m+afjKqE+sW9Lj8OzpRV32aX//AJ0Dox56MfnWwXgMRltTT8HB6JzjH634rwyT4DtHvSQ7PVDg4EPFWLuWoCVNsLdXzC1Vr/7C2oNK8Buq5tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Py2pi/aIqnl9uMzYOnTPe4s2BC119a02qoesLxjkPL8=; b=kjkoL9mP5sCHxuhKu4RAKpNWZAvv2kYexthVjXFFAtuCiNsgU4ZW0ENk+yx/xPrAyJjBQbYm2fs9R9pI9QOuFRMokKwg1RYD+A8vMARTKKqhVHf6ei4wCjMiBfgLmyL7m3WoD2y8a/RjwtOyhq+aOkdjbkl6eID+AJjZfc1iRZn3aZVvOYkHhQb9NSg5v5oV2uoFCPOZU/lBrmhdol99/HcM9ZcuMoA09ZltRuLcFNQDqjHIqUtC9XtEh28QjMtpEm33avTbKxtgux3DwHTGnLCEaKf7/06i0hrADzMIelyOW5rfrUl4/blkEYYvDWMi0H+6QksRaruM9lvJr3mK3g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Py2pi/aIqnl9uMzYOnTPe4s2BC119a02qoesLxjkPL8=; b=XYpYx13qEBerNwLJbSrWxuzyFE+kA9aokuDGED3mkrk77HnyJYiVKYb2sSu3FKfVHTFNnzemtHMhqURPz+uenfhsy34OoHtBM945ZRoQzHaFIEnZisLugszzjXdd6/a7ME0Yarei6WD0USPQIa8BXcOjdetfuZ0p52uaPcjeSAQ= Received: from BYAPR21MB1334.namprd21.prod.outlook.com (20.179.60.208) by BYAPR21MB1349.namprd21.prod.outlook.com (20.179.60.211) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2495.3; Tue, 3 Dec 2019 00:40:22 +0000 Received: from BYAPR21MB1334.namprd21.prod.outlook.com ([fe80::8c9e:1d39:6bc2:b538]) by BYAPR21MB1334.namprd21.prod.outlook.com ([fe80::8c9e:1d39:6bc2:b538%3]) with mapi id 15.20.2538.000; Tue, 3 Dec 2019 00:40:22 +0000 From: "Jeremiah Cox" To: "Feng, Bob C" , "devel@edk2.groups.io" , "lersek@redhat.com" , Sean Brogan , Matthew Carlson , Bret Barkelew Subject: Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Thread-Topic: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Thread-Index: AQHVpl/KFBBiYbPDAEm2gEDSyJUJ2aenl76S Date: Tue, 3 Dec 2019 00:40:22 +0000 Message-ID: References: ,<08650203BA1BD64D8AD9B6D5D74A85D16156DED1@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <08650203BA1BD64D8AD9B6D5D74A85D16156DED1@SHSMSX104.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=jerecox@microsoft.com; x-originating-ip: [50.47.138.109] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: b70aef18-b16d-4698-9eb6-08d777896166 x-ms-traffictypediagnostic: BYAPR21MB1349:|BYAPR21MB1349: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 02408926C4 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(366004)(39860400002)(396003)(346002)(376002)(136003)(199004)(189003)(174874002)(13464003)(14454004)(33656002)(14444005)(256004)(6636002)(3846002)(6116002)(186003)(55016002)(71190400001)(54896002)(6306002)(71200400001)(236005)(66066001)(6436002)(606006)(5660300002)(19627235002)(8990500004)(6246003)(52536014)(26005)(966005)(22452003)(478600001)(25786009)(110136005)(10090500001)(9686003)(7736002)(8936002)(316002)(74316002)(7696005)(76176011)(99286004)(66476007)(66556008)(64756008)(8676002)(86362001)(446003)(11346002)(2201001)(1511001)(66446008)(66946007)(91956017)(229853002)(76116006)(2501003)(6506007)(53546011)(2906002)(81166006)(102836004)(10290500003)(81156014)(460985005);DIR:OUT;SFP:1102;SCL:1;SRVR:BYAPR21MB1349;H:BYAPR21MB1334.namprd21.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rLL1CU+Uxh4G7i+4jiXbsVn3sWjg3kpfYGp/aIMH+35MYUZJ6IKtgLnKt7m1G4vW0zO3v5cHYXqA8ymQ9dp1cdT296tPDHwbYxwVShzsVCNbRfVn8cocCMePPHQr3ua+NzQ2NOViT2Uf6y+mKw8WsXSx7UhkRFeaZdC8EvVhmBiuh0xRab0jEuYEc0DfmBZoO8RieXXtkKIna+1tnsfbmeubout7zQUwRfzVnBEI1OLR+H2WtzyM2SAzAUZ6RlyskvMAWZuCyf1RE2fcqoJvhLwer5fpLw9+8YVer9BuAbb9GFD1V0LPLSCcIZBjSBzGv3s3yOnoQabgT/EWrZrr0OakdhktDn3xEyDYlEHrvWlHFgQ6HoDyM4hMTx0Xkm+bh3PwydXi/OpUhfs4DemdsbOw8WcU5B6XP/klpTdxcTg03BL4h9Fd9gN2QiKKAzGvSf20dKOMWqTzRdnUeyBoHpRKN5BZwaQ8pr7OkJLkpq0= MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: b70aef18-b16d-4698-9eb6-08d777896166 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Dec 2019 00:40:22.3419 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /tUqkksNCSwXhQBoRrLdCCJuncVd7CftqV0KgfYlcLZMGhYVIGY+UfsSJvfYs3YkQAd+kLycfn1t7ZAHeAaWxIV4V81EgK/X2UZnM/wgn84= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR21MB1349 Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_BYAPR21MB1334EAAAF598BF68E307F712AD420BYAPR21MB1334namp_" --_000_BYAPR21MB1334EAAAF598BF68E307F712AD420BYAPR21MB1334namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hi Bob, Responses to your questions: 1. Yes, PlatformBuild.py could be seen as a template for a relatively-s= imple, Pytools platform builder. I am also working on a more complex examp= le for the Edk2-Platforms Kabylake RVP to demonstrate FSP and FIT related p= re and post build steps. The filename PlatformBuild.py is not required, ju= st a convention that we follow. Any Python that overrides UefiBuilder, Buil= dSettingsManager, UpdateSettingsManager, & SetupSettingsManager would work.= You might view PlatformBuild.py as an extension of the EDK2 build system = that provides features helpful to build a platform. Observe that both Ovm= fPkg and EmulatorPkg include build.sh scripts that provide some pre and pos= t build convenience features. Regarding MdeModulePkg, the Pytools Platform= or UefiBuilder could build it, but might not provide compelling value. In= stead, we are leveraging our Pytools CI features to build & test MdeModuleP= kg and more: * https://github.com/tianocore/edk2/tree/master/.pytool * https://github.com/tianocore/edk2/blob/master/MdeModulePkg/MdeMod= ulePkg.ci.yaml 2. For the build environment, I believe we start with the current shell= environment, add Conf/target.txt, override with environment set in Platfor= mBuild.py, then the command-line. @Sean Brogan & @Matthew Carlson for more details. 3. I am working on an example of building KabylakeOpenBoardPackage http= s://github.com/out0xb2/edk2-platforms/pull/2 . Custom pre and post build s= teps for a platform can be handled in a PlatformBuild.py, for a family they= could be in a FamilyBuild.py that is !included in multiple PlatformBuild.p= y, or common functionality could be pushed into plug-ins. I demonstrate th= e plug-in model in the Intel Silicon Tools. 4. Hmm, I would ask @Sean Brogan & @M= atthew Carlson 5. We do not currently support VS 2015, only 2017 and 2019. I=92m hear= ing an ask that we should document our matrix of supported OS/toolchains. * We have not added support for VS 2015 * We would need more details to debug this one, perhaps provide Bui= ld\BUILDLOG.txt ? * Again, more details are needed, likely available in Build\UPDATE_= LOG.txt ? i. We = have GCC working for Ubuntu in our automation: https://dev.azure.com/tiano= core/edk2-ci/_build?definitionId=3D31&_a=3Dsummary If there is a good time early morning or later afternoon for a Skype call = and screen sharing, we might be able to close on these issues faster. Let = me know if you have suggestions. Thanks, Jeremiah From: Feng, Bob C Sent: Thursday, November 28, 2019 18:50 To: devel@edk2.groups.io; lersek@redhat.com; Jeremiah Cox Subject: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building= OvmfPkg with Pytools Hi Jeremiah, I have some questions for this change. 1. Will there be a PlatformBuild.py in any platform as your design? For ex= ample there will be a PlatformBuild.py in MdeModulePkg, EmulatorPkg and etc= . And this PlatformBuild.py can be seen as a template? 2. The original build options can be set either from PlatformBuild.py Comm= onPlatform class or set from command line, is it right? 3. There is another build scripts edk2-platforms\Platform\Intel\build_bios= .py for build Min-Platforms. Can PlatformBuild.py work together with it? 4. Dose the pytools support clang on windows? 5. I tried this patch on my local machines, but build failed with pytools = and your change. 1) One windows machine only installed VS2015, vswhere can't detect VS2015= . 2) Another windows machine installed VS2015 and VS2017, vswhere can find V= S2017, but build failed with the messages build.py... INFO - : error 7000: Failed to execute command INFO - Vc\bin\nmake.exe 3) I have a Ubuntu 18.04 machine, build failed at the step of "stuart_upda= te -c OvmfPkg/PlatformBuild.py" with the error messages: File "/home/bobfeng/PythonVenv1/lib/python3.6/site-packages/edk2toolex= t/environment/extdeptypes/nuget_dependency.py", line 180, in fetch if self._fetch_from_cache(package_name): File "/home/bobfeng/PythonVenv1/lib/python3.6/site-packages/edk2toolext/= environment/extdeptypes/nuget_dependency.py", line 113, in _fetch_from_cach= e if not os.path.isdir(NugetDependency.global_cache_path): File "/usr/lib/python3.6/genericpath.py", line 42, in isdir st =3D os.stat(s) Thanks, Bob -----Original Message----- From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Lasz= lo Ersek Sent: Wednesday, November 27, 2019 5:29 PM To: devel@edk2.groups.io; jerecox@microsoft.com Subject: Re: [edk2-devel] Seeking feedback: example of building OvmfPkg wi= th Pytools Hi Jeremiah, On 11/27/19 01:03, Jeremiah Cox via Groups.Io wrote: > All, > I created an example of how to build OvmfPkg using the Pytools build env= ironment ( https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2= F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions&data=3D02%7C01%7Cje= recox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af= 91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=3DcEITDGTog5kBjBA8H= QDRt%2FyVem9xpqtbnC%2FitE8eyTE%3D&reserved=3D0 ). > It is available for your feedback on GitHub: > https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgith= ub.com%2Fout0xb2%2Fedk2%2Fpull%2F3%2Ffiles&data=3D02%7C01%7Cjerecox%40m= icrosoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd= 011db47%7C1%7C0%7C637105926421631531&sdata=3DSHlSuJMKDf8GOWwH8KrNIf6MtC= %2FnjhRRZ1htdQT8%2Fvc%3D&reserved=3D0 > > Looking for your thoughts on integrating this example into EDK2. This patch set seems to target the edk2 repository, and at least in part O= vmfPkg. Please submit the patch set to the list for review. Thanks Laszlo --_000_BYAPR21MB1334EAAAF598BF68E307F712AD420BYAPR21MB1334namp_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable

Hi Bob,

Responses to your questions:

  1. Yes, PlatformBu= ild.py could be seen as a template for a relatively-simple, Pytools platfor= m builder.  I am also working on a more complex example for the Edk2-P= latforms Kabylake RVP to demonstrate FSP and FIT related pre and post build steps.  The filename PlatformBuild.py= is not required, just a convention that we follow. Any Python that overrid= es UefiBuilder, BuildSettingsManager, UpdateSettingsManager, & SetupSet= tingsManager would work.  You might view PlatformBuild.py as an extension of the EDK2 build system that provides features helpful t= o build a platform.   Observe that both OvmfPkg and EmulatorPkg i= nclude build.sh scripts that provide some pre and post build convenience fe= atures.  Regarding MdeModulePkg, the Pytools Platform or UefiBuilder could build it, but might not provide compelling = value.  Instead, we are leveraging our Pytools CI features to build &a= mp; test MdeModulePkg and more: 
    1. https://github.com/tiano= core/edk2/tree/master/.pytool
    2. https://github.com/tianocore/edk2/bl= ob/master/MdeModulePkg/MdeModulePkg.ci.yaml
  2. For the build e= nvironment, I believe we start with the current shell environment, add Conf= /target.txt, override with environment set in PlatformBuild.py, then the co= mmand-line.  @Sean Brogan & @Matthew Carlson for more details.
  3. I am working on an example of buil= ding KabylakeOpenBoardPackage https://githu= b.com/out0xb2/edk2-platforms/pull/2 .  Custom pre and post build s= teps for a platform can be handled in a PlatformBuild.py, for a family they= could be in a FamilyBuild.py that is !included in multiple PlatformBuild.py, or common functionality could be pushed int= o plug-ins.  I demonstrate the plug-in model in the Intel Silicon Tool= s.
  4. Hmm, I wo= uld ask @Sean Brogan & @Matthew Carlson
  5. We do not currently support VS 2015, only 2017 and 2= 019.  I=92m hearing an ask that we should document our matrix of suppo= rted OS/toolchains.  
    1. We have not add= ed support for VS 2015
    2. We would need more details to debug this one, perhaps provide Bu= ild\BUILDLOG.txt ?
    3. Again, more details are needed, likely available in Build\UPDATE_LOG= .txt ? 

            =             &nb= sp;            =             &nb= sp;             i. &nbs= p;    We have GCC working for Ubuntu in our au= tomation:  https://dev.azure.com/tianocore/edk2-ci/_build?definitionId=3D31&_a=3D= summary

 

If there is a good time early morning or later af= ternoon for a Skype call and screen sharing, we might be able to close on t= hese issues faster.  Let me know if you have suggestions.

 

Thanks,

Jeremiah

 

From: <= a href=3D"mailto:bob.c.feng@intel.com">Feng, Bob C
Sent: Thursday, November 28, 2019 18:50
To: devel@edk2.groups.io; lersek@redhat.com; Jeremiah C= ox
Subject: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of b= uilding OvmfPkg with Pytools

 

Hi Jeremiah,

I have some questions for this change.
1. Will there be a PlatformBuild.py in any platform as your design? For ex= ample there will be a PlatformBuild.py in MdeModulePkg, EmulatorPkg and etc= . And this PlatformBuild.py can be seen as a template?
2. The original build options can be set either from PlatformBuild.py Comm= onPlatform class or set from command line, is it right?
3. There is another build scripts edk2-platforms\Platform\Intel\build_bios= .py for build Min-Platforms. Can PlatformBuild.py work together with it?
4. Dose the pytools support clang on windows?
5. I tried this patch on my local machines, but build failed with pytools = and your change.
1) One windows machine only installed VS2015,  vswhere can't detect V= S2015.
2) Another windows machine installed VS2015 and VS2017, vswhere can find V= S2017, but build failed with the messages
    build.py...
INFO -  : error 7000: Failed to execute command
INFO -  Vc\bin\nmake.exe

3) I have a Ubuntu 18.04 machine, build failed at the step of "stuart= _update -c OvmfPkg/PlatformBuild.py" with the error messages:
    File "/home/bobfeng/PythonVenv1/lib/python3.6/site= -packages/edk2toolext/environment/extdeptypes/nuget_dependency.py", li= ne 180, in fetch
    if self._fetch_from_cache(package_name):
  File "/home/bobfeng/PythonVenv1/lib/python3.6/site-packages/ed= k2toolext/environment/extdeptypes/nuget_dependency.py", line 113, in _= fetch_from_cache
    if not os.path.isdir(NugetDependency.global_cache_path)= :
  File "/usr/lib/python3.6/genericpath.py", line 42, in isd= ir
    st =3D os.stat(s)

Thanks,
Bob

-----Original Message-----
From: devel@edk2.groups.io [mailto= :devel@edk2.groups.io] On Behalf Of Laszlo Ersek
Sent: Wednesday, November 27, 2019 5:29 PM
To: devel@edk2.groups.io; jerecox@microsoft.com
Subject: Re: [edk2-devel] Seeking feedback: example of building OvmfPkg wi= th Pytools

Hi Jeremiah,

On 11/27/19 01:03, Jeremiah Cox via Groups.Io wrote:
> All,
> I created an example of how to build OvmfPkg using the Pytools build = environment ( https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgithub= .com%2Ftianocore%2Fedk2-pytool-extensions&amp;data=3D02%7C01%7Cjerecox%= 40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d= 7cd011db47%7C1%7C0%7C637105926421631531&amp;sdata=3DcEITDGTog5kBjBA8HQD= Rt%2FyVem9xpqtbnC%2FitE8eyTE%3D&amp;reserved=3D0 ).
> It is available for your feedback on GitHub:
> https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgithub= .com%2Fout0xb2%2Fedk2%2Fpull%2F3%2Ffiles&amp;data=3D02%7C01%7Cjerecox%4= 0microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7= cd011db47%7C1%7C0%7C637105926421631531&amp;sdata=3DSHlSuJMKDf8GOWwH8KrN= If6MtC%2FnjhRRZ1htdQT8%2Fvc%3D&amp;reserved=3D0
>
> Looking for your thoughts on integrating this example into EDK2.

This patch set seems to target the edk2 repository, and at least in part O= vmfPkg. Please submit the patch set to the list for review.

Thanks
Laszlo




--_000_BYAPR21MB1334EAAAF598BF68E307F712AD420BYAPR21MB1334namp_--