既存のすべてのパッケージをアップグレードせずに、既存の OE 環境に現在の yocto バージョンからアップグレードされた autotools を含めようとしているので、conf ファイルにレイヤーとして yocto を追加しました。
BBLAYERS += " \
...
${OEBASE}/sources/meta-yocto/meta \
...
${OEBASE}/sources/oe-core/meta \
元の oe-core レイヤーには、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
yocto レイヤーで:
../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
ただし、bitbake はバージョン 1.12.3 しか検出していません。
$ bitbake -s | grep automake
automake :1.12.3-r2
automake-native :1.12.3-r2
nativesdk-automake :1.12.3-r2
ただし、yocto レイヤーで automake_1.14.1.bb をコピー/名前変更してダミーのレシピ zz を作成すると、レイヤー構成とパスが正しいと確信しています。
../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
次に、bitbake はそれを問題なく検出します。
$ bitbake -s | grep zz
nativesdk-zz :1.14.1-r0
zz :1.14.1-r0
zz-native :1.14.1-r0
これはすべて、bitbake に何らかのキャッシュ状態があり、新しいバージョンの automake の検索をスキップする原因になっているのではないかと考えさせられます。
bitbake にキャッシュを無視させて再度検索させ、使用している正確な検索プロセスを詳しく説明させる方法はありますか? (-vDDD を使用しましたが、特定のパッケージの特定の検索の詳細ではなく、Yocto レイヤーが追加されたことのみが示されました。
ありがとう、B