summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Lauer <mickey@vanille-media.de>2005-08-08 12:10:08 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-08-08 12:10:08 +0000
commit86404033c9bb58e7870007571073d5394efaed7e (patch)
tree05ab0db2e7e68a3c2a01e0d29572d13355d9a12c
parent8f45e70704dbb504d0922ad4277d7bcca7023697 (diff)
binconfig.bbclass: install foo-config as foo-config-native for native packages,
this way the config packages don't step over each other's toes
-rw-r--r--classes/binconfig.bbclass22
1 files changed, 18 insertions, 4 deletions
diff --git a/classes/binconfig.bbclass b/classes/binconfig.bbclass
index c660fd9cae..35f859b2c8 100644
--- a/classes/binconfig.bbclass
+++ b/classes/binconfig.bbclass
@@ -19,11 +19,25 @@ def get_binconfig_mangle(d):
s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'"
return s
+# Native package configurations go in ${BINDIR}/<name>-config-native to prevent a collision with cross packages
+def is_native_pkg(d):
+ import bb.data, os
+ if not bb.data.inherits_class('native', d):
+ return "no"
+ else:
+ return "yes"
+
do_stage_append() {
for config in `find ${S} -name '*-config'`; do
- configname=`basename $config`
- install -d ${STAGING_BINDIR}/${HOST_SYS}
- cat $config | sed ${@get_binconfig_mangle(d)} > ${STAGING_BINDIR}/${HOST_SYS}/$configname
- chmod u+x ${STAGING_BINDIR}/${HOST_SYS}/$configname
+ origname=`basename $config`
+ if [ "${@is_native_pkg(d)}" == "yes" ]
+ then
+ configname=$origname-native
+ else
+ configname=$origname
+ fi
+ install -d ${STAGING_BINDIR}
+ cat $config | sed ${@get_binconfig_mangle(d)} > ${STAGING_BINDIR}/$configname
+ chmod u+x ${STAGING_BINDIR}/$configname
done
}