aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/insane.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-04 16:27:11 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-06 23:52:58 +0000
commit7fd1d7e639c2ed7e0699937a5cb245c187b7c811 (patch)
tree007589371df4f00fa0209faafb7a21fde6754370 /meta/classes/insane.bbclass
parent7ea670c3b00439ca5eeb6ae1efd475f0954268b7 (diff)
downloadopenembedded-core-contrib-7fd1d7e639c2ed7e0699937a5cb245c187b7c811.tar.gz
openembedded-core-contrib-7fd1d7e639c2ed7e0699937a5cb245c187b7c811.tar.bz2
openembedded-core-contrib-7fd1d7e639c2ed7e0699937a5cb245c187b7c811.zip
insane/prelink: Handle nonstandard library paths
Prelink contains some hardcoded assumptions about the path layout of the target system. Unfortunately if the system doesn't match, prelink doesn't work. This breaks: a) prelink of those images b) the unsafe-references-in-binaries QA test (which uses prelink-rtld) One way to work around this is to construct an ld.so.conf file which lists the library paths in question. We do this in sanity QA check and in the rootfs prelink code, being careful not to trample any existing target ld.so.conf. There is an additional problem that $LIB references in RPATHs won't be handled correctly, I've not see any system use these in reality though so this change at least improves things. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/insane.bbclass')
-rw-r--r--meta/classes/insane.bbclass5
1 files changed, 5 insertions, 0 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index ebf92ac621..7ac945d4cd 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -1094,12 +1094,17 @@ python do_package_qa () {
continue
if w in testmatrix and testmatrix[w] in g:
warnchecks.append(g[testmatrix[w]])
+ if w == 'unsafe-references-in-binaries':
+ oe.utils.write_ld_so_conf(d)
+
errorchecks = []
for e in (d.getVar("ERROR_QA", True) or "").split():
if e in skip:
continue
if e in testmatrix and testmatrix[e] in g:
errorchecks.append(g[testmatrix[e]])
+ if e == 'unsafe-references-in-binaries':
+ oe.utils.write_ld_so_conf(d)
bb.note("Checking Package: %s" % package)
# Check package name