yocto-check-layer: disregard checks if referencing another README file

Message ID 20211204181809.17100-1-jdmason@kudzu.us
State Accepted, archived
Commit 443c73d638519d6a7ea44d1c0e80d76306687ddc
Headers show
Series yocto-check-layer: disregard checks if referencing another README file | expand

Commit Message

Jon Mason Dec. 4, 2021, 6:18 p.m. UTC
It is permissible to have a layer's README reference another README.  If
this is the case, avoid other checks.  Do this by checking for the word
README (case insensitive) in the README file.  This might be too
permissive, but follows the pattern of looking for exact words (like
"patch" or "maintainer") in READMEs.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
---
 scripts/lib/checklayer/cases/common.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Patch

diff --git a/scripts/lib/checklayer/cases/common.py b/scripts/lib/checklayer/cases/common.py
index 52c786f77b58..fdfb5d18cdc6 100644
--- a/scripts/lib/checklayer/cases/common.py
+++ b/scripts/lib/checklayer/cases/common.py
@@ -26,7 +26,12 @@  class CommonCheckLayer(OECheckLayerTestCase):
             data = f.read()
         self.assertTrue(data,
                 msg="Layer contains a README file but it is empty.")
-        self.assertIn('maintainer',data)
+
+        # If a layer's README references another README, then the checks below are not valid
+        if re.search('README', data, re.IGNORECASE):
+            return
+
+        self.assertIn('maintainer', data)
         self.assertIn('patch',data)
         # Check that there is an email address in the README
         email_regex = re.compile(r"[^@]+@[^@]+")