debian/client: add postinst hook to rebuild file-restore initramfs
This will be triggered on updating proxmox-file-restore (via configure, necessary since the daemon binary might change) and proxmox-backup-restore-image (via 'activate-noawait', necessary since the base image might change). Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
This commit is contained in:
parent
58421ec112
commit
34ac5cd889
63
debian/proxmox-file-restore.postinst
vendored
Executable file
63
debian/proxmox-file-restore.postinst
vendored
Executable file
@ -0,0 +1,63 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
update_initramfs() {
|
||||
# regenerate initramfs for single file restore VM
|
||||
INST_PATH="/usr/lib/x86_64-linux-gnu/proxmox-backup/file-restore"
|
||||
CACHE_PATH="/var/cache/proxmox-backup/file-restore-initramfs.img"
|
||||
|
||||
# cleanup first, in case proxmox-file-restore was uninstalled since we do
|
||||
# not want an unuseable image lying around
|
||||
rm -f "$CACHE_PATH"
|
||||
|
||||
[ -f "$INST_PATH/initramfs.img" ] || \
|
||||
echo "proxmox-backup-restore-image is not installed correctly" >2 || \
|
||||
exit 1
|
||||
|
||||
echo "Updating file-restore initramfs..."
|
||||
|
||||
# avoid leftover temp file
|
||||
cleanup() {
|
||||
rm -f "$CACHE_PATH.tmp"
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
mkdir -p "/var/cache/proxmox-backup"
|
||||
cp "$INST_PATH/initramfs.img" "$CACHE_PATH.tmp"
|
||||
|
||||
# cpio uses passed in path as offset inside the archive as well, so we need
|
||||
# to be in the same dir as the daemon binary to ensure it's placed in /
|
||||
( cd "$INST_PATH"; \
|
||||
printf "./proxmox-restore-daemon" \
|
||||
| cpio -o --format=newc -A -F "$CACHE_PATH.tmp" )
|
||||
mv -f "$CACHE_PATH.tmp" "$CACHE_PATH"
|
||||
|
||||
trap - EXIT
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
# in case restore daemon was updated
|
||||
update_initramfs
|
||||
;;
|
||||
|
||||
triggered)
|
||||
if [ "$2" = "proxmox-backup-restore-image-update" ]; then
|
||||
# in case base-image was updated
|
||||
update_initramfs
|
||||
else
|
||||
echo "postinst called with unknown trigger name: \`$2'" >&2
|
||||
fi
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
1
debian/proxmox-file-restore.triggers
vendored
Normal file
1
debian/proxmox-file-restore.triggers
vendored
Normal file
@ -0,0 +1 @@
|
||||
interest-noawait proxmox-backup-restore-image-update
|
Loading…
Reference in New Issue
Block a user