Я смотрю на обновление ветки krogoth слоя meta-marvell для работы с последними yocto poky.
Начиная с 2017 года [https://patchwork.openembedded.org/patch/140993/] IMAGE_DEPENDS_<type>
устарела, поэтому вместо:
IMAGE_DEPENDS_wic_append = " virtual/bootloader"
лучше было бы сделать
do_image_wic[depends] += "virtual/bootloader"
, что имеет смысл, но как это работает с MACHINEOVERRIDES
?
MACHINEOVERRIDES =. "armada38x:"
IMAGE_DEPENDS_wic_append_armada38x = " virtual/bootloader"
Мы можем видеть, что virtual/bootloader
присваивается только IMAGE_DEPENDS_wic_append
(и добавляется позже), если MACHINE
равно armada38x
Так что же означает do_image_wic[depends]
только добавить virtual/bootloader
для этого типа машины?
Будет ли do_image_wic_armada38x[depends] += "virtual/bootloader"
переопределять весь массив do_image_wic
?Или только [зависит] и любые другие подписки, которые были определены?
Поскольку мы изначально перезаписывали IMAGE_DEPENDS_wic_append
и не добавляли IMAGE_DEPENDS_wic_append
, может быть do_image_wic_armada38x[depends] += "virtual/bootloader"
могли бы работать (не так ли?), но что, если у нас изначально было:
IMAGE_DEPENDS_wic_append += " virtual/bootloader"
, тогда как нам это сделать?
Я видел соответствующую переделку на https://lists.yoctoproject.org/pipermail/meta-freescale/2017-August/020875.html, но она просто удаляетуказанную зависимость и заменяет ее пустой WKS_FILE_DEPENDS ?= ""
, которая, кажется, теряет зависимость
например,
index af45c38..24e8519 100644
--- a/conf/machine/cubox-i.conf
+++ b/conf/machine/cubox-i.conf
@@ -42,7 +42,6 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS += " \
"
WKS_FILES ?= "imx-uboot-spl.wks"
-
-IMAGE_DEPENDS_wic_append = " virtual/bootloader"
+WKS_FILE_DEPENDS ?= ""
IMAGE_FSTYPES = "wic.gz"
На основе https://patchwork.openembedded.org/patch/137482/ Я подозреваю, что может потребоваться:
WKS_FILE_DEPENDS_append_armada38x = " virtual/bootloader"