[OE-core] inherit allarch and use RDEPENDS

Peter Kjellerstedt peter.kjellerstedt at axis.com
Tue Aug 23 15:15:39 UTC 2016


I just stumbled on the mail below and it raised some questions:

> -----Original Message-----
> From: openembedded-core-bounces at lists.openembedded.org
> [mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf Of
> Martin Jansa
> Sent: den 22 augusti 2016 16:21
> To: openembedded-core at lists.openembedded.org; Joe Slater
> Cc: openembedded-commits at lists.openembedded.org
> Subject: Re: [OE-core] [oe-commits] [openembedded-core] 01/02: systemd-
> compat-units: pkg_postinst() does not work
> 
> On Thu, Aug 18, 2016 at 03:52:33PM +0000, git at git.openembedded.org
> wrote:
> > rpurdie pushed a commit to branch master in repository openembedded-core.

[cut]

> > -RDPEPENDS_${PN} = "systemd"
> > +RDEPENDS_${PN} = "systemd"
> 
> This is good typo fix, but also causes allarch systemd-compat-units to
> RDEPENDS on TUNE_PKGARCH systemd as reported in:
> http://lists.openembedded.org/pipermail/openembedded-core/2016-August/125483.html
> 
> So either please exclude it in layer.conf or drop this runtime
> dependency completely.
> 
> --
> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com

This is the first I heard about limits to recipes that inherit allarch 
and also use RDEPENDS. So after I read the above, I went and read the 
documentation for the allarch class, which unfortunately did not make 
my understanding much clearer.

Am I to understand that a recipe that inherits allarch cannot have 
runtime dependencies on packages that are built differently per 
architecture or MACHINE? If so, what can it have runtime dependencies 
on? Only other allarch recipes? What are the design limitations behind 
this and is there anything that could be done to change the situation?

As an example, say that I have a recipe that only installs a static 
script, so inheriting allarch is a natural thing to do. However, for 
this script to work it must call a binary built by another recipe so 
it of course RDEPENDS on that other package. Are you saying this is 
wrong? Because that sounds odd to me as it severely limits the 
usefulness of the allarch class.

Another example would be a recipe that installs a static Perl script. 
Can it not inherit allarch while also have a runtime dependency on perl?

If the above is true, why are there no QA tests or similar that catch 
these kind of problems?

//Peter




More information about the Openembedded-core mailing list