Preamble
This guide is meant as a complement to Laszlo's more official guide, in order to fill some missing bits and pieces.
This assumes that you cloned the edk2
, edk2-platforms
and edk2-non-osi
repository and set up tianocore.template
,
edk2.diff.order
and so on.
Commits validation
As per Laslzo's guide, the first thing you want to do before sending any patchset is validate that it passes the checks with something like:
/c/python3/python /d/edk2/BaseTools/Scripts/PatchCheck.py -3
The -3
at the end tells how many patches the script should check. In this case this assumes that you have a pacthset of 3 commits.
Pacthset generation
If the check passes, you will want to generate the .patch
files and cover letter with something like this:
git format-patch --notes -O /d/edk2.diff.order --subject-prefix="`edk2-platform][PATCH" --stat=1000 --stat-graph-width=20 -M origin/master -3 HEAD
Once again, the -3
above indicates how many commits should be picked.
You will also note that the line above uses --subject-prefix="edk2-platform][PATCH"
which results in each patch appearing on the list as [edk2-platforms][PATCH x/3] <commit title>
, which is useful to differentiate edk2-platforms
from straight edk2
patches.
If you are sending a patch to edk2
, you should of course drop the edk2-platform][
part.
Note that if you are sending a revised version of a patchset, you should add a v2
or v3
to subject prefix to have something like -subject-prefix="edk2-platform][PATCH v2"
.
From there, you will have a bunch of .patch
files as well a 0000-cover-letter.patch
. Depending on the nature of the patchset,
you want to either delete the cover letter (single small patch) or edit it to detail the changes being applied by the patchset.
Sending the patchset
Then you need to find out what maintainers you need to add in CC of your patchset (since the list is high volume, and maintainers
may miss patches unless in explicit CC).Each of the edk2 repos has a Maintainers.txt
that tell you the maintainers for each
module or platform.
For instance, when it comes to sending Rasbperry Pi patches, you want to have Ard and Leif in CC since they are the official maintainers for the platform, and therefore use something like:
git send-email -cc=ard.biesheuvel@linaro.org -cc=leif@nuviainc.com --suppress-cc=author --suppress-cc=self --suppress-cc=cc --suppress-cc=sob *.patch
Note that this command will send any .patch
file that resides in your repository, so you may want to make sure that there aren't
any leftovers from previous patchsets before issuing the above.
And of course, you need to have set up your git config accordingly to send e-mail to the list, with something like:
[sendemail]
chainreplyto = false
thread = true
smtpserver = smtp.gmail.com
smtpserverport = 587
smtpencryption = tls
smtpuser = pete@akeo.ie
smtppass = #########################
from = Pete Batard <pete@akeo.ie>
to = devel@edk2.groups.io