From: Chris Larson Date: Thu, 19 Feb 2009 22:51:57 +0000 (-0700) Subject: bitbake.conf: rework FILESPATH generation. X-Git-Tag: Release-2010-05/1~3796^2~53^2~14 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ecfad70aae36a382459e53c9a16c82e9604d4421;p=openembedded.git bitbake.conf: rework FILESPATH generation. Rework FILESPATH generation to be done in bitbake.conf, avoiding the confusion about it being in multiple places. Adds FILESPATHBASE and FILESPATHPKG which can be manipulated rather than manipulating FILESPATH directly. One usage possibility: FILESPATHBASE =. "${TOPDIR}/files:" Which would let me provide a custom busybox config for this build by copying the defconfig from the openembedded metadata into my build/files/busybox-1.0/ directory, for example. Signed-off-by: Chris Larson --- diff --git a/classes/base.bbclass b/classes/base.bbclass index f1fee83a14..1b61895b07 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -180,18 +180,6 @@ def base_package_name(d): return pn -def base_set_filespath(path, d): - import os, bb - filespath = [] - # The ":" ensures we have an 'empty' override - overrides = (bb.data.getVar("OVERRIDES", d, 1) or "") + ":" - for p in path: - for o in overrides.split(":"): - filespath.append(os.path.join(p, o)) - return ":".join(filespath) - -FILESPATH = "${@base_set_filespath([ "${FILE_DIRNAME}/${PF}", "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", "${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ], d)}" - def oe_filter(f, str, d): from re import match return " ".join(filter(lambda x: match(f, x, 0), str.split())) diff --git a/conf/bitbake.conf b/conf/bitbake.conf index 68301bc478..7954b8deec 100644 --- a/conf/bitbake.conf +++ b/conf/bitbake.conf @@ -231,9 +231,11 @@ FILES_${PN}-locale = "${datadir}/locale" export MANIFEST = "${FILESDIR}/manifest" +# file:// search paths FILE_DIRNAME = "${@os.path.dirname(bb.data.getVar('FILE', d))}" -FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/${BP}:${FILE_DIRNAME}/${BPN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}" -FILESDIR = "${@bb.which(bb.data.getVar('FILESPATH', d, 1), '.')}" +FILESPATHBASE = "${FILE_DIRNAME}" +FILESPATHPKG = "${PF}:${P}:${PN}:${BP}:${BPN}:files:." +FILESPATH = "${@':'.join(['%s/%s/%s' % (fp, p, o) for fp in d.getVar('FILESPATHBASE', 0).split(':') for p in d.getVar('FILESPATHPKG', 0).split(':') for o in (d.getVar('OVERRIDES', 0) + ':.').split(':')])}:${FILESDIR}" ################################################################## # General work and output directories for the build system.