【问题标题】:Why does bitbake recipe for python-cffi fail on do_fetch为什么 python-cffi 的 bitbake 配方在 do_fetch 上失败
【发布时间】:2018-03-21 01:36:27
【问题描述】:

不确定这是不是问这个问题的正确地方:

我一直在努力尝试为 bitbake 的 dora 分支创建一个编译 python-cffi 的配方,但还没有运气。那里似乎有几个食谱,但对我不起作用。显然源代码gz文件处于一种奇怪的状态,无法通过bitbake中的正常do_fetch命令获取。

当使用这些 bitbake 食谱作为起点时:

python-cffi_1.11.0.bb

python-cffi_1.11.0.inc

我修改了代码创建了一个名为 python-cffi_1.11.2.bb 的新配方,然后标准的 do_fetch 不明白如何处理下载的 gz 文件。

这是我正在使用的 bitbake 配方(名为 python-cffi_1.11.2.bb)


SUMMARY = "Foreign Function Interface for Python calling C code"
# This is the format of the actual URI
SRC_URI = "https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
DEPENDS += "libffi python-pycparser"
SRC_URI[md5sum] = "a731487324b501c8295221b629d3f5f3"
RDEPENDS_${PN}_class-target = "python-io "
BBCLASSEXTEND = "native nativesdk"
inherit pypi setuptools

我在 build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/python-cffi/1.11.2-r0/temp/log.do_fetch 中收到这组错误消息

显然,提取器正确下载了文件,但不知道如何处理它。 build/downloads 目录下有文件 cffi-1.11.2.tar.gz!

...
DEBUG: Trying Upstream
NOTE: fetch https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3
DEBUG: executing /usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/pjm/yocto-iscan/poky/build/downloads 'https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3'
DEBUG: Fetcher accessed the network with the command /usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/pjm/yocto-iscan/poky/build/downloads 'https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3'
DEBUG: Running export SSH_AUTH_SOCK="/run/user/1000/keyring-1bn6Fg/ssh"; export PATH="/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux/usr/bin/python-native:/home/pjm/yocto-iscan/poky/scripts:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/omap3logic/usr/bin/crossscripts:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux/usr/sbin:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux/usr/bin:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux/sbin:/home/pjm/yocto-iscan/poky/build/tmp/sysroots/x86_64-linux//bin:/home/pjm/yocto-iscan/poky/scripts:/home/pjm/yocto-iscan/poky/bitbake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"; export HOME="/home/pjm"; /usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/pjm/yocto-iscan/poky/build/downloads 'https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3'
WARNING: Failed to fetch URL https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3, attempting MIRRORS if available
DEBUG: Fetcher failure for URL: 'https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3'. The fetch command returned success for url https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3 but /home/pjm/yocto-iscan/poky/build/downloads/cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3 doesn't exist?!
DEBUG: Trying MIRRORS
...

我应该在 bitbake 配方中进行哪些更改,以便 do_fetch 可以正确提取文件?我假设有一些 post fetch 步骤需要指定真正的文件被称为 cffi-1.11.2.tar.gz 和 not 最后挂着 md5 哈希的文件。它似乎在寻找 cffi-1.11.2.tar.gz#md5=a731487324b501c8295221b629d3f5f3 而不是 cffi-1.11.2.tar.gz

【问题讨论】:

标签: python bitbake python-cffi


【解决方案1】:

我想我找到了这个问题的答案。

似乎 bitbake 代码正在上游寻找 python-cffi_1.11.2 源文件,但从未到达实际配方中的 SRC_URI!

这是一个错误吗?

如果我将配方重命名为 cffi_1.11.2.bb,它可以正常工作。

【讨论】:

    猜你喜欢
    • 2022-06-11
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 2022-08-14
    • 1970-01-01
    • 2015-02-28
    相关资源
    最近更新 更多