User Tools

Site Tools


troubleshooting:app-recipes

This is an old revision of the document!


Application bitbake wrapper recipes

These are simple wrapper recipes that will inherit aglwgt and produce a .wgt package from application sources if these conditions are met:

  • The build works with the SDK workflow already
  • make package is a valid make target
  • The wgt file is written to package/<name>.wgt

Also take special care that:

  • There are no dependencies outside the wgt
  • No dependencies between wgt's
  • Nothing should itself depend on a wgt
  • wgt's need to be self-contained

Shim recipe template

$~/> cat recipes-demo-hmi/helloworld/helloworld_git.bb
SUMMARY     = "helloworld application wrapper recipe"
DESCRIPTION = "helloworld application wrapper recipe to build the app with bitbake"
HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/XYZ"
SECTION     = "apps"

LICENSE     = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"

SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/XYZ;protocol=http"
SRCREV  = "${AUTOREV}"

PV = "1.0+git${SRCPV}"
S  = "${WORKDIR}/git"

inherit aglwgt
# Add inherit statements for your build procedure
# e.g. inherit cmake
#   or inherit qmake5

# build-time dependencies
#DEPENDS += "qtquickcontrols2"
# Add your build-time dependencies
# for all libraries to make sure the link step works
# Double check these are available at run-time and
# adapt the platform's packagegroups if needed

Sample shim recipe

$~/> cat recipes-demo-hmi/mixer/mixer_git.bb
SUMMARY     = "Mixer for CES2017 AGL Demonstration"
DESCRIPTION = "AGL HMI application for control of PulseAudio mixer elements"
HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/mixer"
SECTION     = "apps"

LICENSE     = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"

SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/mixer;protocol=http"
SRCREV  = "${AUTOREV}"

PV = "1.0+git${SRCPV}"
S  = "${WORKDIR}/git"

inherit qmake5 aglwgt

# build-time dependencies
DEPENDS += "qtquickcontrols2 pulseaudio"

These variables are not allowed for the application wrapper recipes:

  • RDEPENDS (these must come from the platform)

Example: Makefile

Example: CMakelists.txt

Example: qmake.pro

The HVAC application is built using Qt and qmake. Check this example: https://git.automotivelinux.org/apps/hvac/tree/.

troubleshooting/app-recipes.1490813886.txt.gz · Last modified: 2017/03/29 18:58 by sdesneux