From: Paul Eggleton <paul.eggleton@linux.intel.com>
To: Gary Thomas <gary@mlbassoc.com>
Cc: poky@yoctoproject.org
Subject: Re: New warning
Date: Fri, 22 Jun 2012 14:01:39 +0100 [thread overview]
Message-ID: <21623227.IdSUJJ2Hr3@helios> (raw)
In-Reply-To: <4FE45BE3.3090200@mlbassoc.com>
On Friday 22 June 2012 05:49:55 Gary Thomas wrote:
> I see now what's causing the warning, but I don't see a good way to fix it.
>
> I have my own DISTRO, similar to meta-yocto, plus a number of BSP layers.
> Only one BSP layer will be selected in bblayers.conf.
>
> My meta tree looks something like this:
> /local/poky-multi/
> meta/
> meta-yocto/
> meta-ti/
> meta-MYDISTRO/
> meta-BSPa/
> meta-BSPb/
> ...
> meta-BSPn/
> A typical build will have this for bblayers.conf:
> BBLAYERS = " \
> /local/poky-multi/meta \
> /local/poky-multi/meta-MYDISTRO \
> /local/poky-multi/meta-BSPf \
> /local/poky-multi/meta-ti \
> "
>
> The problem is that my generic layer1 has a main recipe which is used by
> only a few of the BSP layers (layerBSPa, layerBSPb, etc). For example, if
> my configuration selects meta-BSPf, that BSP may not need to use the recipe
> in question, but it's still in meta-MYDISTRO. More concretely,
> meta-MYDISTRO defines a recipe 'fpga-tool' which needs BSP specific setup
> files like this:
> % find /local/poky-multi -name "fpga-tools*.bb*"
> /local/poky-multi/meta-MYDISTRO/packages/fpga/fpga-tools_0.0.bb
> /local/poky-multi/meta-BSPc/packages/fpga-tools_0.0.bbappend
> /local/poky-multi/meta-BSPd/packages/fpga-tools_0.0.bbappend
> Notice that there is no fpga-tools setup in meta-BSPa. If I'm building for
> BSPa, I'll get this warning:
> WARNING: Unable to get checksum for fpga-tool SRC_URI entry
> fpga_gpio_layout.h: file could not be found WARNING: Unable to get checksum
> for fpga-tool SRC_URI entry video_mux.vme: file could not be found
>
> I can see how to fix this warning by defining those files with dummy
> versions in meta-MYDISTRO
I guess if I were doing it I would not make the BSP layers depend upon the
distro layer, as Tomas was suggesting. In any case though I suspect the best
way to handle this is to use COMPATIBLE_MACHINE which you set to some invalid
value in your distro layer recipe and then append to that value with the
actual MACHINE in the bbappend in each BSP, e.g.
meta-MYDISTRO recipes/fpga/fpga-tools_0.0.bb:
...
COMPATIBLE_MACHINE = "not-valid"
...
meta-BSPc recipes/fpga/fpga-tools_0.0.bbappend:
...
COMPATIBLE_MACHINE .= "|machinec"
...
meta-BSPd recipes/fpga/fpga-tools_0.0.bbappend:
...
COMPATIBLE_MACHINE .= "|machined"
...
Then, the recipe will be skipped if it is not available for the current
MACHINE.
> It gets more complicated as my kernel recipe (in meta-MYDISTRO) references
> files like SRC_URI += "file://${MACHINE}.patch"
> I don't see any way to define a dummy version of this.
Rather than ${MACHINE}.patch, the traditional way to do this is to have a
generic name for the file and then use a MACHINE-named subdirectory within your
BSP layers to define the machine-specific version. You can always make the dummy
patch not apply or specifically check for some aspect added by the dummy in
do_configure.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
next prev parent reply other threads:[~2012-06-22 13:01 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-20 19:12 New warning Gary Thomas
2012-06-20 21:55 ` Khem Raj
2012-06-20 22:51 ` Gary Thomas
2012-06-21 8:26 ` Andrea Adami
2012-06-22 9:44 ` Paul Eggleton
2012-06-22 11:49 ` Gary Thomas
2012-06-22 12:35 ` Tomas Frydrych
2012-06-22 13:01 ` Paul Eggleton [this message]
2012-06-22 13:05 ` Paul Eggleton
2012-06-22 13:31 ` Gary Thomas
2012-06-22 14:25 ` Khem Raj
-- strict thread matches above, loose matches on Subject: below --
2012-10-02 15:34 Gary Thomas
2012-10-02 15:43 ` Richard Purdie
2012-10-03 6:22 ` Khem Raj
2016-06-08 2:55 Gary Thomas
2016-06-08 3:20 ` Christopher Larson
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=21623227.IdSUJJ2Hr3@helios \
--to=paul.eggleton@linux.intel.com \
--cc=gary@mlbassoc.com \
--cc=poky@yoctoproject.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.