public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael Kubacki" <mikuback@linux.microsoft.com>
To: devel@edk2.groups.io, pedro.falcato@gmail.com
Cc: Andrew Fish <afish@apple.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Pierre Gondois <pierre.gondois@arm.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Abner Chang <abner.chang@amd.com>, Min Xu <min.m.xu@intel.com>,
	Zhiguang Liu <zhiguang.liu@intel.com>,
	Tuan Phan <tphan@ventanamicro.com>, Yu Pu <yu.pu@intel.com>,
	Ray Ni <ray.ni@intel.com>
Subject: Re: [edk2-devel] Commits Spanning Packages
Date: Wed, 31 Jan 2024 16:03:40 -0500	[thread overview]
Message-ID: <0294a34b-0632-4fb9-8cbc-276854b3dec7@linux.microsoft.com> (raw)
In-Reply-To: <CAKbZUD2v2DtUx26BCaKhBkbKpoNfPihNWEkN5KS527vqQczntA@mail.gmail.com>

On 1/31/2024 3:41 PM, Pedro Falcato wrote:
> On Wed, Jan 31, 2024 at 6:58 PM Michael Kubacki
> <mikuback@linux.microsoft.com> wrote:
>>
>> Some commits have been spanning packages. For a monolithic upstream repo
>> like edk2, this makes ingesting commits downstream more tedious if
>> project requirements do not necessitate all packages to be maintained.
>>
>> Below are examples of commits spanning packages. Many of these are more
>> problematic because "core" packages like MdePkg, MdeModule, SecurityPkg,
>> UefiCpuPkg, etc. are involved. OvmfPkg and ArmVirtPkg seem to be a
>> common pairing. To focus the examples below, I excluded commits with
>> that pair.
>>
>> The request is to limit crossing package boundaries as much as possible
>> and for maintainers to assess package impact when merging changes.
> 
> Personally I'm all for making downstreams' lives easier, but I don't
> see how one could pull off many of the changes you linked, in 2+
> commits, without breaking bisection.
> 
> Pulling off 103fa647d159e3d76be2634d2653c2d215dd0d46 would require you
> to duplicate the struct, change a bunch of usages of the old struct to
> the new struct, then change the old one back. This is hugely annoying
> and complicated, and we should avoid this kind of rigamarole if
> possible.
> 

That is why the request is:

"... to limit crossing package boundaries as much as possible
and for maintainers to assess package impact when merging changes."

Not an absolute rule. However, the rules currently seem ambiguous and 
susceptible to convenience.

To provide a counter example of a single change that could easily be 
split up and couples MdePkg (highly used, mandatory, fundamental) with 
RedfishPkg (much less frequently used, specialized) - 
https://github.com/tianocore/edk2/commit/7275993dc64481b1c21d7d70af434bf.

There are also dependency relationships between packages. The example 
you cited is between ArmPkg and ArmPlatformPkg. Which has better 
cohesion than something like the example I provided between MdePkg and 
RedfishPkg. Or, all the packages involved in 
https://github.com/tianocore/edk2/commit/2f981bddcbd6adde5f682caf0d3812b 
(which could also easily been split up).

Those should have been split up and could have with minimal effort.

Not looking for anything more than to request devs understand impact, 
package relationships/scope, and consider tooling to make this more 
consistent and raise awareness when it relatively rarely comes up.

- Michael


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#114921): https://edk2.groups.io/g/devel/message/114921
Mute This Topic: https://groups.io/mt/104081468/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



      reply	other threads:[~2024-01-31 21:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-31 18:58 [edk2-devel] Commits Spanning Packages Michael Kubacki
2024-01-31 19:33 ` Michael D Kinney
2024-01-31 20:41 ` Pedro Falcato
2024-01-31 21:03   ` Michael Kubacki [this message]

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=0294a34b-0632-4fb9-8cbc-276854b3dec7@linux.microsoft.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