Я пытаюсь удалить некоторые пакеты с открытым исходным кодом, к которым прикреплена лицензия GPLv3, и которые мы не можем распространять как часть окончательного производственного образа. Хотя эти пакеты можно удалить, используя «INCOMPATIBLE_LICENSE=GPLv3» в local.conf, но он удаляет все пакеты с тегом GPLv3. Я использовал PREFERRED_VERSION_recipename=(GPLv2 recipe_version) и понизил уровень всех пакетов GPLv3 до GPLv2, которые мы хотим включить в окончательный образ. Но есть несколько пакетов GPLv3, которые мы хотим сохранить как часть отладочного образа, например M4, make, gdb, bison. Эти пакеты не обязательно должны быть в окончательном рабочем образе, но их нельзя полностью удалить из сборки, поскольку они необходимы во время сборки/отладки.
Итак, как мне удалить эти пакеты/рецепт из окончательного образа rootfs, позволяя им быть частью процесса сборки и позволять им собираться. Другими словами, я хочу, чтобы bitbake собирал их из исходников GPLv3, но не включал их в окончательный образ rootfs.
Я посмотрел на функцию создания poky/lib/oe/manifest.py и rootfs.py ==>, где создается окончательный манифест rootfs, но не смог понять, что именно нужно установить из битбака. Нужно ли перезаписывать do_rootfs. если да, то какие переменные необходимо установить для переопределения окончательного манифеста.