[yocto] RDEPENDS dependency problem

Khem Raj raj.khem at gmail.com
Thu Aug 24 21:53:48 PDT 2017


On Thu, Aug 24, 2017 at 1:41 AM, Stefano Pagnottelli
<stefano.pagnottelli at gmail.com> wrote:
> First of all, thanks for your reply.
>
> Il giorno mer 23 ago 2017 alle ore 20:56 Khem Raj <raj.khem at gmail.com> ha
> scritto:
>>
>> On 8/23/17 1:12 AM, Stefano Pagnottelli wrote:
>> > Hi to all,
>> >
>> > I'm trying to build this layer:
>> > (https://github.com/bachp/meta-homeassistant) using the yocto pyro on a
>> > raspberry pi 3 target and the opkg package system.
>> >
>> > Inside the recipe
>> >
>> > (https://github.com/bachp/meta-homeassistant/blob/master/recipes-homeassistant/homeassistant/python3-homeassistant_0.51.2.bb)
>> > there  are some RDEPENDS with strict equal
>> > dependencies (ex:python3-aiohttp (= 2.2.5)).
>> >
>> > We I build the image with the opgk package system the system fail in the
>> > do_rootfs task because is not finding the package python3-aiohttp =
>> > 2.2.5.. If I understood correctly this happens because the build system
>> > si appending the recipe revision (PR variable) at end of package name
>> > and the results is  python3-aiohttp_2.2.5-r0 and not
>> > python3-aiohttp_2.2.5 as opkg is expecting.
>>
>> I dont think r0 is in play here. You can test it by changing dependency
>> check to look for  (= for 2.2.5-r0), I think it should still fail.
>
>
> I do some tests of on rdendps on the recipe:
>
> With python3-aiohttp (= 2.2.5-r0) the image is built without problems, with
> python3-aiohttp (>= 2.2.5) the image is built without problems, with
> python3-aiohttp (= 2.2.5) the task fail with the following error:
>
> Problem 1/1:
>   - nothing provides python3-aiohttp = 2.2.5 needed by
> python3-homeassistant-0.51.2-r0.cortexa7hf-neon-vfpv4
>
> So it seems to me that know the recipe revision is mandatory if you want to
> put a strict dependency on a rdpends. But if I understood correctly the
> yocto build system it's not possible to predict the recipe revision because
> is automatically computed,  And a change in the recipe will break the
> dependency also if the source software version is the same because this will
> change the recipe version.

Yeah ok PV as well as PR both are considered.

>
>>
>>
>> >
>> > As workaround I changed all strict = with a >= and the build complete
>> > without errors.
>>
>> this is ok as long as the package can work with newer versions of this
>> package. I am not sure if thats the case, you might have to check with
>> authors intent for using = instead of >=
>
>
> I think that ,in that case the author is using strict = dependencies because
> we are trying to compile a python project that strictly depend python module
> with a specific version.  Can be useful to have strict = dependency in a
> recipe but it is not mandatory, the project compile well also with >=.
>
> Regards
> Stefano
>
>>
>>
>> >
>> > My question is: It's possible to  instruct the build system to ignore
>> > the recipe revision when it match the version of the package? Or in
>> > alternative it's possible to automatically detect the recipe revision of
>> > the package?
>> >
>> > Thanks in advance
>> > Stefano
>> > …
>> > --
>> >
>> > There are 10 types of people in this world, those who understand binary
>> > and those who dont
>> >
>> >
>>
> --
>
> There are 10 types of people in this world, those who understand binary and
> those who dont
>
>
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>



More information about the yocto mailing list