显示页面修订记录反向链接回到顶部 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ====使用devtool测试源码并生成规范补丁==== 有时候,配方获取的源码有bug,导致编译出来的程序功能不全或是无法编译通过,这时可以单独用devtool来编译测试源码,从而据此创建修复后的fork源,或是用来生成合规的补丁。 先用deyaio的mkproject.sh创建项目,比如项目目录在deyaio/dey5.0/workspace/ccmp25rtsp <code> 拉取源码 devtool modify mjpg-streamer 如果之前有错误的补丁,可以先在bb里把它删除,以便重新生成,或是用增加补丁的方式。 上面命令会在deyaio/dey5.0/workspace/ccmp25rtsp/workspace/sources/下拉取配方mjpg-streamer中所用到git项目的源码。 如果需要保存源码,建议用链接文件的方式单独配置这个源,比如可以用git拉mjpg-streamer源码到yocto管理目录之外,如~/git/mjpg-streamer,然后在编译前把修改保存一份同步,因为用devtool reset mjpg-streamer后,这个dey内的源码目录会消失,包括.git等版本控制信息。 构建并验证修改: devtool build mjpg-streamer # 创建空工作区(推荐使用绝对路径) devtool create-workspace --layerseries dey5.0 ../workspace-dev # 在开发层目录执行 cd ~/deyaio/dey5.0/workspace-dev devtool modify ccmp25 # 修改源码(推荐在sources/ccmp25目录操作) vi sources/ccmp25/src/file.c # 生成规范补丁 devtool generate-patch ccmp25 # 在meta-devtool目录初始化Git cd workspace-dev/meta-devtool git init git add devtool git commit -m "Initial devtool configuration" # 配置自动清理旧补丁(保留最近5个) devtool clean-patches --keep 5 ccmp25 </code> 配方中已有补丁,只是和源码不匹配,则 <code> cd ~/deyaio/dey5.0/workspace devtool modify mjpg-streamer # 查看补丁应用状态 bitbake -c patch mjpg-streamer # 查看补丁冲突(推荐) patch --dry-run -p1 < meta-custom/recipes-multimedia/mjpg-streamer/files/0001-Fix-SDL2-support.patch </code>