#!/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" CACHE_PATH_DBG="/var/cache/proxmox-backup/file-restore-initramfs-debug.img" # cleanup first, in case proxmox-file-restore was uninstalled since we do # not want an unusable image lying around rm -f "$CACHE_PATH" if [ ! -f "$INST_PATH/initramfs.img" ]; then echo "proxmox-backup-restore-image is not installed correctly, skipping update" >&2 exit 0 fi echo "Updating file-restore initramfs..." # avoid leftover temp file cleanup() { rm -f "$CACHE_PATH.tmp" "$CACHE_PATH_DBG.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" if [ -f "$INST_PATH/initramfs-debug.img" ]; then echo "Updating file-restore debug initramfs..." cp "$INST_PATH/initramfs-debug.img" "$CACHE_PATH_DBG.tmp" ( cd "$INST_PATH"; \ printf "./proxmox-restore-daemon" \ | cpio -o --format=newc -A -F "$CACHE_PATH_DBG.tmp" ) mv -f "$CACHE_PATH_DBG.tmp" "$CACHE_PATH_DBG" fi 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 #DEBHELPER# exit 0