From ecfad70aae36a382459e53c9a16c82e9604d4421 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Thu, 19 Feb 2009 15:51:57 -0700 Subject: [PATCH] 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 --- classes/base.bbclass | 12 ------------ conf/bitbake.conf | 6 ++++-- 2 files changed, 4 insertions(+), 14 deletions(-) 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. -- 2.39.5