[oe] Question about RDEPENDS and RRECOMMENDS

Otavio Salvador otavio at ossystems.com.br
Mon Feb 16 13:02:31 UTC 2015


On Mon, Feb 16, 2015 at 10:53 AM, Carlos Rafael Giani
<dv at pseudoterminal.org> wrote:
> On 02/16/2015 01:42 PM, Otavio Salvador wrote:
>>
>> On Mon, Feb 16, 2015 at 9:12 AM, Paul Eggleton
>> <paul.eggleton at linux.intel.com> wrote:
...
>>> 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.

What seems to be missing is the QA check to verify if B is explicitly
cited in the recipe and in case it should be whitelisted.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750



More information about the Openembedded-devel mailing list