Я использую yocto bitbake для создания собственного образа linux.
У меня есть 2 bitbake
рецептов.recipe-1
и recipe-2
.recipe-1
создает каталог в выходном изображении Linux.Имя каталога: mydir
recipe-1
SUMMARY="Creates direcory"
LICENSE = "CLOSED"
FILES_${PN} += "${sysconfdir} /mydir"
do_install_append () {
install -d ${D}/mydir
}
Давайте перейдем к recipe-2
.recipe-2
хочет поместить файл с именем myfile
в mydir
recipe-2
SUMMARY="Wants to place a file in mydir created by recipe-1"
LICENSE = "CLOSED"
DEPENDS = "recipe-1"
SRC_URI = " file://myfile"
S = "${WORKDIR}"
do_install_append () {
install -m 600 ${WORKDIR}/myfile ${D}/mydir # bibake build complains that mydir is not found
}
Проблема:
В базовом рецепте, о котором я упоминал recipe-2
после recipe-1
поскольку recipe-2
зависит от recipe-1
.Это нормально, но bitbake build жалуется, что mydir
не распознается.Я понимаю проблему.Мне нужно сделать mydir
видимым для recipe-2
.Как я могу это сделать?
Вопрос:
Могу ли я сделать mydir
, который является выводом recipe-1
, глобальной переменной в моей системе сборки рецептов?Глобальная переменная типа ${bindir}
, ${datadir}
и т. Д.?Если я могу сделать это как часть здания recipe-1
, то это может быть элегантным решением?
Итак, я хочу использовать пользовательскую переменную, скажем, ${mydir}
в do_install_append
из recipe-2
?И сделать что-то подобное в do_install_append
из recipe-2
.
install -m 600 ${WORKDIR}/myfile ${D}/${mydir}
Возможно ли это?