diff mbox series

insane: add patch-status to default ERROR_QA for all layers

Message ID 20240314070903.83765-1-martin.jansa@gmail.com
State New
Headers show
Series insane: add patch-status to default ERROR_QA for all layers | expand

Commit Message

Martin Jansa March 14, 2024, 7:09 a.m. UTC
* it's enabled for patches in oe-core for very long time and I was using
  it for many other layers as well, so most layers should be in good
  shape

* it's also possible to disable it for individual layer as shown
  by oe-core in:
  https://git.openembedded.org/openembedded-core/commit/meta/classes-global/insane.bbclass?h=scarthgap&id=61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
 meta/classes-global/insane.bbclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Ross Burton March 14, 2024, 3:32 p.m. UTC | #1
On 14 Mar 2024, at 07:09, Martin Jansa via lists.openembedded.org <Martin.Jansa=gmail.com@lists.openembedded.org> wrote:
> 
> * it's enabled for patches in oe-core for very long time and I was using
>  it for many other layers as well, so most layers should be in good
>  shape
> 
> * it's also possible to disable it for individual layer as shown
>  by oe-core in:
>  https://git.openembedded.org/openembedded-core/commit/meta/classes-global/insane.bbclass?h=scarthgap&id=61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3

This is quite a “strong” change in policy, especially for so late in the release cycle (post-M3).  I’m on the fence but lean towards letting layers opt-in, instead of forcing it on them and having to opt out.

Ross
Martin Jansa March 14, 2024, 4:06 p.m. UTC | #2
On Thu, Mar 14, 2024 at 4:32 PM Ross Burton <Ross.Burton@arm.com> wrote:
>
> On 14 Mar 2024, at 07:09, Martin Jansa via lists.openembedded.org <Martin.Jansa=gmail.com@lists.openembedded.org> wrote:
> >
> > * it's enabled for patches in oe-core for very long time and I was using
> >  it for many other layers as well, so most layers should be in good
> >  shape
> >
> > * it's also possible to disable it for individual layer as shown
> >  by oe-core in:
> >  https://git.openembedded.org/openembedded-core/commit/meta/classes-global/insane.bbclass?h=scarthgap&id=61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3
>
> This is quite a “strong” change in policy, especially for so late in the release cycle (post-M3).  I’m on the fence but lean towards letting layers opt-in, instead of forcing it on them and having to opt out.

I was expecting some response like that :/.

Other layers don't have to release at the same time as oe-core, right?
And oe-core itself won't be affected much as it was already applied
there. It's easy to resolve (even if it is by adding Pending to
.patches without any Upstream-Status) or to opt-out if they really
don't care to run one-liner to at least add Pending. Easier than
resolving build failures caused by boost upgrade this late in cycle
:).

Also if we don't add it now, then we might not add it early in next
cycle as well, because the layers opposing to fix it, won't probably
add it in master branch shortly after branching for scarthgap as well.

I'm using this for over a year and regularly sending patches to layers
I sometimes build (and when I do I use scripts/contrib/patchreview.py
to catch it in all the .patch files, not just the recipes I've built).

I don't have strong opinion, I was thinking about sending this only as
RFC, but IMHO it's worth considering.

Cheers,
Bruce Ashfield March 14, 2024, 4:16 p.m. UTC | #3
On Thu, Mar 14, 2024 at 3:09 AM Martin Jansa <martin.jansa@gmail.com> wrote:
>
> * it's enabled for patches in oe-core for very long time and I was using
>   it for many other layers as well, so most layers should be in good
>   shape
>
> * it's also possible to disable it for individual layer as shown
>   by oe-core in:
>   https://git.openembedded.org/openembedded-core/commit/meta/classes-global/insane.bbclass?h=scarthgap&id=61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3

Most people have heard my opinions on tracking status
within files themselves (versus the revision control
system), but that's not the point of my reply (for once!)

Even with the QA error only enabled in oe-core at the
moment, it is effectively enabled / enforced in all layers
... since if someone is building a product and enables
the QA error .. all layers are going to have to comply
even if they don't agree (since removing it from
someone's  QA checklist in a layer would probably
fail yocto compat standards).

The summary of my rambling is: that I lost the debate
when the check was created and became an error
in OEcore.  So surprisingly, it doesn't really matter to
me, but I lean towards doing it post release as well.

Bruce


>
> Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
> ---
>  meta/classes-global/insane.bbclass | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> index e963001d09..9350bfa106 100644
> --- a/meta/classes-global/insane.bbclass
> +++ b/meta/classes-global/insane.bbclass
> @@ -45,11 +45,10 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
>              already-stripped installed-vs-shipped ldflags compile-host-path \
>              install-host-path pn-overrides unknown-configure-option \
>              useless-rpaths rpaths staticdev empty-dirs \
> -            patch-fuzz \
> +            patch-fuzz patch-status \
>              "
>  # Add usrmerge QA check based on distro feature
>  ERROR_QA:append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}"
> -ERROR_QA:append:layer-core = " patch-status"
>  WARN_QA:append:layer-core = " missing-metadata missing-maintainer"
>
>  FAKEROOT_QA = "host-user-contaminated"
> --
> 2.44.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#197098): https://lists.openembedded.org/g/openembedded-core/message/197098
> Mute This Topic: https://lists.openembedded.org/mt/104922136/1050810
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Martin Jansa March 14, 2024, 4:33 p.m. UTC | #4
FWIW: meta-virtualization/master is fine since 2023-06-22:
https://git.yoctoproject.org/meta-virtualization/log/?qt=grep&q=Upstream-Status

There are only 4 new issues currently in master-next:

