yocto的fetch问题

yocto下载目录

download---------->放的压缩包(通过wget或者curl命令下载到)
downlaod/git2------->文件夹(通过git clone命令)
一般会根据相应的bb文件,优先下载压缩包,没有压缩包然后再通过git clone命令,根据bb指定的地址,下载文件放到download/git2目录下。

举个例子:
libdrm_%.bbappend文件中下载地址:

IMX_LIBDRM_SRC ?= “git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https”
IMX_LIBDRM_BRANCH = “imx_4.9.51_imx8_beta2”

报错的主要内容

  1. wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/tom/build/download/ ‘http://downloads.yoctoproject.org/mirror/sources/git2_source.codeaurora.org.external.imx.libdrm-imx.git.tar.gz’ --progress=dot -v
    DEBUG: Fetcher accessed the network with the command LANG=C
  2. git -c core.fsyncobjectfiles=0 clone --bare --mirror https://source.codeaurora.org/external/imx/libdrm-imx.git /home/tom/build/download/source.codeaurora.org.external.imx.libdrm-imx.git --progress

yocto的fetch过程中,根据打印信息可以得到
1)分析提供下载源码的url,对应这一个可以下载同样压缩包的url
2) 尝试这下载压缩包;压缩包下载不下来,尝试这从提供的url下载源码。

解决办法:
1)换个网络环境,根据出错
命令下载源码;然后放到编译目录download/git2
git -c core.fsyncobjectfiles=0 clone --bare --mirror https://source.codeaurora.org/external/imx/libdrm-imx.git /home/tom/build/download/source.codeaurora.org.external.imx.libdrm-imx.git --progress
2)在download/git2目录下创建一个文件:source.codeaurora.org.external.imx.libdrm-imx.git.done,查看其他done文件,不是空,就是固定字符,根据自己环境,填充相应字符。

编译时候怎么切换到相应的分支

例如:
1)在pulseaudio_5.0.bb文件指定目录:

SRC_URI_pulseaudio_tizen = "git://review.tizen.org/platform/upstream/pulseaudio;branch=tizen_3.0_ivi"

指定的分支:tizen_3.0_ivi

2)下载目录download/git2中,git branch 显示当前指针指向master分支

 tom@inuxer:~/downloads/git2/shaasigit02.git.linux.external.audiomanager.pulseaudio.git$ git branch -a
   atlas7
   atlas7_CAF
  * master
  tizen_3.0_ivi

3)在编译目录pulseaudio/git中

tom@tom-linuxer:~/build/tmp/work/pulseaudio/5.0-r0/git$ git branch -a
* (分离自 9120bf9)
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/atlas7
  remotes/origin/atlas7_CAF
  remotes/origin/master
  remotes/origin/tizen_3.0_ivi

./git/.git/packed-refs:
9120bf9099551ec194fe34c059140379c22de166 refs/remotes/origin/tizen_3.0_ivi

可以看到编译目录中当前分支指针值是9120bf9;在./git/.git/packed-refs,得到相应的对应分支是 tizen_3.0_ivi。

  1. 这个过程是yocto的unpack函数中做的

log文件build/tmp/work/pulseaudio/5.0-r0/temp/log.do_unpack.4671

git -c core.fsyncobjectfiles=0 checkout 9120bf9099551ec194fe34c059140379c22de166

切换分支是在unpack函数完成的。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值