Check for references to ${ROOT} in install_qa_checks.
authorDavid James <davidjames@google.com>
Sat, 30 Apr 2011 00:21:58 +0000 (17:21 -0700)
committerZac Medico <zmedico@gentoo.org>
Wed, 4 May 2011 19:47:39 +0000 (12:47 -0700)
commitfdb5ea2d56c800fdefbec49f602f78158e388f64
tree070778470a80cbe79694d98a0ec0a964de84f06c
parent7d2833a7b0650a3a51190619a993315143ab1b04
Check for references to ${ROOT} in install_qa_checks.

When ROOT != /, binaries that reference ROOT will load their
dependencies from ROOT first rather than from the system-configured
path. This is a problem because the ROOT will be / on the target
system.

Besides the above, this patch also fixes incorrect parsing of scanelf
output, where we would treat the RPATHs returned by scanelf as the
names of binaries.

TEST=When "stricter" FEATURE is enabled, verify that emerge
fails when an ebuild references broken rpaths referencing
ROOT. When "stricter" FEATURE is not enabled, verify that such
references are automatically fixed. Also verify that ebuilds
with non-broken RPATHs (e.g. RPATHs referencing $ORIGIN/../lib)
are not touched by the change.

BUG=chromium-os:14271

Change-Id: I4f29cc4ea9195a1255f080284da1f676e4a2c26b

Review URL: http://codereview.chromium.org/6903153
bin/misc-functions.sh