Yocto: do_rootfs не находит пакет который я собираю
Пытаюсь добавить новый пакет intel-cmt-cat (доступен на https://github.com/intel/intel-cmt-cat) посредством Yocto. Там «старый добрый» Makefile, не cmake. Посмотрел примеры и написал вот такой рецепт:
% cat intel-cmt-cat_4.1.0.bb
SUMMARY = "Short summary"
DESCRIPTION = "Short description."
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c63eb1250e8724441150d665efe12012"
SRC_URI = "git://github.com/intel/intel-cmt-cat.git;protocol=https"
SRCREV = "30fadea5cb82ff99f56e46172c7d20fdb24b2338"
S = "${WORKDIR}/git"
По идее должно сразу работать, однако ни фига:
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: myimage-1.0-r0 do_rootfs: Could not invoke dnf.
dnf -v --rpmverbosity=info -y -c dnf.conf package1 package2 ... intel-cmt-cat
...
repo: using cache for: oe-repo
not found other for:
not found modules for:
not found deltainfo for:
not found updateinfo for:
oe-repo: using metadata from Thu 04 Mar 2021 07:12:38 PM UTC.
No module defaults found
No match for argument: intel-cmt-cat
Error: Unable to find a match
...
ERROR: Function failed: do_rootfs
(Я сократил длинную dnf команду).
Похоже на то, что обламвается do_rootfs(). Проверил директорию в которой все собирается ($WORKDIR/git), видно что исходники быди стянуты с github'a и собраны. Однако на последнем этапе схлопывается: по какой-то причине не может найти мой пакет.
Что я делаю не так? Что еще нужно добавить в рецепт?
ОБНОВЛЕНИЕ
Немного доработал рецепт, сейчас все собирается и устанавливается в финальный имидж. Осталась только проблема с man-страницами. По умолчанию (make install) они также устанавливаются в $PREFIX/man/man8 (так определено в Makefile в исходниках). Можно ли как-то запретить устанавливать man файлы на этапе do_install или do_package?
% cat intel-cmt-cat_4.1.0.bb
SUMMARY = "Short summary"
DESCRIPTION = "Short description."
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c63eb1250e8724441150d665efe12012"
SRC_URI = "git://github.com/intel/intel-cmt-cat.git;protocol=https"
SRCREV = "30fadea5cb82ff99f56e46172c7d20fdb24b2338"
S = "${WORKDIR}/git"
TARGET_CC_ARCH += "${LDFLAGS}"
do_compile() {
oe_runmake PREFIX=/usr
}
do_install() {
oe_runmake PREFIX=${D}/usr NOLDCONFIG=y install
}
INSANE_SKIP_${PN} += "already-stripped installed-vs-shipped"
FILES_${PN} += "${libdir}/libpqos* ${bindir}/pqos* ${bindir}/rdtset"}
FILES_${PN}-doc = "/usr/man/man8"