2017-10-09 170 views
0

不知道是這是問這個正確的地方:爲什麼配方bitbake的爲Python-CFFI失敗的do_fetch

我一直在努力,試圖創建配方編譯的python-CFFI爲多拉分支bitbake,並沒有運氣。似乎有幾個食譜,但沒有爲我工作。顯然源代碼gz文件處於奇怪的狀態,不能通過bitbake中的普通do_fetch命令獲取。

當使用這些bitbake的食譜爲出發點:

python-cffi_1.11.0.bb

python-cffi_1.11.0.inc

我修改代碼來創建一個新的配方被稱爲PYT hon-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 

我得到這個集生成錯誤消息的/ tmp /工作/armv7a-vfp-neon-poky-linux-gnueabi/python-cffi/1.11.2-r0/temp/log.do_fetch

顯然,fetcher獲取文件正確下載,但不知道該怎麼做它。 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能夠正確提取文件?我假設有一些後取指令步驟需要指定實際文件名爲cffi-1.11.2.tar.gz和而不是 md5哈希結尾的文件被掛起。這似乎是在尋找CFFI-1.11.2.tar.gz#MD5 = a731487324b501c8295221b629d3f5f3代替CFFI-1.11.2.tar.gz

+0

也許嘗試在「#md5」之前停止網址(SRC_URI)? –

+0

感謝您的回覆......我嘗試了所有我能想到的組合。 SRC_URI =「https://pypi.python.org/packages/cffi-1.11.1.tar.gz」 SRC_URI =「https://pypi.python.org/pypi/cffi/1.11.1/cffi -1.11.1.tar.gz「 SRC_URI =」https://pypi.python.org/packages/70/72/c825b14b212fe61791c88e09cca65b26ea0b5e7ef6a4a2f979d338fbe38d/cffi-1.11.1.tar。GZ;的md5sum = 89dfa1bb3b3e28eafb5da3e345a19f56 「 SRC_URI =」 http://pypi.pediapress.com/packages/mirror/cffi-1.11.1.tar.gz 「 SRC_URI =」 文件://python-cffi-1.11 .1.tar.gz 「 –

+0

''SRC_URI =」 https://pypi.python.org/packages/c9/70/89b68b6600d479034276fed316e14b9107d50a62f5627da37fafe083fde3/cffi-1.11.2.tar.gz「'' –

回答

0

我想我找到了答案這個問題。

看起來像bitbake代碼正在尋找python-cffi_1.11.2源文件的上游,並且永遠不會到達實際配方中的SRC_URI!

這是一個錯誤?

如果我重命名配方cffi_1.11.2.bb它工作正常。