From: Paul Eggleton <paul.eggleton@linux.intel.com>
To: Martin Siegumfeldt <mns@gomspace.com>
Cc: yocto@yoctoproject.org
Subject: Re: Recipe availability through eSDK (cppzmq)
Date: Thu, 03 May 2018 09:19:27 +1200 [thread overview]
Message-ID: <2272489.8VKhpn1Y3m@peggleto-mobl.ger.corp.intel.com> (raw)
In-Reply-To: <CAC+thW1U42nj0aoDd56Vzi2-1Bpto0JDmtpSx2p8pmDgV7PB-g@mail.gmail.com>
On Wednesday, 2 May 2018 8:33:12 PM NZST Andrea Galbusera wrote:
> On Wed, May 2, 2018 at 9:52 AM, Martin Siegumfeldt <mns@gomspace.com> wrote:
> > Hacking the recipe according to:
> > martin@dell:~/work/z7000-distro-zcu102/meta-openembedded$ git diff
> > diff --git a/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
> > b/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
> > index a64745c94..aba1d6edb 100644
> > --- a/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
> > +++ b/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
> > @@ -13,9 +13,11 @@ S = "${WORKDIR}/git"
> >
> > do_install () {
> > install -d ${D}/usr/include
> > + install -d ${D}/etc
> > install -m 0755 ${S}/zmq.hpp ${D}/usr/include/
> > + install -m 0755 ${S}/zmq.hpp ${D}/etc
> > }
> >
> > -PACKAGES = "${PN}-dev"
> > +PACKAGES = "${PN}-dev ${PN}"
>
> If you go down the patch-the-recipe way, you can probably leave
> PACKAGES at its default: both ${PN} and ${PN}-dev are there by
> default.
>
> > RDEPENDS_${PN}-dev = "zeromq-dev"
> >
> > triggers both ${PN}-dev and ${PN} variants to be packaged and included by
> > the image. Leaving out the installation into /etc causes ${PN} package not
> > to be generated and the image generation does not pick up the ${PN}-dev
> > variant.
>
> Better would be adding:
>
> ALLOW_EMPTY_${PN} = "1"
>
> This way it's cleaner and should work as well. However, you'll need to
> force your image to depend upon an empty package to be added
> (meaningless for the target), for the sake of the corresponding -dev
> package to be part of the tailored eSDK... Maybe there's a better way
> to achieve this, possibly by adding cppzmq-dev to the SDK explicitly
> with something like TOOLCHAIN_TARGET_TASK_append (never used it in
> practice though). Hopefully someone can further comment on this to add
> some wisdom.
>
> > In essence, it looks like image generation disregards recipes residing
> > exclusively in the ${PN}-dev variant - question is whether this is
> > intended
> > or not?
>
> Yes it is. -dev packages are not intended to be installed into target
> image by design.
Rather than "by design" I would say "by default" - you can certainly install
them explicitly (or for the whole image via IMAGE_FEATURES += "dev-pkgs" and
that is intended - but out of the box it's not expected that you would be
doing compilation on the target and thus the expectation is that the
development files aren't needed.
A couple of other things worth mentioning from earlier in the discussion:
1) If you want the cppzmq development files to be available *within* the eSDK
(so you can write code to use them using the eSDK), even if they are not
brought in by way of the image containing a package from the cppzmq recipe,
you can install them into the eSDK by running this within the eSDK
environment:
devtool sdk-install -s cppzmq
Alternatively you can add them to the built eSDK by setting this before you
build it:
SDK_TARGETS += "cppzmq:do_populate_sysroot"
FWIW there is a bug open to make this more friendly:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=10600
2) To add packages to the image when doing devtool build-image within the eSDK
you would use the -p option (rather than trying to set IMAGE_INSTALL on the
command line), so you could do the following for this situation:
devtool build-image -p cppzmq-dev
(This should work regardless of whether or not you do #1 above)
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
next prev parent reply other threads:[~2018-05-02 21:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-30 19:10 Recipe availability through eSDK (cppzmq) Martin Siegumfeldt
2018-05-01 14:06 ` Andrea Galbusera
2018-05-01 18:49 ` Martin Siegumfeldt
2018-05-02 7:52 ` Martin Siegumfeldt
2018-05-02 8:33 ` Andrea Galbusera
2018-05-02 12:33 ` Martin Siegumfeldt
2018-05-02 14:22 ` Andrea Galbusera
2018-05-02 21:19 ` Paul Eggleton [this message]
2018-05-04 3:26 ` Trevor Woerner
2018-05-04 3:27 ` Paul Eggleton
2018-05-02 8:00 ` Andrea Galbusera
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=2272489.8VKhpn1Y3m@peggleto-mobl.ger.corp.intel.com \
--to=paul.eggleton@linux.intel.com \
--cc=mns@gomspace.com \
--cc=yocto@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.