use*_*535 5 shell recipe openembedded bitbake
我想通过使用某种递归安装例程而不是多次调用 install 来简化安装大型目录结构的 BitBake 配方。源目录布局在开发过程中经常发生变化,这导致配方修订比我想要处理的要多得多。
例如,以下 do_install() 将如何简化:
do_install() {
install -d ${D}/foo
install -m 0644 ${S}/foo/*.* ${D}/foo
install -d ${D}/foo/a
install -m 0644 ${S}/foo/a/*.* ${D}/foo/a
install -d ${D}/foo/b
install -m 0644 ${S}/foo/b/*.* ${D}/foo/b
install -d ${D}/foo/c
install -m 0644 ${S}/foo/c/*.* ${D}/foo/c
install -d ${D}/bar
install -m 0644 ${S}/bar/*.* ${D}/bar
install -d ${D}/bar/a
install -m 0644 ${S}/bar/a/*.* ${D}/bar/a
install -d ${D}/bar/a/bananas
install -m 0644 ${S}/bar/a/bananas/*.* ${D}/bar/a/bananas
}
Run Code Online (Sandbox Code Playgroud)
更像这个伪代码的东西:
do_install() {
for each subdir in ${S}/foo/
install subdir recursively to ${D}/foo/subdir
end
for each subdir in ${S}/bar/
install subdir recursively to ${D}/bar/subdir
end
}
Run Code Online (Sandbox Code Playgroud)
我们源文件中的顶级目录(上面例子中的 foo 和 bar)很少改变,所以在配方中调用它们是可以的。这是经常更改的较低级别的目录。
cp -r 最终可能是要走的路,但我相信我已经读过它在 BitBake 食谱中不受欢迎,所以我想知道 BitBake 是否提供了一些替代机制,或者是否有其他一些合理标准化的方式去做这个。
小智 4
我们以前是这样做的:
do_install() {
find ${WORKDIR}/ -type f -exec 'install -m 0755 "{}" ${D}/var/www/' \;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3230 次 |
| 最近记录: |