diff mbox series

insane.bbclass: Allow the warning about virtual/ to be disabled

Message ID 20240122055232.2415989-1-pkj@axis.com
State New
Headers show
Series insane.bbclass: Allow the warning about virtual/ to be disabled | expand

Commit Message

Peter Kjellerstedt Jan. 22, 2024, 5:52 a.m. UTC
Commit f673d3d239799fb1ab50f4aa5d44187666aa0cd7 introduced a warning for
virtual/ being used in RPROVIDES and RDEPENDS. Make it possible to
disable the warning by removing "virtual-slash from WARN_QA.

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
 meta/classes-global/insane.bbclass | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

Comments

Richard Purdie Jan. 22, 2024, 2:02 p.m. UTC | #1
On Mon, 2024-01-22 at 06:52 +0100, Peter Kjellerstedt wrote:
> Commit f673d3d239799fb1ab50f4aa5d44187666aa0cd7 introduced a warning for
> virtual/ being used in RPROVIDES and RDEPENDS. Make it possible to
> disable the warning by removing "virtual-slash from WARN_QA.
> 
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ---
>  meta/classes-global/insane.bbclass | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)

Whilst I can understand why you might want to make this configurable,
I'm not sure if is a great idea since people are just going to turn it
off and continue to ignore it :/.

virtual/ in the runtime namespace has never been supported and always
been strongly recommended against.

Cheers,

Richard
Martin Jansa Jan. 22, 2024, 2:10 p.m. UTC | #2
On Mon, Jan 22, 2024 at 3:02 PM Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Mon, 2024-01-22 at 06:52 +0100, Peter Kjellerstedt wrote:
> > Commit f673d3d239799fb1ab50f4aa5d44187666aa0cd7 introduced a warning for
> > virtual/ being used in RPROVIDES and RDEPENDS. Make it possible to
> > disable the warning by removing "virtual-slash from WARN_QA.
> >
> > Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > ---
> >  meta/classes-global/insane.bbclass | 13 +++++++------
> >  1 file changed, 7 insertions(+), 6 deletions(-)
>
> Whilst I can understand why you might want to make this configurable,
> I'm not sure if is a great idea since people are just going to turn it
> off and continue to ignore it :/.
>

It also allows to add it to ERROR_QA :).
Peter Kjellerstedt Jan. 22, 2024, 2:20 p.m. UTC | #3
> -----Original Message-----
> From: Richard Purdie <richard.purdie@linuxfoundation.org>
> Sent: den 22 januari 2024 15:02
> To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>; openembedded-
> core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] insane.bbclass: Allow the warning about
> virtual/ to be disabled
> 
> On Mon, 2024-01-22 at 06:52 +0100, Peter Kjellerstedt wrote:
> > Commit f673d3d239799fb1ab50f4aa5d44187666aa0cd7 introduced a warning for
> > virtual/ being used in RPROVIDES and RDEPENDS. Make it possible to
> > disable the warning by removing "virtual-slash from WARN_QA.
> >
> > Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > ---
> >  meta/classes-global/insane.bbclass | 13 +++++++------
> >  1 file changed, 7 insertions(+), 6 deletions(-)
> 
> Whilst I can understand why you might want to make this configurable,
> I'm not sure if is a great idea since people are just going to turn it
> off and continue to ignore it :/.
> 
> virtual/ in the runtime namespace has never been supported and always
> been strongly recommended against.

We do not produce any package feeds and AFAIK in that case virtual/ works 
fine for runtime dependencies since it is only a name, just like, e.g., 
virtual-.

We get a gazillion warnings due to this during parsing, and it is not 
anything I can solve easily. And since it is just a warning that currently 
doesn't affect us, I would like to turn it off for now.

And as Martin mentioned, with my change applied, those who want can turn 
the warning into an error. And being able to do that is typically the only 
way to actually get rid of all warnings and keep them from coming back.

> 
> Cheers,
> 
> Richard

//Peter
Peter Kjellerstedt Feb. 10, 2024, 12:18 a.m. UTC | #4
*ping*

