I have a recipe canboat which was previously based on no official release version and was based on the SRCREV
on the master
branch.
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"
The main repository did a release officially a couple of days ago and I want to update my recipe to point to v.1.0.0
.
devtool add canboat [link-tar-ball]
canboat.bb
canboat_1.0.0.bb
since the recipe now has ${PV}
for fetching the right versiononly the SRC_URI
now pointing to the .tar.gz
is and the md5sum
s have been updated.
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"
I tried bitbake -k canboat
to check the build process
I get a QA error as following:
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
I tried going into the above mentioned folder and there was no GPL
file there on the contrary the file is present in the canboat_1.0.0
folder.
The structure is as follows:
.
├── canboat-1.0.0
│ ├── actisense-serial
│ ├── airmar
│ ├── analyzer
│ ├── candump2analyzer
│ ├── common
│ ├── config
│ ├── group-function
│ ├── ip
│ ├── n2kd
│ ├── nmea0183
│ ├── samples
│ ├── send-message
│ ├── socketcan-writer
│ └── util
├── git
└── temp
and the git
folder has nothing in it.
How do I overcome the QA
test and is there a better way to update the recipes?
You don't need S = "${WORKDIR}/git"
in your new recipe. When you refer specific version from tarball, yocto de-references the path using ${PN}-${PV}
This is because when tarball is extracted, the source path will be ${WORKDIR}/${PN}-${PV}
.
Additionally, you can remove do_compile
section of your recipe as Yocto by default calls make
when it can't find Makefile.am/in
or autoconf
files.