public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Dandan Bi" <dandan.bi@intel.com>
To: "afish@apple.com" <afish@apple.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	Laszlo Ersek <lersek@redhat.com>
Cc: "Ni, Ray" <ray.ni@intel.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>,
	"Cetola, Stephano" <stephano.cetola@intel.com>,
	"Gao, Liming" <liming.gao@intel.com>,
	"Carsey, Jaben" <jaben.carsey@intel.com>,
	"Bi, Dandan" <dandan.bi@intel.com>
Subject: Re: [edk2-devel] [edk2] [RFC] Plan to delete ShellBinPkg from edk2/master
Date: Mon, 8 Apr 2019 08:08:03 +0000	[thread overview]
Message-ID: <3C0D5C461C9E904E8F62152F6274C0BB40BB8401@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <5F352F8C-272F-45F4-9834-54ACE2C814FE@apple.com>

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

Thanks Andrew for the summary.

For now there is no objection for platform to use shell source build, so I think I can remove the dependency of ShellBinPkg in all open platforms firstly.
And I will delete ShellBinPkg if there is no need to publish shell binaries or after shell binaries have been uploaded with stable tag.

If all think publish stable shell binaries is useful and need to upload them with stable tag.
Liming,  could you help work out the process for shell binaries publish with each edk2 stable tag?
Then we can follow the process to upload the binaries and remove ShellBinPkg finally.

Thanks,
Dandan

From: afish@apple.com [mailto:afish@apple.com]
Sent: Friday, April 5, 2019 12:36 AM
To: devel@edk2.groups.io; Laszlo Ersek <lersek@redhat.com>
Cc: Ni, Ray <ray.ni@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Cetola, Stephano <stephano.cetola@intel.com>; Gao, Liming <liming.gao@intel.com>; Carsey, Jaben <jaben.carsey@intel.com>
Subject: Re: [edk2-devel] [edk2] [RFC] Plan to delete ShellBinPkg from edk2/master




On Apr 4, 2019, at 9:06 AM, Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>> wrote:

On 04/04/19 17:10, Andrew Fish wrote:




On Apr 4, 2019, at 3:45 AM, Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>> wrote:

On 04/04/19 06:09, Andrew Fish wrote:




On Apr 3, 2019, at 8:42 PM, Ni, Ray <ray.ni@intel.com<mailto:ray.ni@intel.com>> wrote:

Mike, Laszlo,
It's a good idea to store the shell binaries into the assets of each stable tag.

If we go in this way, it means "build" requires network connection to download the
shell binary from the assets of a certain release.
Do you think it's acceptable?

Ray,

The other option would be to have a configuration step, like installing Python or the C compilers, that copies the binary. You need a network connection to clone the git repo and to stay in sync with it. I guess you could model that as a git submodule, or actually have a script that grabs the binary you want from a remote system, and fall back to the local copy if you don't have a network connection.



Or we can separate the binary download and build into two phases so build phase
can be independent on network connection.

Is there any known practice/solution for such requirement (stable sub-component binaries
needed by a production image generation)?

I think to some extent this kind of thing is driven by the customers build rules. Basically what the customer think of as their manifest of parts for software version X.

I suggested PREBUILD because I took it as a given, from Mike's problem
statement, that "build" had to ensure, internally, the local
availability of the shell binary.

If that's a not requirement, then IMO it's much better to leave it to
organizations to fetch the prerequisites of their platform builds. I'd
say that's out of scope for upstream edk2 -- if they need the shell
binary to be available off-line, at their build time, they can download
it earlier and cache it locally.

Laszlo,

I guess for edk2 projects the maintainers own the manifest. So the edk2 projects that need the Shell should define how that works. I don't think we need to define a generic solution for 3rd parties as I'd guess Red Hat and Microsoft probably already have tools and strategies to deal with cobbling together software from different packages.

So I guess we should ask the maintainers of the ekd2 packages does the version of the Shell matter? If no then just pre-install a shell binary as part of the setup. If the version matters then we should look into doing something a little more fancy, and use the pre-installed shell binary as the fallback.

Is there anyway to tell the Shell version from the Shell PE/COFF? One option could be a build warning if the shell is old and just have the user manually update the shell if needed.

As a co-maintainer under OvmfPkg and ArmVirtPkg, I prefer to build the
shell from source at all times, namely from the source code that is part
of the entire edk2 tree at a given commit / checkout.

I don't see any possibility or desire for the virtual firmware packages
(RPMs) that I have a say in to consume/ship a pre-built UEFI shell binary.

--*--

The reason I recommend for us (the TianoCore community) to offer the
shell as a prebuilt binary too, somewhere on the web, is because it
would help UEFI users (in the most general sense).


Laszlo,

Sorry I might have taken the discussion off the rails.

1) It seems like that for edk2 folks are happy with build form source.
2)I agree it would useful to have a known good binary that people can download from the web, and the hash that proves it is the version you think it is. Some instructions on how build a bootable USB key would be useful too.
3) We don't really need to solve the problem of a build system and binaries if non of the edk2 packages require that feature.

Thanks,

Andrew Fish


Thanks,
Laszlo




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

  reply	other threads:[~2019-04-08  8:08 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-02  5:38 [RFC] Plan to delete ShellBinPkg from edk2/master Bi, Dandan
2019-04-02  8:49 ` Laszlo Ersek
2019-04-02  9:12   ` Leif Lindholm
2019-04-02 11:29     ` Ryszard Knop
2019-04-02 11:45       ` Laszlo Ersek
2019-04-02 11:50         ` Ryszard Knop
2019-04-02 12:56           ` Laszlo Ersek
2019-04-03  2:17   ` Ni, Ray
2019-04-03 10:09     ` Laszlo Ersek
2019-04-03 15:49       ` Kinney, Michael D
2019-04-03 16:07         ` Laszlo Ersek
2019-04-03 21:47           ` [edk2] " Michael D Kinney
2019-04-04  3:42             ` ray.ni
2019-04-04  4:09               ` [edk2-devel] " Andrew Fish
2019-04-04 10:45                 ` Laszlo Ersek
2019-04-04 15:10                   ` Andrew Fish
2019-04-04 16:06                     ` Laszlo Ersek
2019-04-04 16:36                       ` Andrew Fish
2019-04-08  8:08                         ` Dandan Bi [this message]
2019-04-15 14:58                           ` Liming Gao

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=3C0D5C461C9E904E8F62152F6274C0BB40BB8401@SHSMSX104.ccr.corp.intel.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