[yocto] kernel manual: confusing coverage of FILESEXTRAPATHS_prepend

Paul Eggleton paul.eggleton at linux.intel.com
Thu Feb 26 02:17:20 PST 2015


On Thursday 26 February 2015 04:12:33 Robert P. J. Day wrote:
> On Wed, 25 Feb 2015, Joe MacDonald wrote:
> > [[yocto] kernel manual: confusing coverage of FILESEXTRAPATHS_prepend] On 
15.02.25 (Wed 03:54) Robert P. J. Day wrote:
> > >   minor quibble about kernel dev manual -- section 2.2.1, "creating
> > > 
> > > the append file", uses the example of:
> > >  FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> > > 
> > > while section 2.2.3 uses:
> > >  FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
> > > 
> > > both sections kind of implying that that's the way to do it, without
> > > making it clear that *either* way works as long as the variable
> > > prepend matches up with the directory name.
> > > 
> > >   both ways are correct, of course, but the wording is a bit
> > > 
> > > confusing.
> > 
> > It's probably worth changing the latter reference to match the
> > former. Both work but with any new recipes (at least in the layers I
> > maintain) the preference is to use the former for clarity as well as
> > faster lookups.
> 
>   sort of related to this, but in a *regular* recipe (not a bbappend),
> the default FILESPATH is set in base.bbclass:
> 
> FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/${BP}",
> "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}"
> 
> so that, by default, a regular recipe will look for SRC_URI entries in
> *all* of:
> 
> 1) ${BP}/
> 2) ${BPN}/
> 3) "files/"
> 
> it's not clear which is the preferred standard (not sure there even
> *is* a preferred standard), but in cases where more than one of the
> above exists, all of the relevant directories will be searched, but
> it's not clear why some recipes insist on breaking up the files over
> more than one directory.
> 
>   in the case of subversion, i can see the logic:
> 
> subversion/
> subversion_1.6.15.bb
> subversion-1.8.11/
> subversion_1.8.11.bb
> 
> so that the generic "subversion/" directory will apply to *all*
> subversion recipes, but there is also the version-specific
> "subversion-1.8.11/", so that's fine.
> 
>   busybox, though:
> 
> busybox/
> busybox_1.23.1.bb
> busybox_git.bb
> busybox.inc
> files/
> 
> won't both directories busybox/ and files/ always be consulted for
> SRC_URI entries, regardless of the version of busybox? so what is the
> rationale for breaking those files over two directories?
> 
>   and i'm curious ... is there any recipe that contains all *three*
> types of SRC_URI subdirectories?

Our policy in OE-Core (and the layers under meta-openembedded) is to move away 
from files/ to ${BPN} for a bit of consistency - if you use ${BPN} it then 
doesn't matter if you have more than one recipe in a directory, the files for 
each recipe are still kept separate instead of a files/ directory with a 
mixture of files for different recipes. ${BP} would only be used for patches 
that are specific to a version where multiple versioned recipes are being 
provided, leading to multiple versions of the same files needing to be present.

We have been doing the "conversion" on a piecemeal basis on recipe upgrade 
however so that's why you will see files/ still in various places. To avoid 
undue churn I don't think it would be worth doing a mass rename, and it's also 
unlikely that we will be taking away the ability to use files/ by default, so 
other layers are free to do as they wish.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the yocto mailing list