[OE-core] why would a recipe have both do_install() and do_install_append()?

Andreas Oberritter obi at opendreambox.org
Wed Jul 4 10:04:10 UTC 2012


On 04.07.2012 08:32, Khem Raj wrote:
> On Tue, Jul 3, 2012 at 7:22 PM, Robert P. J. Day <rpjday at 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




More information about the Openembedded-core mailing list