diff mbox series

[RFC,3/3] patchreview: use check_upstream_status() from oe.qa

Message ID 20230215172041.636292-3-Martin.Jansa@gmail.com
State New
Headers show
Series [1/3] insane.bbclass: use 4 spaces for indentation | expand

Commit Message

Martin Jansa Feb. 15, 2023, 5:20 p.m. UTC
* the idea was to reuse the same function as I've noticed that the
  QA check which was added to insane.bbclass in:
  https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a
  is in some cases more strcit than scripts/contrib/patchreview.py

  To be honest I wasn't aware of scripts/contrib/patchreview.py
  existence when I've asked about moving check_upstream_status()
  to oe.qa in order to write standalone script just like
  patchreview.py, now I don't feel strongly about sharing this
  functionality (other than adjusting regexes in patchreview.py)

* it finds one "new" issue in oe-core:
  Malformed Upstream-Status 'Malformed Upstream-Status in patch
  meta/recipes-support/libssh2/files/0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch
  Please correct according to https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status :
  Upstream-Status: Inappropriate[oe specific]' (meta/recipes-support/libssh2/files/0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch)

* but unlike the QA check patchreview.py will report this:
  -Upstream-Status: Submitted [https://github.com/madler/zlib/pull/599]
  +Upstream-Broken-Status: Submitted [https://github.com/madler/zlib/pull/599]

  as a missing Upstream-Status instead of malformed as reported by QA check:

  ERROR: zlib-native-1.2.13-r0 do_patch: QA Issue: Malformed Upstream-Status in patch
  /OE/build/oe-core/openembedded-core/meta/recipes-core/zlib/zlib/0001-configure-Pass-LDFLAGS-to-link-tests.patch
  Please correct according to https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status :
  Upstream-Broken-Status: Submitted [https://github.com/madler/zlib/pull/599] [patch-status-core]

* RFC: let me know if you think it's worth re-working this to better
  integrate (e.g. detecting Upstream-Broken-Status and not repeating
  .patch path in patchreview.py output) or if I should just adjust
  regexes in patchreview.py.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 scripts/contrib/patchreview.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

Comments

Richard Purdie Feb. 17, 2023, 10:37 a.m. UTC | #1
On Wed, 2023-02-15 at 18:20 +0100, Martin Jansa wrote:
> * the idea was to reuse the same function as I've noticed that the
>   QA check which was added to insane.bbclass in:
>   https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a
>   is in some cases more strcit than scripts/contrib/patchreview.py
> 
>   To be honest I wasn't aware of scripts/contrib/patchreview.py
>   existence when I've asked about moving check_upstream_status()
>   to oe.qa in order to write standalone script just like
>   patchreview.py, now I don't feel strongly about sharing this
>   functionality (other than adjusting regexes in patchreview.py)
> 
> * it finds one "new" issue in oe-core:
>   Malformed Upstream-Status 'Malformed Upstream-Status in patch
>   meta/recipes-support/libssh2/files/0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch
>   Please correct according to https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status :
>   Upstream-Status: Inappropriate[oe specific]' (meta/recipes-support/libssh2/files/0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch)
> 
> * but unlike the QA check patchreview.py will report this:
>   -Upstream-Status: Submitted [https://github.com/madler/zlib/pull/599]
>   +Upstream-Broken-Status: Submitted [https://github.com/madler/zlib/pull/599]
> 
>   as a missing Upstream-Status instead of malformed as reported by QA check:
> 
>   ERROR: zlib-native-1.2.13-r0 do_patch: QA Issue: Malformed Upstream-Status in patch
>   /OE/build/oe-core/openembedded-core/meta/recipes-core/zlib/zlib/0001-configure-Pass-LDFLAGS-to-link-tests.patch
>   Please correct according to https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status :
>   Upstream-Broken-Status: Submitted [https://github.com/madler/zlib/pull/599] [patch-status-core]
> 
> * RFC: let me know if you think it's worth re-working this to better
>   integrate (e.g. detecting Upstream-Broken-Status and not repeating
>   .patch path in patchreview.py output) or if I should just adjust
>   regexes in patchreview.py.

FWIW I quite like the idea of detecting malformed entries and it would
be nice if both pieces of code behaved the same way...

Cheers,

Richard
diff mbox series

Patch

diff --git a/scripts/contrib/patchreview.py b/scripts/contrib/patchreview.py
index b22cc07f0a..ce6b0f05c4 100755
--- a/scripts/contrib/patchreview.py
+++ b/scripts/contrib/patchreview.py
@@ -42,7 +42,9 @@  def blame_patch(patch):
                                     "--", patch)).decode("utf-8").splitlines()
 
 def patchreview(path, patches):
-    import re, os.path
+    import re, os.path, sys
+    sys.path.append(os.path.join(sys.path[0], '../../meta/lib'))
+    import oe.qa
 
     # General pattern: start of line, optional whitespace, tag with optional
     # hyphen or spaces, maybe a colon, some whitespace, then the value, all case
@@ -72,12 +74,11 @@  def patchreview(path, patches):
         else:
             result.missing_sob = True
 
-
         # Find the Upstream-Status tag
         match = status_re.search(content)
         if match:
-            value = match.group(1)
-            if value != "Upstream-Status:":
+            value = oe.qa.check_upstream_status(fullpath)
+            if value:
                 result.malformed_upstream_status = value
 
             value = match.group(2).lower()