generic-poky/meta/classes/relocatable.bbclass

25 lines
766 B
Plaintext

SYSROOT_PREPROCESS_FUNCS += "relocatable_binaries_preprocess"
CHRPATH_BIN ?= "chrpath"
def rpath_replace (paths, d):
chrpath = bb.data.expand('${CHRPATH_BIN}', d)
for path in paths:
for root, dirs, files in os.walk(path):
for f in files:
if 'usr' in path:
os.system("%s -r $ORIGIN/../lib:$ORIGIN/../../lib %s/%s" % (chrpath, path,f))
else:
os.system("%s -r $ORIGIN/../lib %s/%s" % (chrpath, path, f))
python relocatable_binaries_preprocess() {
paths = []
target = bb.data.expand("${SYSROOT_DESTDIR}${TMPDIR}/sysroots/${TARGET_ARCH}-${TARGET_OS}", d)
paths.append(target + "/bin")
paths.append(target + "/usr/bin")
rpath_replace(paths, d)
}