Когда я открываю файлы bitbake (с расширением .bb), большинство файлов используют переменную WORKDIR, как показано ниже.
S = "${WORKDIR}/git"
Подскажите, пожалуйста, где определяется этот WORKDIR.
Когда я открываю файлы bitbake (с расширением .bb), большинство файлов используют переменную WORKDIR, как показано ниже.
S = "${WORKDIR}/git"
Подскажите, пожалуйста, где определяется этот WORKDIR.
Значение по умолчанию ${WORKDIR}
определяется в переменных bitbake. Но вы можете изменить это в рецепте. Он указывает на каталог, в котором bitbake распаковывает пакет.
Вы можете получить значение ${WORKDIR}
из среды bitbake
bitbake -e <recipe-name> | grep ^WORKDIR=
Для конкретного рецепта вы можете получить значения всех переменных, получив файл среды как:
bitbake -e recipe_name > env
Из справочного руководства по проекту Yocto
WORKDIR
Путь к рабочему каталогу, в котором система сборки OpenEmbedded создает рецепт. Этот каталог находится в структуре каталогов TMPDIR и зависит от создаваемого рецепта и системы, для которой он создается.
Каталог WORKDIR определяется следующим образом:
${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}
Фактический каталог зависит от нескольких вещей:
TMPDIR: The top-level build output directory MULTIMACH_TARGET_SYS: The target system identifier PN: The recipe name EXTENDPE: The epoch - (if PE is not specified, which is usually the >case for most recipes, then EXTENDPE is blank) PV: The recipe version PR: The recipe revision
В качестве примера предположим, что папка верхнего уровня исходного каталога имеет имя poky, каталог сборки по умолчанию в poky / build и целевую систему компьютера qemux86-poky-linux. Кроме того, предположим, что ваш рецепт называется foo_1.3.0-r0.bb. В этом случае рабочий каталог, который система сборки использует для сборки пакета, будет следующим:
poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0
http://www.yoctoproject.org/docs/2.1/ref-manual/ref-manual.html#var-WORKDIR
$ {TMPDIR} будет папкой с именем "tmp" в вашем каталоге сборки Yocto.
WORKDIR определяется в следующих файлах.
bitbake/conf/bitbake.conf
oe-core/meta/conf/bitbake.conf