Philippe Mathieu-Daude
38ed2ff3dd
BaseTools/Scripts/PatchCheck.py: Detect emails rewritten by Groups.Io
...
Due to strict DMARC / DKIM / SPF rules, Groups.Io sometimes rewrite
the author email. See for example commit df851da3ce .
Add a check to detect these rewrites with PatchCheck.py.
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2020-02-06 13:16:09 +00:00
Philippe Mathieu-Daude
a4960cf1b6
BaseTools/Scripts: Add log.mailmap to SetupGit.py
...
We added .mailmap to the repository in commit 4a1aeca3bd
to display commit mistakes fixed. Use this option by default in our
git setup.
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2020-02-06 13:16:09 +00:00
Michael D Kinney
c8b8157e12
BaseTools/Scripts/PatchCheck.py: Remove submodule false positives
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2484
https://bugzilla.tianocore.org/show_bug.cgi?id=2485
Update PatchCheck to not enforce no tabs and not enforce CR/LF
line endings for .gitmodules files. These files are updated by
git when a git submodule command is used and the updates by git
use tab characters and LF line endings.
Also update patch check to not enforce CR/LF line endings for
patch lines that create a submodule directory. These patch
lines use LF line endings. The git submodule directory is
added as a new file with attributes 160000 that can be detected
by looking for the pattern "new file mode 160000".
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
2020-01-24 18:30:13 +00:00
Michael D Kinney
b112ec225f
BaseTools/Scripts/PatchCheck: Address false error conditions
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2406
* Always print subject line after the git commit id to make
it easier to know the context of warnings or errors.
* Allow UTF-8 characters in subject line
* Error if subject line length > 75 without CVE-xxx-xxxxx present
* Error if subject line length > 92 with CVE-xxxx-xxxxx present
* If body line length is > 75, then print warning instead of error.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
2020-01-13 18:18:03 +00:00
Philippe Mathieu-Daude
c0328cf380
BaseTools/PatchCheck.py: Check the patch author email address
...
To avoid patches committed with incorrect email address,
use the EmailAddressCheck class on the author email too.
Example:
$ python BaseTools/Scripts/PatchCheck.py 1a04951309
Checking git commit: 1a04951309
The 'Author' email address is not valid:
* The email address cannot contain a space: /o=Intel/ou=External \
(FYDIBOHF25SPDLT)/cn=Recipients/cn=fe425ca7e5f4401abed22b904fe5d964
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com >
2020-01-10 04:06:42 +00:00
Philippe Mathieu-Daude
8120390aab
BaseTools/PatchCheck.py: Let EmailAddressCheck describe email checked
...
We are checking different emails from the signature list. We are
going to check more. To be able to differency, add a description
field, so the error reported is clearer.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com >
2020-01-10 04:06:42 +00:00
Philippe Mathieu-Daude
8f38b08b50
BaseTools/PatchCheck.py: Check the committer email address
...
To avoid patches committed with incorrect email address,
use the EmailAddressCheck class on the committer email too.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com >
2020-01-10 04:06:42 +00:00
Philippe Mathieu-Daude
8ffa47fb3a
BaseTools/PatchCheck.py: Extract email check code to EmailAddressCheck
...
As we are going to reuse this code out of the CommitMessageCheck
class, extract it in a new class: EmailAddressCheck.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com >
2020-01-10 04:06:42 +00:00
Philippe Mathieu-Daud?
2649a735b2
BaseTools/PatchCheck.py: Ignore CR and LF characters in subject length
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=113
Strip the trailing characters before checking the subject line is
less than 72 characters.
Fixes: e61406708c
Cc: Liming Gao <liming.gao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com >
2020-01-09 06:09:33 +00:00
Desimone, Nathaniel L
a5abd9cc2c
BaseTools/Scripts: Add sendemail.transferEncoding to SetupGit.py
...
If git finds a '\r' character in the message, then it
converts the entire message content into Quoted-Printable
encoding. It appears that when groups.io converts the QP
encoding back to text format, the '\r' characters somehow
become '\n'. To workaround this, the SetupGit.py script
will now explicitly set the sendemail.transferEncoding git
config option to '8bit'
Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-12-24 08:31:20 +00:00
Leif Lindholm
d79b63c64f
BaseTools: correct line endings for ConvertFce Python script
...
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
2019-10-04 11:18:22 +01:00
Fan, ZhijuX
6da405ebf6
BaseTools:"--exclude" don't apply if parameter ends with separator
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1944
FormatDosFiles.py Intel\ServerSiliconPkg --exclude Library\SimRegisters\
Its parameter "Library\SimRegisters\" ends with '\'
but I can't seem to get it to exclude the SimRegisters directory
This patch is going to fix this issue
Cc: Liming Gao <liming.gao@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
2019-09-27 08:17:55 +08:00
Chasel Chiu
caa7d3a896
BaseTools/Scripts: Add GetUtcDateTime script.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2067
A script that can return UTC date and time in ascii
format which is convenient for patching build time
information in any binary.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Acked-by: Leif Lindholm <leif.lindholm@linaro.org >
2019-08-15 15:49:11 +08:00
Fan, ZhijuX
35ec41803c
BaseTools:Add the Judgment Method of "--exclude"
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1944
--exclude cannot be used under certain circumstances
1.The value of the parameter USES an absolute path
2.The value of Exclude parameters is based on the value
of the Path parameter
Neither of these approaches currently works
This patch is going to fix that issue.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-08-08 21:45:35 +08:00
Michael D Kinney
96603b4f02
BaseTools/PatchCheck: Disable text conversion in 'git show'
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2044
'git show' is used to extract the patch contents for analysis.
Add the flag '--no-textconv' to the 'git show' command to
disable the conversion from some binary file types to text
content.
Without this change, binary files such as .pdf files are
converted to text in the show command and PatchCheck complains
that the wrong line endings are used in the patch.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
2019-08-07 22:12:02 -07:00
Michael D Kinney
1eeb5ff160
BaseTools/PatchCheck: Add copy from/to keywords
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2044
When files are very similar, git will copy an existing
file to a new location and then apply differences. This
is operation identified in the diff with 'copy from' and
'copy to' lines that need to be ignored.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
2019-08-07 22:11:50 -07:00
Michael D Kinney
05579e5182
BaseTools/PatchCheck: Ignore blank lines in diff
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2044
When fixes are made for incorrect line endings, there
are cases where the diff contains blank lines. Ignore
these blank lines.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
2019-08-07 22:11:42 -07:00
Leif Lindholm
7d0a56c4a1
BaseTools: add GetMaintainer.py script
...
Add a new script GetMaintainer.py that uses the new Maintainer.txt format
to determine which addresses to cc on patch submission.
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Tested-by: Philippe Mathieu-Daude <philmd@redhat.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-24 17:45:55 +01:00
Antoine Cœur
2d53d54a5b
BaseTools: Fix various typos
...
Fix various typos in BaseTools.
Signed-off-by: Cœur <coeur@gmx.fr >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-08 08:59:29 +08:00
Fan, ZhijuX
401507c786
BaseTools:Add DetectNotUsedItem.py to Edk2\BaseTools\Scripts
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1850
This script is used to Detect unreferenced PCD and GUID/Protocols/PPIs.
The input parameters are Dec file and package directory.
This script can be run in both Py2 and Py3.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-06-25 09:23:48 +08:00
Leif Lindholm
4eb0acb1e2
BaseTools: add script to configure local git options
...
Patch contribution and review is greatly simplified by following the
steps described in "Laszlo's unkempt guide":
https://github.com/tianocore/tianocore.github.io/wiki/Laszlo's-unkempt-git-guide-for-edk2-contributors-and-maintainers
but there are a lot of tedious manual steps in there, so here is a
python script that configures all options I am aware of
*for the repository the script is executed from*.
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-06-12 10:10:11 +08:00
Fan, ZhijuX
cfb29d2bda
BaseTools:update ConvertFceToStructurePcd.py with the char order PCD name.
...
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1718
BaseTools\Scripts\ConvertFceToStructurePcd.py
Update script to sort the PCD order base on PcdName,
then base on Pcd field name.
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-18 08:55:21 +08:00
Michael D Kinney
a281361014
BaseTools/PatchCheck: Generate error if Contributed-under found
...
https://bugzilla.tianocore.org/show_bug.cgi?id=1655
With the change to BSD+Patent License, the TianoCore Contributor's
Agreement has been removed and as a result, a Contributed-under
tag is no longer appropriate in patches. Remove the check for
the TianoCore Contributor's Agreement and instead, generate an
error if a patch contains a Contributed-under tag in the commit
message.
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
2019-04-09 11:26:28 -07:00
Michael D Kinney
2e351cbe8e
BaseTools: Replace BSD License with BSD+Patent License
...
https://bugzilla.tianocore.org/show_bug.cgi?id=1373
Replace BSD 2-Clause License with BSD+Patent License. This change is
based on the following emails:
https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html
RFCs with detailed process for the license change:
V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-04-09 09:10:20 -07:00
Fan, ZhijuX
8ef3a6ec1f
BaseTools:Run packagedoc_cli.py to generate doc failed
...
The reason for this problem is that the file was opened incorrectly.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-03-06 09:17:33 +08:00