What influences the "latest version" shown in bitbake?
I’m in the middle of our organization’s upgrade to the most recent version of poky (3.0) and I’m finding that more recent versions of recipes in our poky layer aren’t showing up as the most recent version (bitbake -s) or even accessible if I set the PREFERRED_VERSION in our distro’s .conf file.
For a specific example: We’re trying to stick with LTS kernel releases, so we want to move to linux-yocto 4.19. We have 4.14 in our current codebase, but it was manually pulled in (we had a rather old version of poky) so it’s in a different layer. Setting the PREFERRED_VERSION to 4.19% doesn’t result in its use, and 4.19 doesn’t even show up as an available version if I run bitbake -s. If I remove the 4.14 bb file, linux-yocto goes away completely as a buildable recipe. The only way that we’ve found that causes 4.19 to show up as an option is to add a (currently mostly empty) linux-yocto_4.19.bbappend file in one of the higher layers. (Note that there are 4.14.bbappends too, partially because of backported fixes, and partially because there are internal patches that we haven’t moved forward to 4.19 yet)
Note that someone did manually set all the layer priorities in their respective .conf files in our codebase, but I didn’t think that would necessarily have any effect on the version detection.
Can anyone offer any guidance as to what’s causing this behavior? Is there documentation somewhere on how bitbake determines the most recent version?