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

Chan Kit Yu yuchankit at gmail.com
Sun Nov 30 18:19:41 PST 2014


Hi Paul,

Your approach worked and I thank you for that.

However I have some more unrelated questions (if you don't mind):

1. I noticed some mainstream Python modules that are supposed to come
with default Python installation are not present. I take the example
of sqlite3 module not present in default Python 2.7.3 installation. I
need to include python-sqlite3 in local.conf before I got that baked
inside the image. So my question is how can I check what modules are
installed (aside from doing smart search command) by a default Python
2 installation. I baked my image using core-image-sato-sdk command.
2. I found out that the startx command tries to start xfce by default
(judging from xfce* error that I got) and therefore fails since I
don't have xfce installed. So how do I configure startx to start other
desktop environment in Yocto? Also, the startx command does not seem
to go to init 5 (I configured mine to start in init 3) and therefore
fails if I don't type init 5 command before it starts. And if I put
init 5 command, it jumps straight to the matchbox desktop. I did some
forensics on the init command and I only need to modify ~/.Xsession
file in order to change what DE init 5 would start. TL:DR : Is init 5
the canonical way to start an X desktop instead of startx ?


Thanks again,
Chan Kit





On Fri, Nov 28, 2014 at 7:33 PM, Chan Kit Yu <yuchankit at gmail.com> wrote:
> Thanks for saving me from myself. I will try it out and let you know my
> results
>
> On Nov 28, 2014 7:22 PM, "Paul Barker" <paul at paulbarker.me.uk> wrote:
>>
>> 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