public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Jeremiah Cox" <jerecox@microsoft.com>
To: "Feng, Bob C" <bob.c.feng@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"lersek@redhat.com" <lersek@redhat.com>,
	Sean Brogan <sean.brogan@microsoft.com>,
	Matthew Carlson <macarl@microsoft.com>,
	Bret Barkelew <Bret.Barkelew@microsoft.com>
Subject: Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools
Date: Tue, 3 Dec 2019 00:40:22 +0000	[thread overview]
Message-ID: <BYAPR21MB1334EAAAF598BF68E307F712AD420@BYAPR21MB1334.namprd21.prod.outlook.com> (raw)
In-Reply-To: <08650203BA1BD64D8AD9B6D5D74A85D16156DED1@SHSMSX104.ccr.corp.intel.com>

[-- Attachment #1: Type: text/plain, Size: 6087 bytes --]

Hi Bob,

Responses to your questions:

  1.  Yes, PlatformBuild.py could be seen as a template for a relatively-simple, Pytools platform builder.  I am also working on a more complex example for the Edk2-Platforms 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 overrides UefiBuilder, BuildSettingsManager, 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 OvmfPkg and EmulatorPkg include build.sh scripts that provide some pre and post build convenience features.  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 & test MdeModulePkg and more:
     *   https://github.com/tianocore/edk2/tree/master/.pytool
     *   https://github.com/tianocore/edk2/blob/master/MdeModulePkg/MdeModulePkg.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 PlatformBuild.py, then the command-line.  @Sean Brogan<mailto:sean.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@microsoft.com> for more details.
  3.  I am working on an example of building KabylakeOpenBoardPackage https://github.com/out0xb2/edk2-platforms/pull/2 .  Custom pre and post build steps 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 into plug-ins.  I demonstrate the plug-in model in the Intel Silicon Tools.
  4.  Hmm, I would ask @Sean Brogan<mailto:sean.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@microsoft.com>
  5.  We do not currently support VS 2015, only 2017 and 2019.  I’m hearing 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 Build\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/tianocore/edk2-ci/_build?definitionId=31&_a=summary



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<mailto:bob.c.feng@intel.com>
Sent: Thursday, November 28, 2019 18:50
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Jeremiah Cox<mailto:jerecox@microsoft.com>
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 example 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 CommonPlatform 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 VS2017, 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", 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_cache
    if not os.path.isdir(NugetDependency.global_cache_path):
  File "/usr/lib/python3.6/genericpath.py", line 42, in isdir
    st = 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 with 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=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions&amp;data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&amp;sdata=cEITDGTog5kBjBA8HQDRt%2FyVem9xpqtbnC%2FitE8eyTE%3D&amp;reserved=0 ).
> It is available for your feedback on GitHub:
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fout0xb2%2Fedk2%2Fpull%2F3%2Ffiles&amp;data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&amp;sdata=SHlSuJMKDf8GOWwH8KrNIf6MtC%2FnjhRRZ1htdQT8%2Fvc%3D&amp;reserved=0
>
> Looking for your thoughts on integrating this example into EDK2.

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

Thanks
Laszlo





[-- Attachment #2: Type: text/html, Size: 11198 bytes --]

  reply	other threads:[~2019-12-03  0:40 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-27  0:03 Seeking feedback: example of building OvmfPkg with Pytools Jeremiah Cox
2019-11-27  9:28 ` [edk2-devel] " Laszlo Ersek
2019-11-29  2:50   ` Bob Feng
2019-12-03  0:40     ` Jeremiah Cox [this message]
     [not found]       ` <MN2PR21MB12620D584417FD5F98564AE6D1420@MN2PR21MB1262.namprd21.prod.outlook.com>
2019-12-03  7:47         ` [EXTERNAL] " Bob Feng
     [not found]           ` <MN2PR21MB12622D6027E9F93768FA4D79D1420@MN2PR21MB1262.namprd21.prod.outlook.com>
2019-12-03 17:51             ` Jeremiah Cox
     [not found]               ` <MN2PR21MB12622C51F53677E34B8C214AD1420@MN2PR21MB1262.namprd21.prod.outlook.com>
2019-12-03 18:11                 ` Sean
2019-12-06  2:35                   ` Bob Feng
2019-12-06  4:39                     ` [edk2-devel] " Sean
2019-12-06  6:51                       ` Bob Feng
  -- strict thread matches above, loose matches on Subject: below --
2019-12-09 18:46 Jeremiah Cox
2019-12-10  0:11 ` Bob Feng

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=BYAPR21MB1334EAAAF598BF68E307F712AD420@BYAPR21MB1334.namprd21.prod.outlook.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