【发布时间】:2016-12-17 20:43:47
【问题描述】:
yocto project 允许在其大多数配置文件中使用相对路径,但不允许在 ./build/conf/bblayers.conf 文件中使用。阻止对BBLAYERS 和BBLAYERS_NON_REMOVABLE 变量使用除绝对路径以外的任何内容的原因是什么?
我查看了BitBake user manual for yocto version 2.0(当前版本),但这并不能解释原因。我还检查了一些较旧的手动版本,但在谈到 bblayers.conf 文件或 BBLAYERS 变量时,它们似乎没有提及推理。同一个文件还包含BBPATH = "${TOPDIR}",它至少是动态分配的,并且距离 yotco 根目录不远。
我最好的猜测是 bblayers.conf 文件特定于它正在运行的系统。这将使其不适合通过源代码控制在开发人员之间共享,并且绝对路径将迫使人们在收到副本时编辑文件。不过,这似乎不是一个很好的理由,因此提出了这个问题。
【问题讨论】:
-
你有没有想过怎么做?现在坐在同一条船上:)
-
@MarioTacke 不,我没有。我认为答案是
bblayers.conf文件旨在特定于机器上的用户并且只是临时的。整理好想要的图层后,您应该制作一个替换大部分bblayers.conf内容的配方。您可以使用${HOME}、${TOPDIR}和其他一些替换,但不能使用相对路径。 -
没有人回答这个问题。我不是在问“我如何使用相对路径”,而是在问“为什么它们的使用被阻止”。现在回想起来,我猜答案是为了提高效率。对于绝对路径,您可以直接导航到目标文件。对于相对路径,您必须计算出当前的工作目录,计算出它上面有多少个
../,然后移到那里,然后再移回另一个目录路径。这听起来比去 /home/TafT/yocto/meta 还要多。 -
@TafT 我添加了一个答案试图回答“为什么”。
标签: configuration-files absolute-path yocto bitbake