[oe] making qt5 package machine specific

Martin Jansa martin.jansa at gmail.com
Thu Nov 21 12:39:04 UTC 2013


On Thu, Nov 21, 2013 at 09:33:59AM +0100, Nicolas Dechesne wrote:
> hi,
> 
> we are building a product/distro with qt5 with support for various SoC. the
> way qt5 recipes are designed, it kind of forces the resulting packages to
> be  <machine> specific, not <arch> specific.
> 
> first each <machine> has a different provider for GL/GLES and it impacts
> the RDEPENDS, on top of that we have machine specific patches in Qt5 in
> each of our BSP layer, whether we like it or not, that's a reality that we
> cannot have the very same Qt5 config + source code for all platforms.
> 
> so we end up with many  <qt pkgs>-<arch> which are <machine> specific, not
> <arch>, and it messes up badly with sstate for example, especially when
> cleaning up the sstate (e.g. using sstate-cache-management -d).
> 
> so i have a couple of questions:
> 
>  - are we doing something really wrong here? or are we getting issues that
> anyone would get when trying to have a OE based product with Qt5 and
> multiple machines from the same <arch>?
> 
>  - assuming this is a typical use case... i wish there was an easy
> mechanism to 'mark' all Qt5 packages as PACKAGE_ARCH = "${MACHINE_ARCH}",
> without having to .bbappend every single recipe. It is indeed quite common
> to have a .bbappend for qtbase, but not for the other packages...

There are 2 ways and I'm using both in different scenarios (different
builds)

1) .inc file with
PACKAGE_ARCH_pn-qtbase = "${MACHINE_ARCH}"
PACKAGE_ARCH_pn-qtdeclarative = "${MACHINE_ARCH}"
...
for whole qt* stack (use sstate-diff-machines.sh script to see that you
get them all).

2) SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS
# Depending on MACHINE_ARCH GL/GLES binaries (or mesa)
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\
    qtbase->other-gl-gles-provider \
    qtbase->mesa \
"

2) doesn't solve your MACHINE specific patches of course

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20131121/e985bd94/attachment-0002.sig>


More information about the Openembedded-devel mailing list