Missing Upstream-Status tag
(/OE/layers/meta-virtualization/recipes-containers/criu/files/0003-crit-pycriu-build-and-install-wheels.patch)
Missing Upstream-Status tag
(/OE/layers/meta-virtualization/recipes-containers/criu/files/0004-pycriu-attr-pycriu.version.__version__.patch)
Missing Upstream-Status tag
(/OE/layers/meta-virtualization/recipes-containers/criu/files/0005-pycriu-skip-dependency-check-during-build.patch)
Missing Upstream-Status tag
(/OE/layers/meta-virtualization/recipes-extended/virt-manager/virt-manager/0001-setup.py-move-global-args-to-install-args.patch)
Patches missing Upstream-Status: 4 (3%)
Patches with malformed Upstream-Status: 0 (0%)

meta-oe layers were updated a day before that:
https://git.openembedded.org/meta-openembedded/commit/?id=be8c765c7c4ed48404da8fd8e813c9f3ab5ad415
and few times since then:
https://git.openembedded.org/meta-openembedded/log/?qt=grep&q=Upstream-Status

Some examples in other layers:
https://git.yoctoproject.org/meta-security/log/?qt=grep&q=Upstream-Status
https://git.yoctoproject.org/meta-raspberrypi/log/?qt=grep&q=Upstream-Status
https://code.qt.io/cgit/yocto/meta-qt6.git/commit/?id=d65dc4592bc7e836dbe13d37e8e0ba0a4396f4e3
https://github.com/meta-qt5/meta-qt5/commit/2c7ddcefe58099578094c91ed9a2f48f755e2dfa
https://github.com/webosose/meta-webosose/commit/eb4838a019fdbe24a50868f8ab43dd2e6d2ae52f
https://github.com/webosose/meta-webosose/commit/2c78e37ad9ceb9e236c03b44cca5b38e9d9eb2fc
https://github.com/webOS-ports/meta-webos-ports/commit/617a7ee19e9f47d993f308264ff9392ddd9a0678
https://github.com/shift-left-test/meta-shift/commit/45c96ca2adff5015c5e29c854cafeab4d1b43153
https://github.com/kraj/meta-clang/commit/ea117ca52f51224b5a1b9223ac4c3164fc3dcfb6
https://github.com/kraj/meta-clang/commit/26534d0a406caa5652dddcd4c3694d9e925b66aa
https://github.com/OSSystems/meta-browser/commit/760f47527f1cfa757aff7427fdee9e5365a94f1b
https://github.com/OSSystems/meta-browser/commit/a9e3d2b8f29ba4a2a852f30f11943cdc6afb9e60
...

Usually by me (because I had this in ERROR_QA for long time) and I'm
willing to be Upstream-Status monkey for few more days if it helps
getting this approved and resolved in even more layers :).

Cheers,

On Thu, Mar 14, 2024 at 5:17 PM Bruce Ashfield <bruce.ashfield@gmail.com> wrote:
>
> On Thu, Mar 14, 2024 at 3:09 AM Martin Jansa <martin.jansa@gmail.com> wrote:
> >
> > * it's enabled for patches in oe-core for very long time and I was using
> >   it for many other layers as well, so most layers should be in good
> >   shape
> >
> > * it's also possible to disable it for individual layer as shown
> >   by oe-core in:
> >   https://git.openembedded.org/openembedded-core/commit/meta/classes-global/insane.bbclass?h=scarthgap&id=61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3
>
> Most people have heard my opinions on tracking status
> within files themselves (versus the revision control
> system), but that's not the point of my reply (for once!)
>
> Even with the QA error only enabled in oe-core at the
> moment, it is effectively enabled / enforced in all layers
> ... since if someone is building a product and enables
> the QA error .. all layers are going to have to comply
> even if they don't agree (since removing it from
> someone's  QA checklist in a layer would probably
> fail yocto compat standards).
>
> The summary of my rambling is: that I lost the debate
> when the check was created and became an error
> in OEcore.  So surprisingly, it doesn't really matter to
> me, but I lean towards doing it post release as well.
>
> Bruce
>
>
> >
> > Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
> > ---
> >  meta/classes-global/insane.bbclass | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> > index e963001d09..9350bfa106 100644
> > --- a/meta/classes-global/insane.bbclass
> > +++ b/meta/classes-global/insane.bbclass
> > @@ -45,11 +45,10 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
> >              already-stripped installed-vs-shipped ldflags compile-host-path \
> >              install-host-path pn-overrides unknown-configure-option \
> >              useless-rpaths rpaths staticdev empty-dirs \
> > -            patch-fuzz \
> > +            patch-fuzz patch-status \
> >              "
> >  # Add usrmerge QA check based on distro feature
> >  ERROR_QA:append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}"
> > -ERROR_QA:append:layer-core = " patch-status"
> >  WARN_QA:append:layer-core = " missing-metadata missing-maintainer"
> >
> >  FAKEROOT_QA = "host-user-contaminated"
> > --
> > 2.44.0
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#197098): https://lists.openembedded.org/g/openembedded-core/message/197098
> > Mute This Topic: https://lists.openembedded.org/mt/104922136/1050810
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [bruce.ashfield@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II
diff mbox series

Patch

diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
index e963001d09..9350bfa106 100644
--- a/meta/classes-global/insane.bbclass
+++ b/meta/classes-global/insane.bbclass
@@ -45,11 +45,10 @@  ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
             already-stripped installed-vs-shipped ldflags compile-host-path \
             install-host-path pn-overrides unknown-configure-option \
             useless-rpaths rpaths staticdev empty-dirs \
-            patch-fuzz \
+            patch-fuzz patch-status \
             "
 # Add usrmerge QA check based on distro feature
 ERROR_QA:append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}"
-ERROR_QA:append:layer-core = " patch-status"
 WARN_QA:append:layer-core = " missing-metadata missing-maintainer"
 
 FAKEROOT_QA = "host-user-contaminated"