All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: making qt5 package machine specific
Date: Thu, 21 Nov 2013 13:39:04 +0100	[thread overview]
Message-ID: <20131121123904.GX3708@jama> (raw)
In-Reply-To: <CAP71Wjy9mGKjDnzAKED7zFUY6J1c_2-ysUpH8uHgczZe5zNi9A@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1956 bytes --]

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@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

  parent reply	other threads:[~2013-11-21 12:39 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-21  8:33 making qt5 package machine specific Nicolas Dechesne
2013-11-21  8:45 ` Koen Kooi
2013-11-21 12:39 ` Martin Jansa [this message]
2013-11-21 15:11   ` Nicolas Dechesne
2013-11-21 17:28     ` Martin Jansa
2013-11-21 17:30     ` Martin Jansa
2013-11-22  8:40       ` André Draszik
2013-11-22 10:51         ` Martin Jansa
2013-11-22 12:12           ` André Draszik
2013-11-22 14:51             ` Martin Jansa
2013-12-03 15:04       ` [meta-qt5][PATCH] qt5.inc: allow to set the package arch globally André Draszik
2013-12-03 15:20         ` Andre Draszik
2013-11-21 17:56 ` making qt5 package machine specific Otavio Salvador

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131121123904.GX3708@jama \
    --to=martin.jansa@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.