[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