sanity: check that path variables don't use ~

The core path variables (TMPDIR, DL_DIR, SSTATE_DIR) don't use tilde expansion
but if the user does then the errors are very mysterious, so check on startup.

(From OE-Core rev: 2fb74abbe07b6b82a715ac0fe16449bd8420110e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2017-09-20 13:57:33 +01:00
committed by Richard Purdie
parent 4b560c9834
commit 8e1287867f

View File

@@ -726,6 +726,11 @@ def check_sanity_everybuild(status, d):
if not ( check_conf_exists("conf/distro/${DISTRO}.conf", d) or check_conf_exists("conf/distro/include/${DISTRO}.inc", d) ):
status.addresult("DISTRO '%s' not found. Please set a valid DISTRO in your local.conf\n" % d.getVar("DISTRO"))
# Check that these variables don't use tilde-expansion as we don't do that
for v in ("TMPDIR", "DL_DIR", "SSTATE_DIR"):
if d.getVar(v).startswith("~"):
status.addresult("%s uses ~ but Bitbake will not expand this, use an absolute path or variables." % v)
# Check that DL_DIR is set, exists and is writable. In theory, we should never even hit the check if DL_DIR isn't
# set, since so much relies on it being set.
dldir = d.getVar('DL_DIR')