Обновление (переопределение) всего рецепта в пользовательском слое - PullRequest
0 голосов
/ 10 мая 2019

У меня есть пользовательский слой в проекте. Этим делятся с коллегами.

Мой дистрибутив (poky) использует более старую версию alsa. Это загружается при начальной настройке области сборки. Я хотел бы «заменить» эту версию alsa более поздней версией и сделать это в моем пользовательском слое, чтобы им не приходилось редактировать / заменять рецепты в poky.

Какой лучший способ сделать это? Если я просто скачаю более новый рецепт и включу его в свой слой (соответствующий именам файловой системы), будет ли он автоматически использовать более позднюю версию или мне нужно что-то еще сделать?

1 Ответ

2 голосов
/ 11 мая 2019

То, как вы поступили правильно, вы должны добавить новые файлы рецептов / bbappend на свои собственные слои, вы не должны изменять базовые слои Yocto или сторонние слои по умолчанию. Тем не менее, поскольку вы хотите добавить более новую версию существующего рецепта, имейте в виду, что:

  • Вы должны проверить приоритет вашего собственного слоя и приоритет слоя, который содержит оригинальный рецепт. Yocto выберет рецепт слоя с более высоким приоритетом, независимо от того, является ли он более новой версией или нет (игнорируя PV). Для получения дополнительной информации выполните поиск BBFILE_PRIORITY в Справочном руководстве по проекту Yocto. (Вы также можете просмотреть список всех настроенных слоев вместе с их приоритетами с помощью команды bitbake-layers show-layers)
  • В случае, когда оба слоя имеют одинаковый приоритет, Yocto создаст рецепт с наибольшим значением PV (вы можете проверить / установить это значение в своем рецепте или в его имени файла recepameame_pv.bb ) , В качестве альтернативы, если вы хотите выбрать другую версию, а не ту, которая создается в настоящее время, вы можете просто установить переменную PREFERRED_VERSION_recipename = desiredPV в своем файле distro.conf или local.conf .
...