insane: check packages for absolute symlinks to the tmpdir

Add a sanity test that checks for symlinks in packages that point into the
TMPDIR on the host.

(From OE-Core rev: 9e28808a6d6f47dc10ad87b878c7e912c2bbe16f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2014-03-03 20:23:33 +00:00 committed by Richard Purdie
parent d152d03484
commit a8dc6aed55
1 changed files with 13 additions and 0 deletions

View File

@ -574,6 +574,19 @@ def package_qa_check_infodir(path, name, d, elf, messages):
if infodir in path:
messages.append("The /usr/share/info/dir file is not meant to be shipped in a particular package.")
QAPATHTEST[symlink-to-sysroot] = "package_qa_check_symlink_to_sysroot"
def package_qa_check_symlink_to_sysroot(path, name, d, elf, messages):
"""
Check that the package doesn't contain any absolute symlinks to the sysroot.
"""
if os.path.islink(path):
target = os.readlink(path)
if os.path.isabs(target):
tmpdir = d.getVar('TMPDIR', True)
if target.startswith(tmpdir):
trimmed = path.replace(os.path.join (d.getVar("PKGDEST", True), name), "")
messages.append("Symlink %s in %s points to TMPDIR" % (trimmed, name))
def package_qa_check_license(workdir, d):
"""
Check for changes in the license files