[yocto] How do you build 2 versions of the same recipe and a specific version from bitbake cmd line

Robert Joslyn robert_joslyn at selinc.com
Mon Jul 17 11:13:03 PDT 2017


On Sat, 2017-07-15 at 15:47 +0300, Robert Berger wrote:
> Hi,
> 
> On 2017-07-14 23:32, Robert Joslyn wrote:
> > 
> > Just to clarify, the typical way this is done is to put the major
> > version number as part of the package name. For example, the
> > recipes
> > could be called zeromq3_3.2.2.bb and zeromq4_4.1.5.bb. This assumes
> > zeromq can tolerate having multiple versions installed at the same
> > time.
> > 
> > Robert
> > 
> 
> I did not try but I think in the meantime we can have the same
> package 
> with different versions in the same image.
> 
> The docu says about (run time dependencies) RDEPENDS:
> 
> "BitBake, which the OpenEmbedded build system uses, supports
> specifying 
> versioned dependencies. Although the syntax varies depending on the 
> packaging format, BitBake hides these differences from you."[1]
> 
> [1] 
> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.yoctoproject.
> org_docs_latest_mega-2Dmanual_mega-2Dmanual.html-23var-
> 2DRDEPENDS&d=DwICaQ&c=zVFQZQ67ypsA9mYKSCqWmQHiVkCCaN-
> Gb60_N6TVnLk&r=jKjb9x138uKtDnkEJ0l_Ks7NxaK4YpEWM1o0MkNOIx0&m=lB4lbBsS
> MGKatP7Qhwv-yEOj_8wqdO1udb-
> Fcowl95Y&s=lenIoSon3TiBnHTCoAxPZnfUoziIo_uEwECWpfj9qEA&e= 
> 
> What's unclear to me is how this works with build time dependencies 
> DEPENDS? I guess somewhere you need to say that you want to link
> against 
> version 3.2.2 for one package and against 4.1.5 in another package
> and 
> since it looks like DEPENDS doesn't contain versioned dependencies I 
> guess you need to work with names like zeromq3_3.2.2.bb and 
> zeromq4_4.1.5.bb.
> 
> Is this the case?

As far as I know, yes, you need to use recipes named like that, so
DEPENDS could contain "zeromq3" or "zeromq4". I don't think it's
possible to specify versions with DEPENDS the same way you can with
RDEPENDS.

> Which in turn makes me wonder what's the use case for RDEPENDS and 
> versioned dependencies.

I'm not sure, I never actually needed them. The versioned RDEPENDS are
encoded in whatever packages you build (rpm, for example), so I assume
there are use cases when using package feeds.


Robert




More information about the yocto mailing list