//Peter

> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Peter Kjellerstedt
> Sent: den 22 januari 2024 15:21
> To: Richard Purdie <richard.purdie@linuxfoundation.org>; openembedded-core@lists.openembedded.org
> Cc: Martin Jansa <martin.jansa@gmail.com>
> Subject: Re: [OE-core] [PATCH] insane.bbclass: Allow the warning about virtual/ to be disabled
> 
> > -----Original Message-----
> > From: Richard Purdie <richard.purdie@linuxfoundation.org>
> > Sent: den 22 januari 2024 15:02
> > To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>; openembedded-core@lists.openembedded.org
> > Subject: Re: [OE-core] [PATCH] insane.bbclass: Allow the warning about virtual/ to be disabled
> >
> > On Mon, 2024-01-22 at 06:52 +0100, Peter Kjellerstedt wrote:
> > > Commit f673d3d239799fb1ab50f4aa5d44187666aa0cd7 introduced a warning for
> > > virtual/ being used in RPROVIDES and RDEPENDS. Make it possible to
> > > disable the warning by removing "virtual-slash from WARN_QA.
> > >
> > > Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > > ---
> > >  meta/classes-global/insane.bbclass | 13 +++++++------
> > >  1 file changed, 7 insertions(+), 6 deletions(-)
> >
> > Whilst I can understand why you might want to make this configurable,
> > I'm not sure if is a great idea since people are just going to turn it
> > off and continue to ignore it :/.
> >
> > virtual/ in the runtime namespace has never been supported and always
> > been strongly recommended against.
> 
> We do not produce any package feeds and AFAIK in that case virtual/ works
> fine for runtime dependencies since it is only a name, just like, e.g.,
> virtual-.
> 
> We get a gazillion warnings due to this during parsing, and it is not
> anything I can solve easily. And since it is just a warning that currently
> doesn't affect us, I would like to turn it off for now.
> 
> And as Martin mentioned, with my change applied, those who want can turn
> the warning into an error. And being able to do that is typically the only
> way to actually get rid of all warnings and keep them from coming back.
> 
> >
> > Cheers,
> >
> > Richard
> 
> //Peter
diff mbox series

Patch

diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
index 828f618cda..4ab7e4069d 100644
--- a/meta/classes-global/insane.bbclass
+++ b/meta/classes-global/insane.bbclass
@@ -34,7 +34,7 @@  WARN_QA ?= " libdir xorg-driver-abi buildpaths \
             missing-update-alternatives native-last missing-ptest \
             license-exists license-no-generic license-syntax license-format \
             license-incompatible license-file-missing obsolete-license \
-            32bit-time \
+            32bit-time virtual-slash \
             "
 ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
             perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
@@ -1607,11 +1607,12 @@  python () {
     if (d.getVar(d.expand('DEPENDS:${PN}'))):
         oe.qa.handle_error("pkgvarcheck", "recipe uses DEPENDS:${PN}, should use DEPENDS", d)
 
-    # virtual/ is meaningless for those variables
-    for k in ['RDEPENDS', 'RPROVIDES']:
-        for var in bb.utils.explode_deps(d.getVar(k + ':' + pn) or ""):
-            if var.startswith("virtual/"):
-                bb.warn("%s is set to %s, the substring 'virtual/' holds no meaning in this context. It is suggested to use the 'virtual-' instead." % (k, var))
+    # virtual/ is meaningless for these variables
+    if "virtual-slash" in (d.getVar("ALL_QA") or "").split():
+        for k in ['RDEPENDS', 'RPROVIDES']:
+            for var in bb.utils.explode_deps(d.getVar(k + ':' + pn) or ""):
+                if var.startswith("virtual/"):
+                    oe.qa.handle_error("virtual-slash", "%s is set to %s, but the substring 'virtual/' holds no meaning in this context. It is suggested to use 'virtual-' instead." % (k, var), d)
 
     issues = []
     if (d.getVar('PACKAGES') or "").split():