Package: grub-legacy Severity: serious Version: 0.97-77 Tags: patch Control: affects -1 src:linux
Removing a kernel image fails as follows due to grub-legacy's update-grub uses the deprecated and now removed tempfile utility: Removing linux-image-5.10.0-6-amd64 (5.10.28-1) ... /etc/kernel/postrm.d/initramfs-tools: update-initramfs: Deleting /boot/initrd.img-5.10.0-6-amd64 /etc/kernel/postrm.d/zz-update-grub: Searching for GRUB installation directory ... found: /boot/grub /usr/sbin/update-grub: line 273: tempfile: command not found run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 127 dpkg: error processing package linux-image-5.10.0-6-amd64 (--remove): installed linux-image-5.10.0-6-amd64 package post-removal script subprocess returned error exit status 1 dpkg: too many errors, stopping Errors were encountered while processing: linux-image-5.10.0-6-amd64 Processing was halted because there were too many errors. This currently blocks all further apt activities. The following patch seems to fix the issue: --- /usr/sbin/update-grub~ 2018-05-05 14:45:49.000000000 +0200 +++ /usr/sbin/update-grub 2021-08-25 00:26:21.527777990 +0200 @@ -270,7 +270,7 @@ # Default options to use in a new config file. This will only be used if $menu_file # doesn't already exist. Only edit the lines between the two "EOF"s. The others are # part of the script. -newtemplate=$(tempfile) +newtemplate=$(mktemp) cat > "$newtemplate" <<EOF # $menu_file_basename - See: grub(8), info grub, update-grub(8) # grub-install(8), grub-floppy(8), @@ -637,7 +637,7 @@ savedefault=$(GetMenuOpt "savedefault" "$savedefault") # Generate the menu options we want to insert -buffer=$(tempfile) +buffer=$(mktemp) echo $start >> $buffer echo "## lines between the AUTOMAGIC KERNELS LIST markers will be modified" >> $buffer echo "## by the debian update-grub script except for the default options below" >> $buffer @@ -1034,7 +1034,7 @@ fi else value="$1" - newmenu=$(tempfile) + newmenu=$(mktemp) sed -e "s/^[[:blank:]]*default[[:blank:]]*[[:digit:]]*\(.*\)/default ${value}\1/;b" $menu > $newmenu cat $newmenu > $menu rm -f $newmenu -- System Information: Debian Release: bookworm/sid APT prefers unstable APT policy: (990, 'unstable'), (600, 'testing'), (500, 'unstable-debug'), (500, 'buildd-unstable'), (110, 'experimental'), (1, 'experimental-debug'), (1, 'buildd-experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.10.0-8-amd64 (SMP w/4 CPU threads) Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /bin/dash Init: sysvinit (via /sbin/init) LSM: AppArmor: enabled Versions of packages grub-legacy depends on: ii grub-common 2.04-20 ii libc6-i386 2.31-17 grub-legacy recommends no packages. Versions of packages grub-legacy suggests: pn grub-legacy-doc <none> pn mdadm <none> ii multiboot 0.6.96+20101113-3 -- no debconf information