[yocto] [oe] How to add the same recipe twice?

Paul Eggleton paul.eggleton at linux.intel.com
Tue Jun 10 09:03:30 PDT 2014


Hi Kevyn-Alexandre,

On Monday 09 June 2014 14:26:53 Kevyn-Alexandre Paré wrote:
> Here what I want to do:
> - Have 2 different psplash in my image.
> 
> Here what I have done:
> - Copy and rename the psplash recipe to psplash-desktop and modify
> couple of things.
> 
> 
> Here the warning I'm having:
> WARNING: The recipe psplash-desktop is trying to install files into a
> shared area when those files already exist. Those files and their
> manifest location are:
>   
> /home/knight/SVN/rogue/3rdParty/Yocto/trunk/starting_point/yocto_build/src/
> build/tmp/sysroots/overo/pkgdata/runtime/psplash-default Matched in
> manifest-overo-psplash.packagedata
> manifest-overo-psplash-second.packagedata
>   
> /home/knight/SVN/rogue/3rdParty/Yocto/trunk/starting_point/yocto_build/src/
> build/tmp/sysroots/overo/pkgdata/runtime/psplash-default.packaged Matched in
> manifest-overo-psplash.packagedata
>   
> /home/knight/SVN/rogue/3rdParty/Yocto/trunk/starting_point/yocto_build/src/
> build/tmp/sysroots/overo/pkgdata/runtime-reverse/psplash-default Matched in
> manifest-overo-psplash.packagedata
> manifest-overo-psplash-second.packagedata
> Please verify which package should provide the above files.
> WARNING: The recipe psplash-desktop is trying to install files into a
> shared area when those files already exist. Those files and their
> manifest location are:
>   
> /home/knight/SVN/rogue/3rdParty/Yocto/trunk/starting_point/yocto_build/src/
> build/tmp/deploy/rpm/armv7a_vfp_neon/psplash-default-0.1+git0+afd4e228c6-r15
> .armv7a_vfp_neon.rpm Matched in
> manifest-armv7a-vfp-neon-psplash.package_write_rpm
> Please verify which package should provide the above files.
> 
> Here the error:
> http://pastebin.com/t2gYs3WT
> 
> Here the diff of my psplash recipe compare to psplash original:
> http://pastebin.com/8TrQRFkQ
> 
> In the chat sgw_ recommended my to use:...
> sgw_> kapare, now that I better understand, you want to mv your binary
> in the do_install_append(), and keep the update-alternative code and
> FILES_${PN} bin, but use the renamed binary in the
> ALTERNATIVE_LINK_NAME, but you also need ALTNATIVE_TARGET[psplash] =
> ${bindir}/psplash-default

FYI, our psplash recipe has built-in handling for multiple splash images, so 
you don't need to add multiple recipes to use this. You just need a 
psplash_git.bbappend in your own layer which does something like this:

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SPLASH_IMAGES = "file://splash-file-one.h;outsuffix=one \
                          file://splash-file-two.h;outsuffix=two"

This will automatically create psplash-<outsuffix> packages for each splash 
image entry (i.e. psplash-one and psplash-two in this case), and set up 
update-alternatives alternatives for each one.

(I realise we don't have this documented anywhere, I've added a todo list item 
for me to document it.)

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the yocto mailing list