更新以前基于 master 分支但现在随版本一起发布的配方
Update a recipe that was previously based on master branch but now is released with version
我有一个菜谱 canboat,它以前没有基于正式发布版本,而是基于 master
分支上的 SRCREV
。
canboat.bb
SUMMARY = "CANBOAT- A small but effective set of command-line utilities to work with CAN networks on BOATs."
SECTION = "base"
LICENSE = "GPLv3"
DEPENDS += "libxslt-native canboat-native"
LIC_FILES_CHKSUM = "file://GPL;md5=05507c6da2404b0e88fe5a152fd12540"
SRC_URI = "git://github.com/canboat/canboat.git;branch=${SRCBRANCH} \
file://0001-Do-not-use-root-user-group-during-install.patch \
file://0001-Define-ANALYZEREXEC.patch \
file://0001-use-php-instead-of-php5.patch \
"
SRCBRANCH = "master"
SRCREV = "93b2ebfb334d7a9750b6947d3a4af9b091be2432"
S = "${WORKDIR}/git"
PREFIX ?= "${root_prefix}"
#PREFIX_class-native = "${prefix}"
EXTRA_OEMAKE_append_class-target = " ANALYZEREXEC=analyzer "
do_compile() {
oe_runmake
}
do_install() {
oe_runmake DESTDIR=${D} PREFIX=${root_prefix} EXEC_PREFIX=${exec_prefix} install
}
RDEPENDS_${PN}_append_class-target = " php-cli perl"
BBCLASSEXTEND = "native nativesdk"
main repository 几天前正式发布了,我想更新我的食谱以指向 v.1.0.0
。
工作流程
- 我用了
devtool add canboat [link-tar-ball]
- 复制了原来的改动
canboat.bb
- 将菜谱名称更改为
canboat_1.0.0.bb
,因为菜谱现在有 ${PV}
用于获取正确的版本
更新食谱
只有 SRC_URI
现在指向 .tar.gz
并且 md5sum
已经更新。
SUMMARY = "CANBOAT- A small but effective set of command-line utilities to work with CAN networks on BOATs."
SECTION = "base"
LICENSE = "GPLv3"
DEPENDS += "libxslt-native canboat-native"
LIC_FILES_CHKSUM = "file://GPL;md5=05507c6da2404b0e88fe5a152fd12540"
SRC_URI = "git://github.com/canboat/canboat.git;branch=${SRCBRANCH} \
file://0001-Do-not-use-root-user-group-during-install.patch \
file://0001-Define-ANALYZEREXEC.patch \
file://0001-use-php-instead-of-php5.patch \
"
SRC_URI = "https://github.com/canboat/canboat/archive/v${PV}.tar.gz"
SRC_URI[md5sum] = "6ee6162d30faa3b3f1ff068cc7a70a60"
SRC_URI[sha256sum] = "6bf1050a83a5d7eb8351547c10e7e2ae2e1811250d50a63880074f0c07ec672e"
S = "${WORKDIR}/git"
PREFIX ?= "${root_prefix}"
#PREFIX_class-native = "${prefix}"
EXTRA_OEMAKE_append_class-target = " ANALYZEREXEC=analyzer "
do_compile() {
oe_runmake
}
do_install() {
oe_runmake DESTDIR=${D} PREFIX=${root_prefix} EXEC_PREFIX=${exec_prefix} install
}
RDEPENDS_${PN}_append_class-target = " php-cli perl"
BBCLASSEXTEND = "native nativesdk"
我尝试bitbake -k canboat
检查构建过程
错误
我收到如下质量检查错误:
QA Issue: canboat-native: LIC_FILES_CHKSUM points to an invalid file:
/home/des/Yocto/PHYTEC_BSPs/yocto_fsl/build/tmp/work/x86_64-linux/canboat-native/1.0.0-r0/git/GPL
我尝试进入上述文件夹,但那里没有 GPL
文件,相反,该文件存在于 canboat_1.0.0
文件夹中。
结构如下:
.
├── canboat-1.0.0
│ ├── actisense-serial
│ ├── airmar
│ ├── analyzer
│ ├── candump2analyzer
│ ├── common
│ ├── config
│ ├── group-function
│ ├── ip
│ ├── n2kd
│ ├── nmea0183
│ ├── samples
│ ├── send-message
│ ├── socketcan-writer
│ └── util
├── git
└── temp
git
文件夹中没有任何内容。
问题
如何克服 QA
测试,有没有更好的方法来更新食谱?
您的新食谱中不需要 S = "${WORKDIR}/git"
。当您从 tarball 引用特定版本时,yocto 使用 ${PN}-${PV}
取消引用路径
这是因为压缩包解压缩后,源路径将为${WORKDIR}/${PN}-${PV}
。
此外,当找不到 Makefile.am/in
或 autoconf
文件时,您可以删除食谱的 do_compile
部分,因为 Yocto 默认调用 make
。
我有一个菜谱 canboat,它以前没有基于正式发布版本,而是基于 master
分支上的 SRCREV
。
canboat.bb
SUMMARY = "CANBOAT- A small but effective set of command-line utilities to work with CAN networks on BOATs."
SECTION = "base"
LICENSE = "GPLv3"
DEPENDS += "libxslt-native canboat-native"
LIC_FILES_CHKSUM = "file://GPL;md5=05507c6da2404b0e88fe5a152fd12540"
SRC_URI = "git://github.com/canboat/canboat.git;branch=${SRCBRANCH} \
file://0001-Do-not-use-root-user-group-during-install.patch \
file://0001-Define-ANALYZEREXEC.patch \
file://0001-use-php-instead-of-php5.patch \
"
SRCBRANCH = "master"
SRCREV = "93b2ebfb334d7a9750b6947d3a4af9b091be2432"
S = "${WORKDIR}/git"
PREFIX ?= "${root_prefix}"
#PREFIX_class-native = "${prefix}"
EXTRA_OEMAKE_append_class-target = " ANALYZEREXEC=analyzer "
do_compile() {
oe_runmake
}
do_install() {
oe_runmake DESTDIR=${D} PREFIX=${root_prefix} EXEC_PREFIX=${exec_prefix} install
}
RDEPENDS_${PN}_append_class-target = " php-cli perl"
BBCLASSEXTEND = "native nativesdk"
main repository 几天前正式发布了,我想更新我的食谱以指向 v.1.0.0
。
工作流程
- 我用了
devtool add canboat [link-tar-ball]
- 复制了原来的改动
canboat.bb
- 将菜谱名称更改为
canboat_1.0.0.bb
,因为菜谱现在有${PV}
用于获取正确的版本
更新食谱
只有 SRC_URI
现在指向 .tar.gz
并且 md5sum
已经更新。
SUMMARY = "CANBOAT- A small but effective set of command-line utilities to work with CAN networks on BOATs."
SECTION = "base"
LICENSE = "GPLv3"
DEPENDS += "libxslt-native canboat-native"
LIC_FILES_CHKSUM = "file://GPL;md5=05507c6da2404b0e88fe5a152fd12540"
SRC_URI = "git://github.com/canboat/canboat.git;branch=${SRCBRANCH} \
file://0001-Do-not-use-root-user-group-during-install.patch \
file://0001-Define-ANALYZEREXEC.patch \
file://0001-use-php-instead-of-php5.patch \
"
SRC_URI = "https://github.com/canboat/canboat/archive/v${PV}.tar.gz"
SRC_URI[md5sum] = "6ee6162d30faa3b3f1ff068cc7a70a60"
SRC_URI[sha256sum] = "6bf1050a83a5d7eb8351547c10e7e2ae2e1811250d50a63880074f0c07ec672e"
S = "${WORKDIR}/git"
PREFIX ?= "${root_prefix}"
#PREFIX_class-native = "${prefix}"
EXTRA_OEMAKE_append_class-target = " ANALYZEREXEC=analyzer "
do_compile() {
oe_runmake
}
do_install() {
oe_runmake DESTDIR=${D} PREFIX=${root_prefix} EXEC_PREFIX=${exec_prefix} install
}
RDEPENDS_${PN}_append_class-target = " php-cli perl"
BBCLASSEXTEND = "native nativesdk"
我尝试bitbake -k canboat
检查构建过程
错误
我收到如下质量检查错误:
QA Issue: canboat-native: LIC_FILES_CHKSUM points to an invalid file:
/home/des/Yocto/PHYTEC_BSPs/yocto_fsl/build/tmp/work/x86_64-linux/canboat-native/1.0.0-r0/git/GPL
我尝试进入上述文件夹,但那里没有 GPL
文件,相反,该文件存在于 canboat_1.0.0
文件夹中。
结构如下:
.
├── canboat-1.0.0
│ ├── actisense-serial
│ ├── airmar
│ ├── analyzer
│ ├── candump2analyzer
│ ├── common
│ ├── config
│ ├── group-function
│ ├── ip
│ ├── n2kd
│ ├── nmea0183
│ ├── samples
│ ├── send-message
│ ├── socketcan-writer
│ └── util
├── git
└── temp
git
文件夹中没有任何内容。
问题
如何克服 QA
测试,有没有更好的方法来更新食谱?
您的新食谱中不需要 S = "${WORKDIR}/git"
。当您从 tarball 引用特定版本时,yocto 使用 ${PN}-${PV}
这是因为压缩包解压缩后,源路径将为${WORKDIR}/${PN}-${PV}
。
此外,当找不到 Makefile.am/in
或 autoconf
文件时,您可以删除食谱的 do_compile
部分,因为 Yocto 默认调用 make
。