From 471d15d3c5c0e3439cb9e2eed3cefc6fc221a92d Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Wed, 4 May 2022 22:06:14 -0500 Subject: [PATCH] hooks/post-install: check for dangling symlinks --- common/hooks/post-install/10-check-symlinks.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 common/hooks/post-install/10-check-symlinks.sh diff --git a/common/hooks/post-install/10-check-symlinks.sh b/common/hooks/post-install/10-check-symlinks.sh new file mode 100644 index 000000000000..9f72a920fae6 --- /dev/null +++ b/common/hooks/post-install/10-check-symlinks.sh @@ -0,0 +1,11 @@ +# This hook checks for broken symlinks. + +hook() { + local target symlink + while read -r symlink; do + target=$(realpath --relative-to="${PKGDESTDIR}" --relative-base="${PKGDESTDIR}" -m $symlink) + if [ ! -e "${PKGDESTDIR}/${target}" ]; then + echo " Symlink missing target: ${symlink#${PKGDESTDIR}} -> ${target}" + fi + done < <(find ${PKGDESTDIR} -type l -follow -not -path "${PKGDESTDIR}/etc/sv/*") +}