Yocto do_package_qa为bin_package nodejs配方挂起

时间:2017-09-25 19:29:45

标签: node.js yocto

使用Yocto morty,我试图在我的发行版中添加一个预构建的nodejs版本。当我咬一下core-image-sato时,do_package_qa挂了好几个小时。我非常感谢你帮我解决这个问题。

我已将此添加到local.conf的底部:

CORE_IMAGE_EXTRA_INSTALL += "mynode"

这是我的mynode食谱:

SUMMARY = "puts the node.js binary distribution into my image"
SECTION = "base"
LICENSE = "MIT & BSD & Artistic-2.0"
LIC_FILES_CHKSUM = "file://usr/node-v7.10.0-linux-x64/LICENSE;md5=d29463feca32ea5977af7b6c7d62c14a"
SRC_URI = "https://nodejs.org/dist/v7.10.0/node-v7.10.0-linux-x64.tar.xz;subdir=usr"
SRC_URI[md5sum] = "b9122f212e0716d199d7e954ff81e1ec"
SRC_URI[sha256sum] = "6166b9f3fb1a9e861335d864688fee5366f040db808080856a1a2b71b6019786"
S = "${WORKDIR}"
inherit bin_package

这是我的nodejs包的log.do_install的内容。也许来自tar的消息以某种方式描述了我的问题?

DEBUG: Executing shell function do_install
tar: ./pseudo/pseudo.socket: socket ignored
DEBUG: Shell function do_install finished

对于我的nodejs包,log.do_package_qa似乎没什么用处,但也许有人会看到我看不到的东西:

DEBUG: Executing python function sstate_task_prefunc
DEBUG: Python function sstate_task_prefunc finished
DEBUG: Executing python function do_package_qa
NOTE: DO PACKAGE QA
DEBUG: Executing python function read_subpackage_metadata
DEBUG: Python function read_subpackage_metadata finished
NOTE: Checking Package: mynode-dev
NOTE: Checking Package: mynode

我看到一些bitbake-worker进程正在运行,一个带有参数decafbad,两个带有参数decafbadbeef。我还看到一个伪进程正在运行。

1 个答案:

答案 0 :(得分:1)

如果您打算使用

subdir=usr

SRC_URI结束时,您还需要相应地更改它使用的源目录(S):

S = "${WORKDIR}/usr"

此外,我认为对于所有预先构建的二进制包(inherit bin_package),您希望以这种方式进行。我试过没有,它永远挂了。此外,您可能希望使用其他任何其他用途的subdir名称,例如external_binary。这样每个二进制配方可以使用相同的subdir