WORKDIR в рецепте йокто

Когда я открываю файлы bitbake (с расширением .bb), большинство файлов используют переменную WORKDIR, как показано ниже.

S = "${WORKDIR}/git" 

Подскажите, пожалуйста, где определяется этот WORKDIR.


person user3693586    schedule 03.03.2015    source источник


Ответы (3)


Значение по умолчанию ${WORKDIR} определяется в переменных bitbake. Но вы можете изменить это в рецепте. Он указывает на каталог, в котором bitbake распаковывает пакет.

Вы можете получить значение ${WORKDIR} из среды bitbake

bitbake -e <recipe-name> | grep ^WORKDIR=

Для конкретного рецепта вы можете получить значения всех переменных, получив файл среды как:

bitbake -e recipe_name > env
person Sajjad Ahmed    schedule 07.03.2018

Из справочного руководства по проекту 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.

person javey    schedule 12.07.2016

WORKDIR определяется в следующих файлах.

bitbake/conf/bitbake.conf
oe-core/meta/conf/bitbake.conf
person user3693586    schedule 03.03.2015