* why would a recipe have both do_install() and do_install_append()?
@ 2012-07-04 2:22 Robert P. J. Day
2012-07-04 6:32 ` Khem Raj
0 siblings, 1 reply; 9+ messages in thread
From: Robert P. J. Day @ 2012-07-04 2:22 UTC (permalink / raw)
To: OE Core mailing list
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.
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: why would a recipe have both do_install() and do_install_append()?
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
0 siblings, 1 reply; 9+ messages in thread
From: Khem Raj @ 2012-07-04 6:32 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
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
but it does have some logical separation where the append operation is
moving files from /lib to /usr/lib
in theory another use of it is that you can override do_install_append
in a .bbappend file
and still reuse the do_install. Suppose you do not want to move the
files and are
happy with default location
>
> rday
>
> --
>
> ========================================================================
> Robert P. J. Day Ottawa, Ontario, CANADA
> http://crashcourse.ca
>
> Twitter: http://twitter.com/rpjday
> LinkedIn: http://ca.linkedin.com/in/rpjday
> ========================================================================
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: why would a recipe have both do_install() and do_install_append()?
2012-07-04 6:32 ` Khem Raj
@ 2012-07-04 10:04 ` Andreas Oberritter
2012-07-04 10:16 ` Robert P. J. Day
0 siblings, 1 reply; 9+ messages in thread
From: Andreas Oberritter @ 2012-07-04 10:04 UTC (permalink / raw)
To: openembedded-core
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.
Regards,
Andreas
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: why would a recipe have both do_install() and do_install_append()?
2012-07-04 10:04 ` Andreas Oberritter
@ 2012-07-04 10:16 ` Robert P. J. Day
2012-07-04 11:29 ` Richard Purdie
0 siblings, 1 reply; 9+ messages in thread
From: Robert P. J. Day @ 2012-07-04 10:16 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
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().
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: why would a recipe have both do_install() and do_install_append()?
2012-07-04 10:16 ` Robert P. J. Day
@ 2012-07-04 11:29 ` Richard Purdie
2012-07-05 5:39 ` Khem Raj
0 siblings, 1 reply; 9+ messages in thread
From: Richard Purdie @ 2012-07-04 11:29 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
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
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: why would a recipe have both do_install() and do_install_append()?
2012-07-04 11:29 ` Richard Purdie
@ 2012-07-05 5:39 ` Khem Raj
2012-07-05 10:14 ` Robert P. J. Day
0 siblings, 1 reply; 9+ messages in thread
From: Khem Raj @ 2012-07-05 5:39 UTC (permalink / raw)
To: openembedded-core
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 7/4/2012 4:29 AM, Richard Purdie wrote:
>>>>> 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.
yes thats true. I was thinking about having appends which are
recipe-class specific but that case wont apply to a normal _append
like above
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk/1KJwACgkQuwUzVZGdMxQ/PgCgj9Vi3iWwvf6qbxyrx942pfYu
A0UAoIvvGdvFeQI8i6oc524N50Sn/ltR
=Iz3L
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: why would a recipe have both do_install() and do_install_append()?
2012-07-05 5:39 ` Khem Raj
@ 2012-07-05 10:14 ` Robert P. J. Day
2012-07-05 17:32 ` Scott Garman
0 siblings, 1 reply; 9+ messages in thread
From: Robert P. J. Day @ 2012-07-05 10:14 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
On Wed, 4 Jul 2012, Khem Raj wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 7/4/2012 4:29 AM, Richard Purdie wrote:
> >>>>> 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.
>
> yes thats true. I was thinking about having appends which are
> recipe-class specific but that case wont apply to a normal _append
> like above
so, in the end. there's really no compelling rationale for a recipe
defining both a do_install() and do_install_append() back to back, is
that correct? because there are a small number of OE recipes that do
just that:
$ grep -wl do_install $(grep -rlw do_install_append *)
meta/recipes-support/libcap/libcap.inc
meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.1.bb
meta/recipes-core/tinylogin/tinylogin_1.4.bb
meta/recipes-core/eglibc/eglibc-package.inc
meta/recipes-kernel/linux/linux-yocto.inc
meta/recipes-extended/lsb/lsb_1.4.bb
meta/recipes-extended/man/man_1.6f.bb
meta/recipes-extended/logrotate/logrotate_3.8.1.bb
$
obviously, it doesn't hurt, it just seems unnecessary.
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: why would a recipe have both do_install() and do_install_append()?
2012-07-05 10:14 ` Robert P. J. Day
@ 2012-07-05 17:32 ` Scott Garman
2012-07-09 10:08 ` Andrei Gherzan
0 siblings, 1 reply; 9+ messages in thread
From: Scott Garman @ 2012-07-05 17:32 UTC (permalink / raw)
To: openembedded-core
On 07/05/2012 03:14 AM, Robert P. J. Day wrote:
> On Wed, 4 Jul 2012, Khem Raj wrote:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> On 7/4/2012 4:29 AM, Richard Purdie wrote:
>>>>>>> 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.
>>
>> yes thats true. I was thinking about having appends which are
>> recipe-class specific but that case wont apply to a normal _append
>> like above
>
> so, in the end. there's really no compelling rationale for a recipe
> defining both a do_install() and do_install_append() back to back, is
> that correct? because there are a small number of OE recipes that do
> just that:
>
> $ grep -wl do_install $(grep -rlw do_install_append *)
> meta/recipes-support/libcap/libcap.inc
> meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.1.bb
> meta/recipes-core/tinylogin/tinylogin_1.4.bb
> meta/recipes-core/eglibc/eglibc-package.inc
> meta/recipes-kernel/linux/linux-yocto.inc
> meta/recipes-extended/lsb/lsb_1.4.bb
> meta/recipes-extended/man/man_1.6f.bb
> meta/recipes-extended/logrotate/logrotate_3.8.1.bb
> $
>
> obviously, it doesn't hurt, it just seems unnecessary.
I wrote the do_install_append() in e2fsprogs, and it was no doubt due to
the fact that I was moving libraries around in a number of recipes, and
wanted to logically separate this operation into the _append step in a
consistent manner. It was just a mindset I was in, and as you point out,
it wasn't necessary, nor did it do much harm.
Scott
--
Scott Garman
Embedded Linux Engineer - Yocto Project
Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: why would a recipe have both do_install() and do_install_append()?
2012-07-05 17:32 ` Scott Garman
@ 2012-07-09 10:08 ` Andrei Gherzan
0 siblings, 0 replies; 9+ messages in thread
From: Andrei Gherzan @ 2012-07-09 10:08 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 2209 bytes --]
On Thu, Jul 5, 2012 at 8:32 PM, Scott Garman <scott.a.garman@intel.com>wrote:
> On 07/05/2012 03:14 AM, Robert P. J. Day wrote:
>
>> On Wed, 4 Jul 2012, Khem Raj wrote:
>>
>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> On 7/4/2012 4:29 AM, Richard Purdie wrote:
>>>
>>>> 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.
>>>>
>>>
>>> yes thats true. I was thinking about having appends which are
>>> recipe-class specific but that case wont apply to a normal _append
>>> like above
>>>
>>
>> so, in the end. there's really no compelling rationale for a recipe
>> defining both a do_install() and do_install_append() back to back, is
>> that correct? because there are a small number of OE recipes that do
>> just that:
>>
>> $ grep -wl do_install $(grep -rlw do_install_append *)
>> meta/recipes-support/libcap/**libcap.inc
>> meta/recipes-devtools/**e2fsprogs/e2fsprogs_1.42.1.bb
>> meta/recipes-core/tinylogin/ti**nylogin_1.4.bb <http://tinylogin_1.4.bb>
>> meta/recipes-core/eglibc/**eglibc-package.inc
>> meta/recipes-kernel/linux/**linux-yocto.inc
>> meta/recipes-extended/lsb/lsb_**1.4.bb <http://lsb_1.4.bb>
>> meta/recipes-extended/man/man_**1.6f.bb <http://man_1.6f.bb>
>> meta/recipes-extended/**logrotate/logrotate_3.8.1.bb
>> $
>>
>> obviously, it doesn't hurt, it just seems unnecessary.
>>
>
> I wrote the do_install_append() in e2fsprogs, and it was no doubt due to
> the fact that I was moving libraries around in a number of recipes, and
> wanted to logically separate this operation into the _append step in a
> consistent manner. It was just a mindset I was in, and as you point out, it
> wasn't necessary, nor did it do much harm.
>
>
In my opinion this behavior makes sense for stuff that are
just temporary pulled in / aka workarounds.
@g
[-- Attachment #2: Type: text/html, Size: 3596 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-07-09 10:20 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox