[yocto] Creating a recipe to create /usr/local

Paul Barker paul at paulbarker.me.uk
Fri Nov 28 03:21:57 PST 2014


On 27 November 2014 at 07:09, Chan Kit Yu <yuchankit at gmail.com> wrote:
> Hi all,
>
> I'm not sure if emailing this is the most appropriate way and I
> apologize in advance if that's not.
>
> I have some scripts that require /usr/local to exist in Yocto and
> therefore I need to a recipe to create /usr/local directory. I tried
> to accomplish this with a simple recipe but that proved futile.
>
> Although bitbaking that particular recipe was fine, trying to include
> that package in local.conf resulted errors and those errors are
> gibberish (it listed all the packages inside the image that I was
> trying to comple) . Here's my simple stupid recipe:
>
> SUMMARY= "...."
> LICENSE = "something...."
> ...
> ...
> INSANE_SKIP_${PN} = "installed-vs-shipped"

This line is hiding the warning that a file has been installed (copied
into ${D} by your do_install function) but not shipped (which means
placed in an actual package).

/usr/local isn't usually populated so isn't included in a package by
default, you can modify FILES_xxx to change what is included in the
package 'xxx'. In a recipe the main package name (which is based off
the recipe file name), is stored in ${PN}.

So basically, you need to add something like:
    FILES_${PN} += "/usr/local"

Also, you should never need to use INSANE_SKIP unless you're doing
something that is actually insane. Those warnings are there for a
reason!

>
> do_install(){
>      mkdir -p ${D}/usr/local
> }
>
> Is there a better way (or preferably the canonical way) to do this?
>
> Thanks,
> Chan Kit

Cheers,

-- 
Paul Barker

Email: paul at paulbarker.me.uk
http://www.paulbarker.me.uk



More information about the yocto mailing list