install.sh: Preserve symlinks in destination file system

In various distros (i.e. Debian), /lib is a symbolic link. The tar
command in install.sh replaces the /lib symlink with a directory and
results in a non-functioning system. This has been introduced by the
installation of the systemd watchdog sleep script in /lib/systemd.

This patch adds the tar option --dereference (-h for short) to preserve
symlinks when extracting the dist archive.

Fixes: e54a6cd6a1 ("systemd: Add hooks to stop/start xen-watchdog on suspend/resume")
Signed-off-by: Thierry Escande <thierry.escande@vates.tech>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Tested-by: Jason Andryuk <jason.andryuk@amd.com>
Acked-by: Anthony PERARD <anthony.perard@vates.tech>
This commit is contained in:
Thierry Escande authored and Anthony PERARD committed 2026-04-23 17:39:55 +02:00
1 parent b89ecb4dd4
commit 5c248e8dbb
1 file changed
+1 -1
+1 -1
View File
@@ -27,7 +27,7 @@ tmp="`mktemp -d`"
echo "Installing Xen from '$src' to '$dst'..."
(cd $src; tar -cf - * ) | tar -C "$tmp" -xf -
(cd $tmp; tar -cf - *) | tar --no-same-owner -C "$dst" -xf -
(cd $tmp; tar -cf - *) | tar --no-same-owner -C "$dst" -xhf -
rm -rf "$tmp"
echo "All done."
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.