Yocto do_package_qa 因 bin_package nodejs 配方挂起

Yocto do_package_qa hangs for bin_package nodejs recipe

使用 Yocto morty,我正在尝试在我的发行版中添加一个预构建版本的 nodejs。当我对 core-image-sato 进行 bitbake 时,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。我还看到了一个伪进程 运行.

如果您要使用

subdir=usr

SRC_URI的最后你还需要相应地改变它使用的源目录(S):

S = "${WORKDIR}/usr"

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