首先,这是一个语法错误canopensocket_git。
配方名称${PN} 是canopensocket,_ 之后的所有内容都是版本号${PV}。
因此,您只需指定配方名称。或者,如果您有不同的版本,您可以通过以下方式指定一个:
PREFERRED_VERSION_canopensocket = "version_here"
话虽如此,我在here 中找到了canopensocket 的配方。
但是如果失败并且它没有被最新的 github 提交更新。
我对它做了一些修改,这是我的食谱:
SUMMARY = "Linux CANOpen tools"
DESCRIPTION = "Linux CANOpen Protocol Stack Tools"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/CANopenNode/CANopenSocket.git"
SRCREV = "ec9735165502e08b5d2e84d641833709b6faeb96"
S = "${WORKDIR}/git"
do_compile_prepend() {
cd ${S}
git submodule init
git submodule update
}
do_compile() {
cd ${S}/cocomm
make
cd ${S}/canopencgi
make
}
do_install(){
install -d ${D}${bindir}
install -m 0755 ${S}/cocomm/cocomm ${D}${bindir}
install -m 0755 ${S}/canopencgi/canopen.cgi ${D}${bindir}
}
FILES_${PN} += "${bindir}/*"
我修改了do_compile,do_install,增加了FILES的封装。
我将 SRCREV 设置为最新的 v4 标签提交,而不是 AUTOREV。
我不知道这个配方有什么作用,但我编译了它,并且在 zeus 构建中构建对我来说没问题。
构建生成了两个二进制文件:cocomm 和 canopen.cgi。
不,如果您想将其安装到您的图像中,请将其添加到您的自定义图像配方中:
IMAGE_INSTALL_append = " canopensocket"