On 02/16/2015 01:42 PM, Otavio Salvador wrote:
On Mon, Feb 16, 2015 at 9:12 AM, Paul Eggleton
<paul.eggle...@linux.intel.com> wrote:
On Sunday 15 February 2015 19:34:28 Otavio Salvador wrote:
On Sat, Feb 14, 2015 at 6:42 AM, Carlos Rafael Giani
<d...@pseudoterminal.org> wrote:
...
So, it would make sense to establish some sort of dependency. But how

exactly? I thought of something like this:
   RDEPENDS_gstreamer1.0-plugins-imx-imxaudio =

"gstreamer1.0-plugins-good-audioparsers"

   RDEPENDS_gstreamer1.0-plugins-imx-imxvpu =

"gstreamer1.0-plugins-bad-videoparsersbad"

but then I also need to add gstreamer1.0-plugins-good and
gstreamer1.0-plugins-bad to the DEPENDS list, otherwise I get a warning

like:
   QA Issue: gstreamer1.0-plugins-imx-imxaudio rdepends on

gstreamer1.0-plugins-good-audioparsers, but it isn't a build dependency?
[build-deps]

But if I add these recipes to the DEPENDS variable, then the RDEPENDS spec
is pointless, isn't it?
...

Just for completeness, the QA issue about missing build-dependency is
something we should pay attention to but it may be a false positive as
in your cause you don't depends on them for building, just runtime. So
you can whitelist the warning to avoid the noise but adding the
depends would be wrong.
The QA warning message could perhaps be worded more accurately - what it means
is there in an implicit runtime dependency and there is no RDEPENDS (not
DEPENDS) explicitly telling the system to ensure that that dependency is
satisfied. Whitelisting is never the proper way to fix this warning - either add
an explicit RDEPENDS, or use configuration to ensure that the implicit
dependency isn't needed.
 From my understand, which Carlos can confirm, what he did was adding
the package on the rdepends. Once this was done the QA warnings shows
up which is wrong.

This can be seen at 'sed' recipe:

---
SUMMARY = "Stream EDitor (text filtering utility)"
...
RDEPENDS_${PN}-ptest += "make locale-base-ru-ru ${PN}"
---

In my system, with ptest enabled, I see:

WARNING: QA Issue: sed-ptest rdepends on locale-base-ru-ru, but it
isn't a build dependency? [build-deps]

and this is clearly a false positive as this uses this locale at
runtime for a test. Not necessarily it needs to have a DEPENDS on it
which would imply it would need to be available in sysroot before sed
configure could start.

What I think is missing is that the 'build-deps' check would need to
whitelist the dependencies which come from a /explict/ package added
in a RDEPENDS. What do you think?


Yes, exactly. The current QA warning greatly limits the usefulness of RDEPENDS, in my opinion. If I explicitely add a package name B to RDEPENDS in recipe A, and I add A to the IMAGE_INSTALL list, then I am stating that B must also be built and installed on the image, but it does *not* have to be built before A. Yet, the warnings makes it look as if B has to be built before A. This is confusing.

It makes a lot of sense to warn if for example a build script autodetects and links against a certain library which is not mentioned in the DEPENDS variable. But this is a different use case than the one mentioned above, and somehow it seems that both were lumped together.
--
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to