[yocto] Yocto newbie: Need help with recipe

Berthold Höllmann berthold-yocto at xn--hllmanns-n4a.de
Fri Nov 8 02:34:05 PST 2019


Rudolf Streif <rudolf.streif at ibeeto.com> writes:

> Hi Berthold,
>
> Welcome to the Yocto Project.

Thank You

>
> 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

OK, the project is building now, but for some reasons the generated
executable is ending up in the wrong package (I renamed executable and
recipes in order to try to fix this):

build at 812ee6d53ca8:~/shared/rpi/rpi2-build$ dpkg -c tmp/deploy/ipk/cortexa7t2hf-neon-vfpv4/lissajousexplorer_git-r0_cortexa7t2hf-neon-vfpv4.ipk 
drwxrwxrwx root/root         0 2019-11-08 10:04 ./
build at 812ee6d53ca8:~/shared/rpi/rpi2-build$ dpkg -c tmp/deploy/ipk/cortexa7t2hf-neon-vfpv4/lissajousexplorer-tools_git-r0_cortexa7t2hf-neon-vfpv4.ipk 
drwxrwxrwx root/root         0 2019-11-08 10:04 ./
drwxr-xr-x root/root         0 2019-11-08 10:03 ./usr/
drwxr-xr-x root/root         0 2019-11-08 10:03 ./usr/bin/
-rwxr-xr-x root/root     38392 2019-11-08 10:03 ./usr/bin/lissajousexplorer

The executable is ending up in the "lissajousexplorer-tools" package,
instead of the "lissajousexplorer" package, why is that?

Best regards,
Berthold

>
>
>
> 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
>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20191108/b1f6bb06/attachment.pgp>


More information about the yocto mailing list