db_get "$question"
if [ -z "$RET" ]; then
# Reset the seen flag if the current answer is false, since
# otherwise we'll loop with no indication of why.
db_get grub-efi/install_devices_empty
if [ "$RET" = false ]; then
db_fset grub-efi/install_devices_empty seen false
fi
if db_input critical grub-efi/install_devices_empty; then
db_go
db_get grub-efi/install_devices_empty
if [ "$RET" = true ]; then
break
else
db_fset "$question" seen false
db_fset grub-efi/install_devices_empty seen false
fi
else
exit 1 # noninteractive
fi
else
break
fi
So, if install_devices is empty & install_devices_empty is true and seen, asking grub-efi/install_devices_empty will be skipped. and shouldn't error out.
I wonder if I cause this mistake in postinst, and grub-multi-install.
Name: grub-efi/ install_ devices install_ devices
Template: grub-efi/
Value:
Owners: grub-common, grub-efi-amd64
Flags: seen
Variables:
CHOICES =
RAW_CHOICES =
Name: grub-efi/ install_ devices_ empty install_ devices_ empty
Template: grub-efi/
Value: true
Owners: grub-common, grub-efi-amd64
Flags: seen
question is grub-efi/ install_ devices
db_get "$question" install_ devices_ empty install_ devices_ empty seen false install_ devices_ empty; then install_ devices_ empty install_ devices_ empty seen false
if [ -z "$RET" ]; then
# Reset the seen flag if the current answer is false, since
# otherwise we'll loop with no indication of why.
db_get grub-efi/
if [ "$RET" = false ]; then
db_fset grub-efi/
fi
if db_input critical grub-efi/
db_go
db_get grub-efi/
if [ "$RET" = true ]; then
break
else
db_fset "$question" seen false
db_fset grub-efi/
fi
else
exit 1 # noninteractive
fi
else
break
fi
So, if install_devices is empty & install_ devices_ empty is true and seen, asking grub-efi/ install_ devices_ empty will be skipped. and shouldn't error out.
I wonder if I cause this mistake in postinst, and grub-multi-install.