Прежде чем ответить на ваш вопрос, если у вас есть приложение, которое зависит от "libtinfo", и ваше приложение также собирается с использованием yocto (скажем, sample_app.bb), то вам следует использовать
DEPENDS += "libtinfo"
RDEPENDS_${PN} += "libtinfo"
.Вы можете включить библиотеку в rootfs, так как ваше приложение нуждается в ней во время выполнения.
Я сомневаюсь, что если библиотека не требуется для rootfs (core-image-minimal), то она не должна быть собрана.
Предположим, у вас есть источник для пакета, который создает двоичный файл, а также библиотека, т.е., например, источник для kmod
производит libkmod
, а также modprobe, insmod, rmmod
.В таких случаях рецепты написаны таким образом, чтобы создать два разных пакета (в зависимости от конфигурации вы можете видеть * .rpm или * .ipk) файлы, то есть kmod_*.ipk/rpm
и libkmod2_*.ipk/rpm
.
На основе вашего реальногоВ соответствии с требованиями приложения вы можете использовать kmod
или libkmod
в RDEPENDS
.
В вашем случае, libtinfo
встроен в пакет ncurses
, который может не потребоваться в rootfs для любого пакета.
Почему йото построил эту библиотеку?аналогичное поведение наблюдалось и в библиотеке libudev.
По умолчанию рецепт для исходного компонента ncurses
или systemd
включает конфигурацию (do_configure
) для libtinfo
и libudev
соответственно,Но он не включен в rootfs, так как ни одному программному обеспечению он не нужен во время выполнения.
Вы всегда можете проверить граф зависимостей, используя
bitbake -g <recipe name>
, как указано здесь .