[OE-core] specific version dependenciews - was: Linking two recipes

Richard Purdie richard.purdie at linuxfoundation.org
Tue Mar 20 00:37:23 UTC 2012


On Mon, 2012-03-19 at 22:59 +0100, Wolfgang Denk wrote:
> In message <1332192150.9740.72.camel at ted> you wrote:
> > On Mon, 2012-03-19 at 13:59 -0700, simran singh wrote:
> > > Hello,
> > > I have recipes for two applications Recipe A and Recipe B. Recipe B
> > > requires a lib.so file and init.h file which are installed by Recipe
> > > A.
> ...
> > recipe B needs to do:
> > 
> > DEPENDS += "recipeA"
> 
> I have a similar, but more complicated requirement which I don;t know
> how to implement (if this is possible at all):
> 
> Some MACHINEs require a package A (some library), but in specific
> versions: say machine X needs version A-1.2, while machine Y needs
> version A-1.5.
> 
> Package A itself depends on another package B (another library).
> 
> The problem is, that different versions of A require specific versions
> of B.  For example, to build A-1.2 we must use B-4.5, but to build
> A-1.5 we must use B-8.2.
> 
> I am aware that I can describe the dependencies at the top leven,
> stating for example that machine X needs A-1.2 and B-4.5, while
> machine Y needs A-1.5 and B-8.2.
> 
> However, this seems clumsy, as the version depency A->B is something
> that is only defined by the implementation of A, and I would like to
> keep it encapsulated at this level.
> 
> 
> Is there a clever way to describe such a multi-level dependency chain?

If you mark A and B as machine specific, the system should be able to
cope with the problem and set the preferred versions at the machine
level.

Cheers,

Richard





More information about the Openembedded-core mailing list