如何在BitBake配方中递归安装我的目录和文件

7
我希望能够从工作目录递归地安装/复制所有目录和文件到我在Yocto构建系统上的目标程序包rootfs中。我尝试了Tobias Bystricky在OpenEmbedded BitBake recipe中如何递归安装目录结构的解决方案,但我遇到了“没有这样的文件或目录”的错误。我执行了以下操作:
install -d ${D}${sysconfdir}/xxx/
install -d ${D}${sysconfdir}/xxx/yyy
install -d ${D}${sysconfdir}/xxx/yyy/zzz
install -d ${D}${sysconfdir}/xxx/yyy/zzz/kkk
find ${WORKDIR}/xxx/yyy/zzz/kkk/ -type f -exec 'install -m 0755 "{}" ${D}${sysconfdir}/xxx/yyy/zzz/kkk/' \; 

错误信息如下:

查找:`install -m 0755 / "工作目录路径" /xxx/yyy/zzz/kkk/test_file.txt / "所有包的路径" / "MyPackage" /image/etc/xxx/yyy/zzz/kkk/': 没有那个文件或目录

我已检查并确认确切的工作目录路径和软件包目录路径已经存在。如果我漏掉了任何东西,请让我知道。
请提出其他建议。
2个回答

10
cp -r

已知泄露用户信息。在OE仓库中,规范形式为:
cp -R --no-dereference --preserve=mode,links -v SOURCE DESTINATION

参见相应的OE补丁


3
我还尝试了以下方法,但没有起作用。
install -m 0755 ${WORKDIR}/xxx/yyy/zzz/kkk/* ${D}${sysconfdir}/xxx/yyy/zzz/kkk

我刚刚在 do_install() 函数中尝试了简单的 cp -r 命令,它可以正常工作。

cp -r ${WORKDIR}/xxx/yyy/zzz ${D}${sysconfdir}/xxx/yyy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接