[oe] Correct usage of FILES variable of OE build system

Journeyer J. Joh oosaprogrammer at gmail.com
Tue Aug 19 01:19:35 UTC 2014


Hi list,

I've got question about OE build system variable, FILES.
I wanted to install my application into a directory under "/App".
So I placed 'mkdir', 'chmod', 'install' command into "do_install_append()"
of .bb file.
But finally my built image didn't include the directory "/App".
So I searched yocto manual and found a brief description about the variable
"FILES".

With the usage of the variable 'FILES' below, I succeeded to install my
application under "/App"

FILES_${PN} += "/App"
> FILES_${PN} += "/App/ini"
> FILES_${PN} += "/App/lib"
> FILES_${PN} += "/App/download"


But I found some weird observation. I found a directory "/App/ini" is
created like "/App/ini?".
There appended unexpected question mark at the end of the path "/App/ini".
This doesn't happen all time. This happens from time to time, once out of
almost about 200 trials.
It's rare to observe this problem.

I doubt this happens with the wrong use of the variable FILES.

Is my usage above correct?
Shouldn't I need to place spaces like below? :

FILES_${PN} += "/App "
> FILES_${PN} += "/App/ini "
> FILES_${PN} += "/App/lib "
> FILES_${PN} += "/App/download "


or like below? :

FILES_${PN} += "/App /App/ini /App/lib /App/download"


And what about the trial below? :

FILES_${PN} += "/App/*"
> FILES_${PN} += "/App/ini/*"
> FILES_${PN} += "/App/lib/*"
> FILES_${PN} += "/App/download/*"


Let me list up my questions:

1. It's shown above. Is my usage above correct? If I need to use it as
shown above?
2. What does '*' mean in the usage of FILES variable above?
3. Why I need to use this variable FILES? I know without it new directory
is not created. But I'd like to know why?

Below is the explanation from yocto reference manual.
Thank you very much in advance.
Journeyer J. Joh


> *The list of directories or files that are placed in packages.*
> *To use the FILES variable, provide a package name override that
> identifies the resulting package. Then, provide a space-separated list of
> files or paths that identifies the files you want included as part of the
> resulting package. Here is an example:**FILES_${PN} += "${bindir}/mydir1/
> ${bindir}/mydir2/myfile"*
> *If some of the files you provide with the FILES variable are editable and
> you know they should not be overwritten during the package update process
> by the Package Management System (PMS), you can identify these files so
> that the PMS will not overwrite them. See the CONFFILES variable for
> information on how to identify these files to the PMS.
> - http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html
> <http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html>*


----------------------------------------
Journeyer J. Joh
o o s a p r o g r a m m e r
a t
g m a i l  d o t  c o m
----------------------------------------



More information about the Openembedded-devel mailing list