[OE-core] Recipe versions and layer confusion

Andre McCurdy armccurdy at gmail.com
Thu Oct 5 22:10:03 UTC 2017


On Thu, Oct 5, 2017 at 2:44 PM, Leonardo Sandoval
<leonardo.sandoval.gonzalez at linux.intel.com> wrote:
> On Thu, 5 Oct 2017 10:19:18 -0500
> Leonardo Sandoval <leonardo.sandoval.gonzalez at linux.intel.com> wrote:
>
>> On Thu, 5 Oct 2017 16:49:28 +0200
>> Mike Looijmans <mike.looijmans at topic.nl> wrote:
>>
>> > I'm confused.
>> >
>> > Layer "meta-xilinx" defines:
>> >
>> > recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2017.1.bb
>> >
>> > This recipe is too old for my liking, so I made a newer one in "meta-topic"
>> >
>> > recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2017.3.bb
>> >
>> >
>> > Much to my surprise, when I build, OE picks the 2017.1 version and not the
>> > 2017.3 version.
>> >
>> > bitbake-layers show-layers reveils:
>> > ..
>> > meta-xilinx           /home/mike/projects/zynq-platform/meta-xilinx  5
>> > meta-topic            /home/mike/projects/zynq-platform/meta-topic  6
>> > ..
>> >
>> > so that means that my meta-topic should win even if my PV were lower, right?

Yes. The comments in bitbake/lib/bb/providers.py -> findBestProvider()
explain the process pretty well:

  If there is a PREFERRED_VERSION, find the highest-priority bbfile
  providing that version.  If not, find the latest version provided by
  an bbfile in the highest-priority set.

The only caveat is that if PREFERRED_VERSION contains a wildcard (%)
and matches more than one available version then all bets are off and
results may be unpredictable. It's up to the user to ensure that
doesn't happen.

Note that looking at the meta-xilinx recipe it seems that PV is set
manually and doesn't follow the recipe name, so depending on how you
set PV in your new recipe, it may not be completely obvious which
recipe is actually being used?

  https://github.com/Xilinx/meta-xilinx/blob/master/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2017.1.bb



More information about the Openembedded-core mailing list