Bitbake: изменить bbappend в зависимости от скомпилированного изображения

У меня есть два разных изображения, которые используют много общих пакетов. Одним из них является wpa-соискатель, который предоставляет файл wpa_supplicant.conf установлен по умолчанию рецепт. Тем не менее, я хочу свой собственный wpa_supplicant.conf быть установленным.

Я решил это, имея .bbappend в моем слое. Но теперь я хочу, чтобы это добавление применялось только при компиляции одного из изображений, но не другого.

Короче говоря: есть ли способ включить / отключить .bbappend в зависимости от скомпилированного изображения?

ЗАМЕТКИ:

  • Я видел этот ответ, который похож, но создание нового пакета для установки моего файла не работает: многие пакеты пытаются установить один и тот же файл, и Bitbake возвращает ошибку.

    • Ошибка здесь в том, что я не могу установить один и тот же файл из двух разных пакетов, поэтому это не дубликат этого вопроса IMO.

Спасибо!

1 ответ

Ну, как указано в ответе, на который вы ссылаетесь, изображение не может повлиять на любой другой рецепт. Причина в том, что каждый рецепт строится независимо от того, какое изображение вы строите.

Разные изображения предназначены для установки на один и тот же MACHINE? В противном случае вы могли бы иметь разные wpa_supplicant.conf для каждого MACHINE,

Для того же MACHINE:

  • С помощью ROOTFS_POSTPROCESS_COMMAND это один из способов решить эту проблему
  • Добавить оба wpa_supplicant.conf-файлы (с разными именами) и добавьте pkg_post_inst_${PN}(){xxx} сценарий к вашему wpa-supplicant, что во время создания rootfs определяет, какое изображение собирается, и выбирает исправление wpa_supplicant.conf,
  • Другое решение удалить wpa_supplicant.conf от wpa-supplicant пакет в вашем bbappend. Создайте два новых пакета wpa-supplicant-conf1 а также wpa-supplicant-conf2который включает в себя только соответствующие wpa_supplicant.conf, Эти двое в идеале должны иметь

wpa-supplicant-conf1:

RCONFLICTS_${PN} = "wpa-supplicant-conf2" 

и для wpa-supplicant-conf2

RCONFLICTS_${PN} = "wpa-supplicant-conf1"

в своих рецептах.

Другие вопросы по тегам