【发布时间】:2019-10-03 23:07:57
【问题描述】:
我需要根据配方的内容生成某种清单。该文件也需要部署到镜像中。
为了生成文件,我在很多bbclasses中看到python代码函数的使用方式类似,例如:
python do_create_manifest () {
[...]
filename = d.expand("${D}${LOC}/${MANIFEST_NAME}")
[...]
with open (filename,'w') as manifest_file:
json.dump(manifest_dict, manifest_file, indent=True)
os.chmod(filename, 0o644)
}
- 还有其他首选方式吗?
该文件是在添加任务依赖后创建的,但是打包该文件时,文件中会出现host-user-contaminated警告。
尽管我在许多食谱中看到了以下用途:
chown -R root:root ${D}${...}/${...}
这会失败,因为 chown 需要由 root 运行,而 bitbake 由当前用户运行:
Log data follows:
| DEBUG: Executing shell function do_uncontaminate
| chown: changing ownership of '/mnt/thud/build-r0w/[...]/manifest.json': Operation not permitted
| WARNING: exit code 1 from a shell command.
- 在这种情况下,我该如何解决 host-user-contaminate 警告?
注意:我知道这会阻止警告出现,但不能解决问题。
INSANE_SKIP_${PN} = "host-user-contaminated"
【问题讨论】:
-
你能分享完整的食谱吗? (以及完整的错误日志)。
-
你好@danlor,代码在一个类中,配方太长,无法添加到这个问题中。我添加了给定的错误
标签: yocto bitbake openembedded