File: replace-needed.sh

package info (click to toggle)
patchelf 0.18.0-1.4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,464 kB
  • sloc: cpp: 5,481; sh: 940; makefile: 194; ansic: 44; asm: 20
file content (20 lines) | stat: -rwxr-xr-x 761 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#! /bin/sh -e
SCRATCH=scratch/$(basename "$0" .sh)

rm -rf "${SCRATCH}"
mkdir -p "${SCRATCH}"

oldLibc=$(../src/patchelf --print-needed big-dynstr | grep -v 'foo\.so')
../src/patchelf --output "${SCRATCH}/big-needed" --replace-needed "${oldLibc}" long_long_very_long_libc.so.6 --replace-needed libfoo.so lf.so big-dynstr

if ! ../src/patchelf --print-needed "${SCRATCH}/big-needed" | grep -Fxq "long_long_very_long_libc.so.6"; then
	echo "library long_long_very_long_libc.so.6 not found as NEEDED"
	../src/patchelf --print-needed "${SCRATCH}/big-needed"
	exit 1
fi

if ! ../src/patchelf --print-needed "${SCRATCH}/big-needed" | grep -Fxq "lf.so"; then
	echo "library lf.so not found as NEEDED"
	../src/patchelf --print-needed "${SCRATCH}/big-needed"
	exit 1
fi