[yocto] Yocto newbie: Need help with recipe

Rudolf Streif rudolf.streif at ibeeto.com
Thu Nov 7 13:36:08 PST 2019


Hi Berthold,

Welcome to the Yocto Project.

This line is the problem with your recipe:

PACKAGES = "${PN}"

This tells the build system to only create one package, the default
package. Because this line FILES_${PN} = "${bindir}" tells the build system
to include everything in ${bindir} into that package the package also
includes the .debug directory which is then flagged by the QA checker. To
fix this:

PACKAGES = "${PN}-dbg ${PN}"

You have to specify the debug package before the default package as the
variable is processed from left to right and whatever is consumed by a
package will not be packaged anymore. However, even simpler is to remove
the PACKAGES line altogether as the default already does it correctly.

Best regards,
:rjs



On Thu, Nov 7, 2019 at 12:04 PM Berthold Höllmann <
berthold-yocto at höllmanns.de> wrote:

>
> Hello,
>
> I'm trying my way around yocto. I thought I try adding a small project
> of mine to a Raspberry Pi image as a first try in writing recipes. At
> least I managed to get the project compiling, but the generation of the
> packages is failing:
>
> $ bitbake  qtlissajous
> ...
> ERROR: qtlissajous-git-r0 do_package_qa: QA Issue: non debug package
> contains .debug directory: qtlissajous path
> /work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/qtlissajous/git-r0/packages-split/qtlissajous/usr/bin/.debug/lissajous_explorer
> [debug-files]
> ERROR: qtlissajous-git-r0 do_package_qa: QA run found fatal errors. Please
> consider fixing them.
> ERROR: qtlissajous-git-r0 do_package_qa:
> ERROR: qtlissajous-git-r0 do_package_qa: Function failed: do_package_qa
> ERROR: Logfile of failure stored in:
> /home/build/shared/rpi/rpi2-build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/qtlissajous/git-r0/temp/log.do_package_qa.4823
> ERROR: Task
> (/home/build/shared/rpi/meta-qtlissajous/recipes-qtlissajous/qtlissajous/qtlissajous_git.bb:do_package_qa)
> failed with exit code '1'
> ...
>
> $ (cd
> /home/build/shared/rpi/rpi2-build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/qtlissajous/git-r0/packages-split/;find
> -type f)
>
> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/build/moc_doubleslider.cpp
> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/build/moc_phaselabel.cpp
> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/doubleslider.cpp
> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/doubleslider.h
>
> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/lissajous_explorer.cpp
> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/lissajous_explorer.h
> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/lissajous_grid.cpp
> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/lissajous_grid.h
> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/main.cpp
> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/phaselabel.cpp
> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/phaselabel.h
> ./qtlissajous-tools/usr/bin/lissajous_explorer
> ./qtlissajous/usr/bin/.debug/lissajous_explorer
> ./qtlissajous-tools.shlibdeps
>
> My qtlissajous_git.gg file is:
>
> -------------------------------------------------------
> DESCRIPTION = "Explore Lissajous figures for Raspberry Pi"
> SECTION = "games"
> DEPENDS += "qtbase"
>
> PACKAGES = "${PN}"
>
> LICENSE = "MIT"
> LIC_FILES_CHKSUM =
> "file://LICENSE;md5=7e26fc87b2c255632232dc535ed2700b;sha256=c8ea5a5ce0ef734ec1d0be3e214bed71673f1ffc628fe86bbd055d61abd52cc8"
>
> FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
>
> SRCREV = "${AUTOREV}"
> SRC_URI = "git://gitlab.com/bhoel/qlissajousexplorer.git;protocol=https"
>
> S = "${WORKDIR}/git"
>
> require recipes-qt/qt5/qt5.inc
>
> FILES_${PN} = "${bindir}"
> FILES_${PN}-dbg += "${bindir}/.debug"
>
> do_install() {
>       install -d ${D}/usr/bin
>       install -m 0755 lissajous_explorer ${D}/usr/bin
> }
>
> RDEPENDS_${PN} = "qtbase-plugins"
> -------------------------------------------------------
>
> Why is the release executable ending up in the tools tree?
> Why is the debug executable ending up in the release tree?
> Is this the right place to ask this kind of questions?
>
> Thank you
> Berthold
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>


-- 
Rudolf J Streif
CEO/CTO
ibeeto, Streif Enterprises Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20191107/21d28480/attachment.html>


More information about the yocto mailing list