#
verbose=:
-prune=no
# shellcheck disable=SC2209
compress=cat
compext=
shift
;;
- -P | --prune)
- prune=yes
- shift
- ;;
-
--xz)
if test "$compext" = ".zst"; then
err "cannot mix XZ and ZSTD compression"
# shellcheck disable=SC2162 # file/folder name can include escaped symbols
grep -E '^Link:' WHENCE | sed -e 's/^Link: *//g;s/-> //g' | while read f d; do
- if test -L "$f$compext"; then
- test -f "$destdir/$f$compext" && continue
- $verbose "copying link $f$compext"
- install -d "$destdir/$(dirname "$f")"
- cp -d "$f$compext" "$destdir/$f$compext"
-
- if test "x$d" != "x"; then
- target="$(readlink "$f")"
-
- if test "x$target" != "x$d"; then
- $verbose "WARNING: inconsistent symlink target: $target != $d"
- else
- if test "x$prune" != "xyes"; then
- $verbose "WARNING: unneeded symlink detected: $f"
- else
- $verbose "WARNING: pruning unneeded symlink $f"
- rm -f "$f$compext"
- fi
- fi
- else
- $verbose "WARNING: missing target for symlink $f"
- fi
+ directory="$destdir/$(dirname "$f")"
+ install -d "$directory"
+ target="$(cd "$directory" && realpath -m -s "$d")"
+ if test -e "$target"; then
+ $verbose "creating link $f -> $d"
+ ln -s "$d" "$destdir/$f"
else
- directory="$destdir/$(dirname "$f")"
- install -d "$directory"
- target="$(cd "$directory" && realpath -m -s "$d")"
- if test -e "$target"; then
- $verbose "creating link $f -> $d"
- ln -s "$d" "$destdir/$f"
- else
- $verbose "creating link $f$compext -> $d$compext"
- ln -s "$d$compext" "$destdir/$f$compext"
- fi
+ $verbose "creating link $f$compext -> $d$compext"
+ ln -s "$d$compext" "$destdir/$f$compext"
fi
done