Hi Bob,

Thank you for following up on this important topic.

Adding devel@edk2.groups.io<mailto:devel@edk2.groups.io> to make sure everyone 
sees this proposal.

Mike

From: Feng, Bob C <bob.c.f...@intel.com>
Sent: Sunday, October 2, 2022 8:01 AM
To: disc...@edk2.groups.io
Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Gao, Liming 
<gaolim...@byosoft.com.cn>; Chen, Christine <yuwei.c...@intel.com>; Huang, 
Long1 <long1.hu...@intel.com>; Ni, Ray <ray...@intel.com>
Subject: Follow-up for the issue about DSC LibraryClass precedence rule

Hello,

On 30th June, we merged a BaseTools patch “Fix DSC LibraryClass precedence 
rule” to edk2 repo. This patch changed the DSC LibraryClass precedence rule to 
make the basetools behavior consistent with DSC spec. About 21th Aug, it was 
found that that patch introduced a regression issue that cause MdeModulePkg gcc 
build to fail. And after syncing that basetools patch to edk2-repo and updating 
edk2 pip-requirements.txt, that regression issue was also caught by edk2 CI. 
Finally, that patch was reverted from edk2 repo and edk2-basetools repo.

But the issue about that the DSC LibraryClass precedence rule is inconsistent 
in BaseTools implementation and DSC spec still exists. As the follow-up, the 
bug submitter, me and other stakeholders did an offline discussion, we got 
aligned that we will update DSC spec to make basetools implantation and DSC 
spec consistent. If there is no objection from the community, we will update 
DSC spec and reuse bug  https://bugzilla.tianocore.org/show_bug.cgi?id=3965 to 
track DSC spec update.

Further, to avoid similar issues happening, I’d suggest the improvement in 
basetools python tools work process. We must merge the basetools changes to 
edk2-basetools first and then sync them to edk2 repo.

  1.  Maintain process

  1.  After the patch gets reviewed, the maintainer creates a PR to 
edk-basetools repo, and merges it into edk2-basetools repo if the CI checks pass
  2.  Wait for the new version pip module generated in pypi.org
  3.  Update edk2-basetools value to the latest basetools pip module version 
from edk2/pip-requirements.txt file. Create a PR to edk2 repo to trigger edk2 
CI to do the packages build tests.
Notes: The above 3 steps is to make edk2 CI test the basetools changes.

  1.  Create a pip-requirement patch and send it to community review.
  2.  Get the Reviewed-by
Notes: Can we remove the above 2 steps to optimize the process since the 
basetools patch has been got reviewed and tested?

  1.  Create a PR and merge the pip-requirement change to edk2 repo
  2.  Create a PR and merge the basetools patch to edk2 repo

  1.  edk2-basetools repo CI enhancement

  1.  enable the edk2 packages build test in edk2-basetools CI, so that we can 
remove the step c from the above maintain process.

Also, we need every edk2 downstream consumer to be ready to use basetools pip 
module so that we can remove the python code from edk2 repo and reduce the edk2 
basetools maintenance efforts.


Thanks,
Bob


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94633): https://edk2.groups.io/g/devel/message/94633
Mute This Topic: https://groups.io/mt/94085006/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to