I am attempting to include upgraded autotools from the current yocto version in my existing OE environment without upgrading all of my existing packages, so I added yocto as a layer in my conf file:
BBLAYERS += " \
...
${OEBASE}/sources/meta-yocto/meta \
...
${OEBASE}/sources/oe-core/meta \
In the original oe-core layer, I have automake_1.12.3:
../sources/oe-core/meta/recipes-devtools/automake/
├── automake
│ ├── path_prog_fixes.patch
│ ├── prefer-cpio-over-pax-for-ustar-archives.patch
│ ├── py-compile-compile-only-optimized-byte-code.patch
│ └── python-libdir.patch
├── automake_1.12.3.bb
└── automake.inc
In the yocto layer:
../sources/meta-yocto/meta/recipes-devtools/automake/
├── automake
│ ├── buildtest.patch
│ ├── py-compile-compile-only-optimized-byte-code.patch
│ └── python-libdir.patch
├── automake_1.14.1.bb
└── automake.inc
However, bitbake is only finding version 1.12.3:
$ bitbake -s | grep automake
automake :1.12.3-r2
automake-native :1.12.3-r2
nativesdk-automake :1.12.3-r2
However, i am confident the layer configuration and paths are correct because if I create a dummy recipe zz by copy/renaming automake_1.14.1.bb in the yocto layer:
../sources/meta-yocto/meta/recipes-devtools/zz
├── automake
│ ├── buildtest.patch
│ ├── py-compile-compile-only-optimized-byte-code.patch
│ └── python-libdir.patch
├── automake.inc
└── zz_1.14.1.bb
then, bitbake finds it just fine:
$ bitbake -s | grep zz
nativesdk-zz :1.14.1-r0
zz :1.14.1-r0
zz-native :1.14.1-r0
This all makes me wonder if bitbake has some sort of cached state that is causing it to skip the search for the newer version of automake.
Is there a way to force bitbake to ignore it's cache and search again and detail the exact search process it is using? (I used -vDDD but it showed only that it added the Yocto layer, not the specific search details for a given package.
Thanks, B
Layer priority is going to decide which one is used if both layers have a version of a recipe. I'm guessing your original layer has a higher priority (and you probably do not want to change that in your situation). Layer priority is set via BBFILE_PRIORITY
.
One solution would be using PREFERRED_VERSION_automake = "1.14.%"
in your local.conf to tell bitbake to always prefer 1.14.x versions. Alternatively you could add your own layer with a high priority with just the automake recipe in it.