[oe-commits] org.oe.dev merge of '32c3532162bccf620b7b8cff0f98f92a1f519b3a'
mickeyl commit
openembedded-commits at lists.openembedded.org
Thu Feb 21 14:41:44 UTC 2008
merge of '32c3532162bccf620b7b8cff0f98f92a1f519b3a'
and '572f8a9e138fdfcf2db206180ca705b00b696a64'
Author: mickeyl at openembedded.org
Branch: org.openembedded.dev
Revision: 4bec655b605d8fc1eea8743bc9be4757e76d3378
ViewMTN: http://monotone.openembedded.org/revision/info/4bec655b605d8fc1eea8743bc9be4757e76d3378
Files:
1
classes/sanity.bbclass
conf/bitbake.conf
Diffs:
#
# mt diff -r32c3532162bccf620b7b8cff0f98f92a1f519b3a -r4bec655b605d8fc1eea8743bc9be4757e76d3378
#
#
#
# patch "classes/sanity.bbclass"
# from [ebf6cc13d544c4d677c13e3ea8dd18655c21e172]
# to [476edb8104e59b309dc8324d39e691ffd1116e3a]
#
# patch "conf/bitbake.conf"
# from [040778b31ab6668f50df7d840d46fd1abbc7c6cf]
# to [a605bd5d4d48054b72d21c74a922a9a0a2d12a76]
#
============================================================
--- classes/sanity.bbclass ebf6cc13d544c4d677c13e3ea8dd18655c21e172
+++ classes/sanity.bbclass 476edb8104e59b309dc8324d39e691ffd1116e3a
@@ -1,7 +1,16 @@
#
# Sanity check the users setup for common misconfigurations
#
+#
+# SANITY_ABI allows us to notify users when the format of TMPDIR changes in
+# an incompatible way. Such changes should usually be detailed in the commit
+# that breaks the format and have been previously discussed on the mailing list
+# with general agreement from the core team.
+#
+SANITY_ABI = "0"
+SANITY_ABIFILE = "${TMPDIR}/abi_version"
+
def raise_sanity_error(msg):
import bb
bb.fatal(""" Openembedded's config sanity checker detected a potential misconfiguration.
@@ -31,7 +40,7 @@ def check_sanity(e):
from distutils.version import LooseVersion
except ImportError:
def LooseVersion(v): print "WARNING: sanity.bbclass can't compare versions without python-distutils"; return 1
- import os
+ import os, commands
# Check the bitbake version meets minimum requirements
minversion = data.getVar('BB_MIN_VERSION', e.data , True)
@@ -64,8 +73,8 @@ def check_sanity(e):
# Check that the MACHINE is valid, if it is set
if data.getVar('MACHINE', e.data, True):
- if not check_conf_exists("conf/machine/${MACHINE}.conf", e.data):
- messages = messages + 'Please set a valid MACHINE in your local.conf\n'
+ if not check_conf_exists("conf/machine/${MACHINE}.conf", e.data):
+ messages = messages + 'Please set a valid MACHINE in your local.conf\n'
# Check that the DISTRO is valid
# need to take into account DISTRO renaming DISTRO
@@ -85,6 +94,19 @@ def check_sanity(e):
required_utilities = "patch help2man diffstat texi2html makeinfo cvs svn bzip2 tar gzip gawk md5sum"
+ if data.getVar('TARGET_ARCH', e.data, True) == "arm":
+ # qemu-native needs gcc 3.x
+ if "qemu-native" not in assume_provided and "gcc3-native" in assume_provided:
+ gcc_version = commands.getoutput("${BUILD_PREFIX}gcc --version | head -n 1 | cut -f 3 -d ' '")
+
+ if not check_gcc3(e.data) and gcc_version[0] != '3':
+ messages = messages + "gcc3-native was in ASSUME_PROVIDED but the gcc-3.x binary can't be found in PATH"
+ missing = missing + "gcc-3.x (needed for qemu-native),"
+
+ if "qemu-native" in assume_provided:
+ if not check_app_exists("qemu-arm", e.data):
+ messages = messages + "qemu-native was in ASSUME_PROVIDED but the QEMU binaries (qemu-arm) can't be found in PATH"
+
for util in required_utilities.split():
if not check_app_exists( util, e.data ):
missing = missing + "%s," % util
@@ -100,8 +122,38 @@ def check_sanity(e):
oes_bb_conf = data.getVar( 'OES_BITBAKE_CONF', e.data, True )
if not oes_bb_conf:
- messages = messages + 'You do not include OpenEmbeddeds version of conf/bitbake.conf\n'
+ messages = messages + 'You do not include OpenEmbeddeds version of conf/bitbake.conf. This means your environment is misconfigured, in particular check BBPATH.\n'
+ #
+ # Check that TMPDIR hasn't changed location since the last time we were run
+ #
+ tmpdir = data.getVar('TMPDIR', e.data, True)
+ checkfile = os.path.join(tmpdir, "saved_tmpdir")
+ if os.path.exists(checkfile):
+ f = file(checkfile, "r")
+ if (f.read().strip() != tmpdir):
+ messages = messages + "Error, TMPDIR has changed location. You need to either move it back to %s or rebuild\n" % tmpdir
+ else:
+ f = file(checkfile, "w")
+ f.write(tmpdir)
+ f.close()
+
+ #
+ # Check the 'ABI' of TMPDIR
+ #
+ current_abi = data.getVar('SANITY_ABI', e.data, True)
+ abifile = data.getVar('SANITY_ABIFILE', e.data, True)
+ if os.path.exists(abifile):
+ f = file(abifile, "r")
+ abi = f.read().strip()
+ if (abi != current_abi):
+ # Code to convert from one ABI to another could go here if possible.
+ messages = messages + "Error, TMPDIR has changed ABI (%s to %s) and you need to either rebuild, revert or adjust it at your own risk.\n" % (abi, current_abi)
+ else:
+ f = file(abifile, "w")
+ f.write(current_abi)
+ f.close()
+
if messages != "":
raise_sanity_error(messages)
@@ -115,12 +167,7 @@ python check_sanity_eventhandler() {
except ImportError:
def LooseVersion(v): print "WARNING: sanity.bbclass can't compare versions without python-distutils"; return 1
- if (LooseVersion(bb.__version__) > LooseVersion("1.8.6")):
- if getName(e) == "ConfigParsed":
- check_sanity(e)
- return NotHandled
-
- if getName(e) == "BuildStarted":
+ if getName(e) == "ConfigParsed":
check_sanity(e)
return NotHandled
============================================================
--- conf/bitbake.conf 040778b31ab6668f50df7d840d46fd1abbc7c6cf
+++ conf/bitbake.conf a605bd5d4d48054b72d21c74a922a9a0a2d12a76
@@ -216,18 +216,18 @@ STAGING_DIR_NATIVE = "${STAGING_DIR}/${B
STAGING_DIR = "${TMPDIR}/staging"
STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}"
-STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}/bin"
-STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}/bin/${HOST_SYS}"
-STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}/lib"
-STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}/include"
-STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}/etc"
-STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}/share"
+STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_bindir}"
+STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}${layout_bindir}/${HOST_SYS}"
+STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_libdir}"
+STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_includedir}"
+STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_sysconfdir}"
+STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_datadir}"
STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}"
-STAGING_BINDIR = "${STAGING_DIR_HOST}/bin"
-STAGING_LIBDIR = "${STAGING_DIR_HOST}/lib"
-STAGING_INCDIR = "${STAGING_DIR_HOST}/include"
-STAGING_DATADIR = "${STAGING_DIR_HOST}/share"
+STAGING_BINDIR = "${STAGING_DIR_HOST}${layout_bindir}"
+STAGING_LIBDIR = "${STAGING_DIR_HOST}${layout_libdir}"
+STAGING_INCDIR = "${STAGING_DIR_HOST}${layout_includedir}"
+STAGING_DATADIR = "${STAGING_DIR_HOST}${layout_datadir}"
STAGING_LOADER_DIR = "${STAGING_DIR_HOST}/loader"
STAGING_FIRMWARE_DIR = "${STAGING_DIR_HOST}/firmware"
STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4"
@@ -310,7 +310,7 @@ export PATH_prepend = "${STAGING_BINDIR_
# Build utility info.
##################################################################
-CCACHE = "${@bb.which(bb.data.getVar('PATH', d), 'ccache') and 'ccache '}"
+CCACHE = "${@bb.which(bb.data.getVar('PATH', d, 1), 'ccache') and 'ccache '}"
TOOLCHAIN_OPTIONS = ""
export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
@@ -351,10 +351,12 @@ export BUILD_CPPFLAGS = "-isystem${STAGI
##################################################################
export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}"
+BUILDSDK_CPPFLAGS = "-isystem${STAGING_INCDIR}"
export CPPFLAGS = "${TARGET_CPPFLAGS}"
-export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}/include"
+export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${layout_includedir}"
export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
+BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION}"
export CFLAGS = "${TARGET_CFLAGS}"
export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
@@ -365,9 +367,14 @@ export BUILD_LDFLAGS = "-L${STAGING_LIBD
export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \
-Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-O1"
+
+BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \
+ -Wl,-rpath-link,${STAGING_LIBDIR} \
+ -Wl,-rpath,${libdir} -Wl,-O1"
+
export LDFLAGS = "${TARGET_LDFLAGS}"
-export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}/lib \
- -Wl,-rpath-link,${STAGING_DIR_TARGET}/lib \
+export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
+ -Wl,-rpath-link,${STAGING_DIR_TARGET}${layout_libdir} \
-Wl,-O1"
# Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
#
# mt diff -r572f8a9e138fdfcf2db206180ca705b00b696a64 -r4bec655b605d8fc1eea8743bc9be4757e76d3378
#
#
# no changes
#
More information about the Openembedded-commits
mailing list