trivionomicon: athena-bccr: patch hard-coded FHS paths in idopte driver
This commit is contained in:
parent
913b3acec3
commit
dd366aa20e
2 changed files with 31 additions and 6 deletions
|
|
@ -102,6 +102,7 @@
|
|||
libnotify,
|
||||
openssl,
|
||||
pcsclite,
|
||||
python3,
|
||||
stdenv,
|
||||
unzip,
|
||||
webkitgtk_4_1,
|
||||
|
|
@ -124,6 +125,7 @@
|
|||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
python3
|
||||
];
|
||||
|
||||
outputs = ["out" "lib"];
|
||||
|
|
@ -132,15 +134,34 @@
|
|||
runHook preInstall
|
||||
|
||||
install -m755 -d $out/bin $lib/{etc,lib/SCMiddleware}
|
||||
install -m755 usr/lib/SCMiddleware/{idocachesrv,SCManager} $out/bin
|
||||
install -m755 usr/lib/SCMiddleware/*.so $lib/lib/SCMiddleware
|
||||
install -m755 usr/lib/SCMiddleware/SCManager $out/bin
|
||||
install -m755 usr/lib/SCMiddleware/{*.so,idocachesrv} $lib/lib/SCMiddleware
|
||||
cp -r etc/id* $lib/etc
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
patchelf --set-rpath $lib/lib/SCMiddleware $lib/lib/SCMiddleware/* $out/bin/*
|
||||
for elf in $lib/lib/SCMiddleware/* $out/bin/*; do
|
||||
python3 /dev/fd/3 <$elf >$elf.patched 3<<EOF
|
||||
import sys
|
||||
contents = sys.stdin.buffer.read()
|
||||
|
||||
def bin_replace(s, a, b):
|
||||
assert len(a) >= len(b)
|
||||
return s.replace(a, b + b'\0' * (len(a) - len(b)))
|
||||
|
||||
contents = bin_replace(contents, b'/usr/lib/SCMiddleware', b'/etc/SCMiddleware')
|
||||
contents = bin_replace(contents, b'/tmp/.idoss_socket', b'/run/idoss/socket')
|
||||
|
||||
sys.stdout.buffer.write(contents)
|
||||
EOF
|
||||
|
||||
chmod --reference=$elf $elf.patched
|
||||
mv $elf.patched $elf
|
||||
|
||||
patchelf --set-rpath $lib/lib/SCMiddleware $elf
|
||||
done
|
||||
'';
|
||||
|
||||
passthru.pkcs11-path = "lib/SCMiddleware/libidop11.so";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue