将特定标头添加到 bitbake wget fetcher

grm*_*rmm 3 embedded-linux bitbake yocto

我需要设置一个特定的标头来使用获取器从资源中获取存档wget,类似于:

wget --header "PRIVATE-ACCESS-TOKEN:blablablablabla https://some-resource...." 
Run Code Online (Sandbox Code Playgroud)

如何使用该获取器设置特定标头?

提前致谢!

Tal*_*LEM 5

您可以通过多种方式做到这一点,以下是一些:

  1. 手动下载文件并将其放入downloads文件夹中,如此处所述

  2. 覆盖do_fetch任务:

do_fetch() {
    bbnote "Fetching some file ..."
    wget ...
}
Run Code Online (Sandbox Code Playgroud)

但您需要注意do_unpack使用SRC_URI,因此您仍然需要指定SRC_URI解包的文件 URL,例如我使用wget包本身进行测试:

LICENSE="CLOSED"

SRC_URI = "http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz"

do_fetch(){
    bbwarn "Fetching wget"
    wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
}
Run Code Online (Sandbox Code Playgroud)

运行后,do_fetch文件被下载downloads,然后在配方do_unpack下解压。WORKDIR

  1. 为获取器指定您自己的wget命令行wget
FETCHCMD_wget = "/usr/bin/env wget --header "PRIVATE-ACCESS-TOKEN:blablablablabla""
Run Code Online (Sandbox Code Playgroud)

默认wget命令存在于poky/bitbake/lib/bb/fetch2/wget.py::

self.basecmd = d.getVar("FETCHCMD_wget") or "/usr/bin/env wget -t 2 -T 30 --passive-ftp --no-check-certificate"
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请查看:此链接