All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: why would a recipe have both do_install() and do_install_append()?
Date: Wed, 04 Jul 2012 12:29:50 +0100	[thread overview]
Message-ID: <1341401390.3906.12.camel@ted> (raw)
In-Reply-To: <alpine.DEB.2.02.1207040615500.23821@oneiric>

On Wed, 2012-07-04 at 06:16 -0400, Robert P. J. Day wrote:
> On Wed, 4 Jul 2012, Andreas Oberritter wrote:
> 
> > On 04.07.2012 08:32, Khem Raj wrote:
> > > On Tue, Jul 3, 2012 at 7:22 PM, Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> > >>
> > >>   i'm probably just misreading something, but what is the point of a
> > >> recipe having both a do_install() and do_install_append() function?
> > >> for example, here's part of e2fsprogs_1.42.1.bb:
> > >>
> > >> do_install () {
> > >>         oe_runmake 'DESTDIR=${D}' install
> > >>         oe_runmake 'DESTDIR=${D}' install-libs
> > >>         # We use blkid from util-linux now so remove from here
> > >>         rm -f ${D}${base_libdir}/libblkid*
> > >>         rm -rf ${D}${includedir}/blkid
> > >>         rm -f ${D}${base_libdir}/pkgconfig/blkid.pc
> > >> }
> > >>
> > >> do_install_append () {
> > >>         # e2initrd_helper and the pkgconfig files belong in libdir
> > >>         if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
> > >>                 install -d ${D}${libdir}
> > >>                 mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir}
> > >>                 mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
> > >>         fi
> > >> }
> > >>
> > >>   how does that differ from simply defining a single do_install()
> > >> routine?  i'm willing for this to be a dumb question.
> > >
> > > it does not. I think it could be arguably done in same do_install
> >
> > Yes.
> >
> > > but it does have some logical separation where the append operation is
> > > moving files from /lib to /usr/lib
> >
> > It would be better to just use a comment and/or empty line for logical
> > separation.
> >
> > > in theory another use of it is that you can override do_install_append
> > > in a .bbappend file
> > > and still reuse the do_install.
> >
> > AFAICT, you can't override an append. Both appends, the original and the
> > bbappended, would get executed.
> 
>   ok, now i *definitely* want to know whether this would work or not
> since there are a few recipes that define both do_install() and
> do_install_append().

Andreas is correct, you can't override a do_install_append (), both
would just get appended.

Cheers,

Richard




  reply	other threads:[~2012-07-04 11:41 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-04  2:22 why would a recipe have both do_install() and do_install_append()? Robert P. J. Day
2012-07-04  6:32 ` Khem Raj
2012-07-04 10:04   ` Andreas Oberritter
2012-07-04 10:16     ` Robert P. J. Day
2012-07-04 11:29       ` Richard Purdie [this message]
2012-07-05  5:39         ` Khem Raj
2012-07-05 10:14           ` Robert P. J. Day
2012-07-05 17:32             ` Scott Garman
2012-07-09 10:08               ` Andrei Gherzan

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=1341401390.3906.12.camel@ted \
    --to=richard.purdie@linuxfoundation.org \
    --cc=openembedded-core@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.