Как установить файлы в Yocto

Я написал рецепт библиотеки Yocto и пытаюсь установить ее в образ.

Когда я запускаю команду "bitbake myproject", я получаю следующую ошибку:

ERROR: sxe-0.1-r0 do_package: QA Issue: sxe: Files/directories were installed but not shipped in any package:
  /sxe
  /usr/share
  /usr/share/sxm
  /usr/share/sxm/baselines
  /usr/share/sxm/baselines/resources.psv
  /usr/share/sxm/baselines/resources_bcatl.psv
  /usr/share/sxm/baselines/version.txt
  /usr/share/sxm/baselines/resources_bcatp.psv
  /usr/share/sxm/baselines/cgs
  /usr/share/sxm/baselines/alerts
  /usr/share/sxm/baselines/IntegratedSportsLogos
  /usr/share/sxm/baselines/states
  /usr/share/sxm/baselines/IntegratedLogos
  /usr/share/sxm/baselines/tabweather
  /usr/share/sxm/baselines/trafficplus
  /usr/share/sxm/baselines/stocks
  /usr/share/sxm/baselines/ev
  /usr/share/sxm/baselines/contentAssociatedImage/Album020.zip
  /usr/share/sxm/baselines/gmd/GEMBase_1.15.zip
  /usr/share/sxm/baselines/parking/ParkingLocation2.zip
  /usr/share/sxm/baselines/safeview/sxm_safeviewcameralocations_v120.zip
  /usr/share/sxm/baselines/safeview/sxm_safeviewcameratypes_v120.zip
  /usr/share/sxm/baselines/IntegratedBackgroundLogos/IntPortBack160816.zip
  /usr/share/sxm/baselines/IntegratedBackgroundLogos/IntLandBack160816.zip
  /usr/share/sxm/baselines/fuel/sxm_fuelbaseline23.pvn1.zip
  /usr/share/sxm/baselines/fuel/sxm_canfuelbaseline3.pvn1.zip
  /usr/share/sxm/baselines/phonetics/T005V054.psv.zip
  /usr/share/sxm/baselines/phonetics/T000V054.psv.zip
  /usr/share/sxm/baselines/phonetics/T001V011.psv.zip
  /usr/share/sxm/baselines/phonetics/T006V011.psv.zip
  /usr/share/sxm/baselines/phonetics/T003V003.psv.zip
  /usr/share/sxm/baselines/phonetics/T004V000.psv.zip
  /usr/share/sxm/baselines/phonetics/T002V000.psv.zip
  /usr/share/sxm/baselines/movies/sxm_theatersbaseline23.pvn1.zip
  /usr/share/sxm/baselines/movies/sxm_movieratingsv0.pvn1.zip
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
sxe: 55 installed and not shipped files. [installed-vs-shipped]
ERROR: sxe-0.1-r0 do_package: Fatal QA errors found, failing task.
ERROR: sxe-0.1-r0 do_package: Function failed: do_package
ERROR: Logfile of failure stored in: /home/local/SWTECNN/rkhairulin/imx-yocto-bspIII/build-wayland-imx8qmmekII/tmp/work/aarch64-poky-linux/sxe/0.1-r0/temp/log.do_package.32253
ERROR: Task (/home/local/SWTECNN/rkhairulin/imx-yocto-bspIII/sources/meta-sxe/recipes-example/example/sxe_0.1.bb:do_package) failed with exit code '1'

Как я могу исправить проблему? Что мне добавить в рикпе?


person Ziegfried    schedule 11.10.2019    source источник


Ответы (2)


По умолчанию пакет с названием рецепта содержит следующие файлы (см. здесь):

     FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \
                 ${sysconfdir} ${sharedstatedir} ${localstatedir} \
                 ${base_bindir}/* ${base_sbindir}/* \
                 ${base_libdir}/*${SOLIBS} \
                 ${base_prefix}/lib/udev/rules.d ${prefix}/lib/udev/rules.d \
                 ${datadir}/${BPN} ${libdir}/${BPN}/* \
                 ${datadir}/pixmaps ${datadir}/applications \
                 ${datadir}/idl ${datadir}/omf ${datadir}/sounds \
                 ${libdir}/bonobo/servers"

Таким образом, файлы в / usr / share / sxm и / sxe создаются в ${D} папке развертывания, но они не добавляются ни в один пакет.

Вы должны добавить эту строку в свой рецепт (см. здесь):

FILES_${PN} += "/sxe ${datadir}/sxm" 

Примечание / usr / share определяется как ${datadir}


Если вам не нужны эти файлы, вы можете удалить их из ${D}:

do_install_append(){
     rm -r ${D}/sxe
     rm -r ${D}/${datadir}/sxm
}
person Nayfe    schedule 11.10.2019

Вы должны указать bitbake, в какой пакет должны быть помещены файлы. Наверное что-то вроде

FILES_sxe += " \
  {root_prefix}/sxe \
  {datadir}/sxe \
"

При этом FHS категорически не рекомендует размещать что-либо прямо под /. Для получения дополнительной информации о предопределенных префиксах и каталогах см. poky/meta/conf/bitbake.conf

person LetoThe2nd    schedule 11.10.2019