All of lore.kernel.org
 help / color / mirror / Atom feed
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




  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.