Как переопределить файл .conf в Yocto - PullRequest
0 голосов
/ 31 октября 2019

Я знаю, как переопределить файл .bb, используя файл .bbappend внутри пользовательского слоя, реплицируя точный путь к исходному.

Но когда файл для переопределения имеет значение .conf? Я читаю мега-руководство, но не могу найти эту информацию (возможно, я смотрю не на те главы).

ОБНОВЛЕНИЕ

Это пример того, что я хочу сделать. Исходный файл .conf содержит эту строку:

IMAGE_FEATURES[validitems] += "qtcreator-debug"

, и я хочу удалить это. Если бы это был файл .bb, я бы создал файл bbappend с:

IMAGE_FEATURES[validitems] -= "qtcreator-debug"

Ответы [ 2 ]

3 голосов
/ 31 октября 2019

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

Итак, это одна часть. Во-вторых, правильные файлы .conf фактически устанавливают свои переменные, которые означают для настройки с операторами ?= и ??=, что облегчает перезапись. Поэтому, если вы хотите перезаписать .conf, попробуйте переписать его. Если нет, подумайте также о том, почему он, возможно, не был написан таким образом, и если его перезаписать, то это действительно правильное решение или просто решение для клейкой ленты.

1 голос
/ 01 ноября 2019

Есть несколько способов сделать это. 1) Вы всегда можете переопределить материал в local.conf, он имеет самый высокий приоритет оценки. Но ограничение заключается в том, что local.conf необходимо редактировать вручную, а изменения доступны только для сборки с этим конкретным local.conf. 2) Если это имеет смысл, вы можете создать новый файл conf и наследовать исходный файл conf, используя «require», а затем переопределить вещи. Это полезно при создании новых машинных конфигурационных файлов на основе существующих. 3) Наконец, механизм грубой силы для переопределения всего файла conf должен создать новый файл conf с тем же именем внутри пользовательского слоя и установить приоритет слоя пользовательского слоя выше, чем слой, содержащий исходный файл conf. Это означает, что вам придется самостоятельно поддерживать перезаписываемый файл conf. Этот метод применим и для переопределения bbclasses. 4) Вы также можете изменить IMAGE_FEATURES внутри рецепта изображения (см. http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-sato/images/core-image-sato.bb).

...