[OE-core] question about FILE_DIRNAME versus THISDIR when setting FILESPATH

Paul Eggleton paul.eggleton at linux.intel.com
Mon Nov 11 15:47:21 UTC 2013


Hi Robert,

On Sunday 10 November 2013 13:02:32 Robert P. J. Day wrote:
>   probably a simple answer to this, but in examining the way FILESPATH
> is created, i notice that, in .bb recipe files, the general form of
> setting FILESPATH always seems to involve the use of the FILE_DIRNAME
> variable, such as in the default value from base.bbclass:
> 
> FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/${BP}",
> "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}"
> 
>   however, when one is extending FILESPATH in .bbappend files, the
> variable used to refer to the current directory is always THISDIR. but
> it's not clear what the distinction is.
> 
>   i'm using "bb show" and, when i'm referring to the value of
> FILESPATH for an overlayed recipe, both FILE_DIRNAME and THISDIR seem
> to properly refer to the directory for the bbappend file.
> 
>   can someone clarify the proper usage of these variables? in
> particular, why it's important for .bb files to use FILE_DIRNAME but
> .bbappend files to use THISDIR? thanks.

These variables are set in pretty much the same way; the only difference is 
that FILE_DIRNAME doesn't expand FILE before running it through 
os.path.dirname(); I'm not sure if that is deliberate or not. In practice I 
doubt it makes any difference since FILE is set to a full path by BitBake, 
although as you note a convention has been established of using THISDIR in 
bbappends and FILE_DIRNAME elsewhere.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-core mailing list