I suppose you just removed setting the PACKAGES variable from your recipe?

You are including

require recipes-qt/qt5/qt5.inc
which redefines the PACKAGES variable adding a ${PN}-tools package that consumes what's in {bindir}. I am not sure why you are including qt5.inc as
DEPENDS += "qtbase"
should suffice to build against Qt. qt5.inc is for building Qt itself.

:rjs

On 11/8/19 2:34 AM, Berthold Höllmann wrote:
Rudolf Streif <rudolf.streif@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@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@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@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@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


-- 
Rudolf J Streif
CEO/CTO
ibeeto
1.855.442.3386 x700