#! /bin/sh -e set -x ARCH="$1" PAGESIZE=4096 if [ -z "$ARCH" ]; then ARCH=$(basename "$0" .sh | sed -e 's/^no-rpath-//') fi SCRATCH=scratch/no-rpath-$ARCH if [ -z "$ARCH" ] || [ "$ARCH" = prebuild ] ; then echo "Architecture required" exit 1 fi no_rpath_bin="${srcdir:?}/no-rpath-prebuild/no-rpath-$ARCH" if [ ! -f "$no_rpath_bin" ]; then echo "no 'no-rpath' binary for '$ARCH' in '${srcdir:?}/no-rpath-prebuild'" exit 1 fi rm -rf "${SCRATCH}" mkdir -p "${SCRATCH}" cp "$no_rpath_bin" "${SCRATCH}"/no-rpath oldRPath=$(../src/patchelf --page-size "${PAGESIZE}" --print-rpath "${SCRATCH}/no-rpath") if test -n "$oldRPath"; then exit 1; fi ../src/patchelf --page-size "${PAGESIZE}" \ --set-interpreter "$(../src/patchelf --page-size "${PAGESIZE}" --print-interpreter ../src/patchelf)" \ --set-rpath /foo:/bar:/xxxxxxxxxxxxxxx "${SCRATCH}"/no-rpath newRPath=$(../src/patchelf --page-size "${PAGESIZE}" --print-rpath "${SCRATCH}/no-rpath") if ! echo "$newRPath" | grep -q '/foo:/bar'; then echo "incomplete RPATH" exit 1 fi