summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-01-02 10:15:45 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2009-01-02 10:15:45 +0000
commit94c895aad5ad286f172b04bc33ba670220d5eba8 (patch)
tree690012ac8e962b7f7b85ac5bda2a23154e098f81
parentfe0e39d0ee5373404f4c7af9c1509af7b52a1804 (diff)
downloadopenembedded-core-94c895aad5ad286f172b04bc33ba670220d5eba8.tar.gz
openembedded-core-94c895aad5ad286f172b04bc33ba670220d5eba8.tar.bz2
openembedded-core-94c895aad5ad286f172b04bc33ba670220d5eba8.zip
bitbake.conf: Create BPN variable containing the pruned version of PN with various suffixes removed and use this for S and FILESPATH. This uses naming from OE but with improved code
-rw-r--r--meta/classes/base.bbclass10
-rw-r--r--meta/conf/bitbake.conf17
2 files changed, 22 insertions, 5 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 76b21382f5..404c319d04 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -167,6 +167,14 @@ def base_both_contain(variable1, variable2, checkvalue, d):
DEPENDS_prepend="${@base_dep_prepend(d)} "
+def base_prune_suffix(var, suffixes, d):
+ # See if var ends with any of the suffixes listed and
+ # remove it if found
+ for suffix in suffixes:
+ if var.endswith(suffix):
+ return var.replace(suffix, "")
+ return var
+
def base_set_filespath(path, d):
import os, bb
filespath = []
@@ -177,7 +185,7 @@ def base_set_filespath(path, d):
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}/files", "${FILE_DIRNAME}" ], d)}"
+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
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index fddfd1ffe0..4387ef061c 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -144,13 +144,20 @@ EXTENDPEVER = "${@['','${PE\x7d:'][bb.data.getVar('PE',d,1) > 0]}"
DEBPV = "${EXTENDPEVER}${PV}-${PR}"
P = "${PN}-${PV}"
+# Base package name
+# Automatically derives "foo" from "foo-native", "foo-cross" or "foo-initial"
+# otherwise it is the same as PN and P
+SPECIAL_PKGSUFFIX = "-native -cross -sdk -cross-sdk -initial -intermediate"
+BPN = "${@base_prune_suffix(bb.data.getVar('PN', d, True), bb.data.getVar('SPECIAL_PKGSUFFIX', d, True).split(), d)}"
+BP = "${BPN}-${PV}"
+
# Package info.
SECTION = "base"
PRIORITY = "optional"
DESCRIPTION = "Version ${PV}-${PR} of package ${PN}"
LICENSE = "unknown"
-MAINTAINER = "OpenedHand <poky@openedhand.com>"
+MAINTAINER = "Poky Team <poky@openedhand.com>"
HOMEPAGE = "unknown"
# Package dependencies and provides.
@@ -210,8 +217,10 @@ FILES_${PN}-locale = "${datadir}/locale"
# File manifest
FILE_DIRNAME = "${@os.path.dirname(bb.data.getVar('FILE', d))}"
-FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
-FILESDIR = "${@bb.which(bb.data.getVar('FILESPATH', d, 1), '.')}"
+# FILESPATH is set in base.bbclass
+#FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/${BP}:${FILE_DIRNAME}/${BPN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
+# Giving FILESDIR this default value is pointless as FILESPATH is always searched first - RP
+#FILESDIR = "${@bb.which(bb.data.getVar('FILESPATH', d, 1), '.')}"
##################################################################
# General work and output directories for the build system.
@@ -230,7 +239,7 @@ STAMP = "${TMPDIR}/stamps/${MULTIMACH_TARGET_SYS}/${PF}"
WORKDIR = "${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PF}"
T = "${WORKDIR}/temp"
D = "${WORKDIR}/image"
-S = "${WORKDIR}/${P}"
+S = "${WORKDIR}/${BP}"
B = "${S}"
STAGING_DIR = "${TMPDIR}/staging"