Может ли bitbake включать / требовать файл на основе переменной? - PullRequest
0 голосов
/ 22 сентября 2018

С помощью bitbake я хотел бы иметь возможность включать / запрашивать другой файл, основанный на переменной, т.е.

требуют $ {somevar}

Из всего, что я читалне работает напрямую, но, возможно, есть решение для моего конкретного случая использования.Я использую OECore и хотел бы иметь один рецепт изображения, который включает в себя группу настроек, расположенных в другом файле на основе чего-то вроде MACHINE.Поэтому вместо того, чтобы делать это:

SETTING_A_machine1 = "..."
SETTING_B_machine1 = "..."
SETTING_C_machine1 = "..."
SETTING_D_machine1 = "..."
...
SETTING_A_machine2 = "..."
SETTING_B_machine2 = "..."
SETTING_C_machine2 = "..."
SETTING_D_machine2 = "..."
...

Я бы хотел сделать что-то эквивалентное этому:

require include/${MACHINE}.inc

include / machine1.inc

SETTING_A = "..."
SETTING_B = "..."
SETTING_C = "..."
SETTING_D = "..."

include / machine2.inc

SETTING_A = "..."
SETTING_B = "..."
SETTING_C = "..."
SETTING_D = "..."

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 22 сентября 2018

Вы действительно пробовали это?

требуют, чтобы include / $ {MACHINE} .inc

просто работал.Если вы посмотрите на bitbake.conf, это то, как файлы конфигурации машины включены в первую очередь!Вам просто нужно знать, что это подразумевает немедленное расширение переменной, поэтому, если вы укажете здесь $ {FOO}, то в дальнейшем при изменении файла FOO это не будет отражено в включенном файле.

0 голосов
/ 22 сентября 2018

Yocto поддерживает переопределение машины, не могли бы вы попробовать следующее:

your-image-recipe.bb
include/machine1/common.inc
include/machine2/common.inc

Затем в your-image-recipe.bb вы получите:

require include/common.inc
...