Skip to content

Commit 7be982c

Browse files
tsm-client: fix symlink fixup (#380705)
2 parents 02d7d25 + 9d04988 commit 7be982c

File tree

1 file changed

+3
-14
lines changed

1 file changed

+3
-14
lines changed

pkgs/by-name/ts/tsm-client/package.nix

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -131,22 +131,11 @@ let
131131
runHook postInstall
132132
'';
133133

134-
# fix relative symlinks after `/usr` was moved up one level,
135-
# fix absolute symlinks pointing to `/opt`
134+
# fix symlinks pointing to `..../opt/....`
136135
preFixup = ''
137-
for link in $out/lib{,64}/* $out/bin/*
136+
for link in $(find $out -type l -lname '*../opt*')
138137
do
139-
target=$(readlink "$link")
140-
if [ "$(cut -b -6 <<< "$target")" != "../../" ]
141-
then
142-
echo "cannot fix this symlink: $link -> $target"
143-
exit 1
144-
fi
145-
ln --symbolic --force --no-target-directory "$out/$(cut -b 7- <<< "$target")" "$link"
146-
done
147-
for link in $(find $out -type l -lname '/opt/*')
148-
do
149-
ln --symbolic --force --no-target-directory "$out$(readlink "$link")" "$link"
138+
ln --symbolic --force --no-target-directory "$(readlink "$link" | sed 's|../opt|opt|')" "$link"
150139
done
151140
'';
152141
});

0 commit comments

Comments
 (0)