[yocto] node-serialport recipe help

Caio caiortp at gmail.com
Sat Mar 14 11:35:40 PDT 2015


Hi folks!

I'm writing a recipe to build the nodejs with node-serialport, but i'm
having problem in the QA and in the do_package.

This problem occurs when I try to copy all the npm packets to target path
using the command "cp -r".

     cp -r  ${S}/build/* ${D}${libdir}/node_modules/serialport/build/
     cp -r  ${S}/node_modules/*  ${D}${libdir}/node_modules

When I use the cp , the bitbake display the following message:

WARNING: QA Issue: node-serialport requires /bin/bash, /bin/zsh, but no
providers in its RDEPENDS [file-rdeps]

I try to add RDEPENDS += "bash" but this is not enough, and the bitbake ask
for the /bin/zsh and the zsh is blacklisted.

*I'm not a "Yocto expert" so I need improve my recipes (there's some
workarounds in my recipes)

I'm using as model the Recipes from webOS :
https://github.com/openwebos/meta-webos/tree/master/recipes-upstreamable/node-gyp


node-serialport_git.bb

SUMMARY = "node-serial is a Serial Port binding for Node.js"
SECTION = "nodejs/module"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README.md;md5=b9a59a0fefe195d10be82cf7f0a99788"

DEPENDS = "node-pre-gyp-native"

PV = "1.6.1+gitr${SRCPV}"

RDEPENDS = "bash"

SRC_URI = "git://
github.com/voodootikigod/node-serialport.git;branch=master;protocol=git"
SRCREV = "94b7bdcc087b820e10913c483bab3e2c54d103f2"
S = "${WORKDIR}/git"


do_configure() {
    export LD="${CXX}"
    export GYP_DEFINES="sysroot=${STAGING_DIR_HOST}"
    node-pre-gyp --target_arch=${TARGET_ARCH} --target_platform=linux
configure
}

do_compile() {
    export LD="${CXX}"
    export GYP_DEFINES="sysroot=${STAGING_DIR_HOST}"
    node-pre-gyp --target_arch=${TARGET_ARCH} --target_platform=linux
build
}

do_install() {

    npm install --no-cache
    install -d ${D}${libdir}/node_modules
    install -d ${D}${libdir}/node_modules/serialport/
    install -d ${D}${libdir}/node_modules/serialport/build
    install -d ${D}${libdir}/node_modules/serialport/bin
    install -d ${S}/build/Release/
${D}${libdir}/node_modules/serialport/build/
    install -m 0664 ${S}/bin/serialportList.js
${D}${libdir}/node_modules/serialport/bin/
    install -m 0664 ${S}/bin/serialportTerminal.js
${D}${libdir}/node_modules/serialport/bin/
    install -m 0664 ${S}/package.json ${D}${libdir}/node_modules/serialport/
    install -m 0664 ${S}/parsers.js   ${D}${libdir}/node_modules/serialport/
    install -m 0664 ${S}/serialport.js
${D}${libdir}/node_modules/serialport/
#problematic line if the cp lines are uncommented the bitbake displayed to
add RDEPEND /bin/bash and /bin/zsh
    cp -r  ${S}/build/* ${D}${libdir}/node_modules/serialport/build/
    cp -r  ${S}/node_modules/*  ${D}${libdir}/node_modules
}


FILES_${PN} += "${libdir}/node_modules \
        ${libdir}/node_modules/serialport \
        ${libdir}/node_modules/serialport/build \
"

FILES_${PN}-dbg += "${libdir}/node_modules/.debug \
        ${libdir}/node_modules/serialport/.debug \
        ${libdir}/node_modules/serialport/build/.debug \
        ${libdir/node_modules/serialport/build/Release/.debug \
"
#workaround to avoid QA's problems, must be fixed in the second round
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
INHIBIT_PACKAGE_STRIP = "1"


}



node_pre-gyp-native.bb

DESCRIPTION = "Node.js tool for easy binary deployment of C++ addons"
HOMEPAGE = "https://github.com/mapbox/node-pre-gyp.git"
LICENSE = "BSD"
SECTION = "nodejs/module"

LIC_FILES_CHKSUM = "file://LICENSE;md5=7e13c3cf883a44ebcc74a8f568c0f6fb"

SRC_URI = "git://
github.com/mapbox/node-pre-gyp.git;branch=master;protocol=git"
SRCREV = "332b8b123e3aa91718fad763cf1fc11c4cfb49b7"
DEPENDS = "nodejs-native node-gyp-native"

S = "${WORKDIR}/git"

inherit native

do_install () {
  #woraround to install the node-pre-gyp
  npm install -g --force
}

If someone could help me I will be grateful.
Thanks !

Regards,

-- 
----------------------------------------------
Caio Pereira
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20150314/c8f38452/attachment.html>


More information about the yocto mailing list