mirror of
				https://git.proxmox.com/git/proxmox-backup
				synced 2025-11-02 15:18:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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 unuseable 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
 |