如何修改Yocto Recipe从本地文件夹获取Pillow源码而非GitHub
配置Yocto使用本地Pillow源码替代GitHub仓库
步骤1:确认本地源码结构
确保你复制到my-downloads的是完整的Git仓库(包含.git目录),路径示例:my-downloads/Pillow/,且仓库的6.2.x分支与原Recipe对应版本一致。
步骤2:创建.bbappend文件
在你的自定义meta层中,创建路径recipes-devtools/python/(不存在则新建),然后在该路径下创建python3-pillow_%.bbappend文件。
步骤3:修改SRC_URI配置
在.bbappend文件中添加以下配置,覆盖原Recipe的GitHub源,指定本地Git仓库:
# 清除原有的GitHub Git源 SRC_URI = "" # 添加本地Git仓库路径,根据实际路径调整 # 若my-downloads在Yocto项目根目录(TOPDIR)下: SRC_URI += "git://${TOPDIR}/my-downloads/Pillow;branch=6.2.x;protocol=file" # 若使用绝对路径,示例: # SRC_URI += "git:///home/your-user/my-downloads/Pillow;branch=6.2.x;protocol=file"
可选:匹配SRCREV
如果本地仓库的commit哈希与原Recipe的SRCREV不一致,需要在.bbappend中添加对应commit的哈希值:
SRCREV = "你的本地仓库6.2.x分支的commit哈希"
步骤4:验证并编译
- 清除原有编译缓存:
bitbake python3-pillow -c cleanall - 重新编译Pillow:
bitbake python3-pillow - 查看编译日志,确认源码从本地仓库获取而非GitHub。
注意事项
- 必须使用完整Git仓库:原Recipe基于Git源构建,本地路径需包含
.git目录才能被BitBake识别为Git源。 - 若使用压缩包替代Git仓库:需将源码打包为与原Recipe版本匹配的tar包,然后修改SRC_URI为
file://Pillow-6.2.1.tar.gz,同时添加原Recipe对应的SRC_URI[sha256sum]值。 - 确保自定义meta层已添加到
bblayers.conf中,否则BitBake无法找到.bbappend文件。
内容的提问来源于stack exchange,提问作者User051209
相关产品推荐
相关产品推荐

