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

РАБОТЕН ДИРЕКТОР

Името на пътя на работната директория, в която 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