Bug#1002038: noninteractive upgrade with UCF_FORCE_CONFFNEW=1 fail with ucf conflict
lvlolotov
lvlolotov at gmail.com
Mon Dec 20 19:49:32 GMT 2021
Package: grub-pc
Version: 2.04-20
noninteractive upgrade with UCF_FORCE_CONFFNEW=1 fail with ucf conflict.
Error: Only one of force_conffold and force_conffnew should be set
Reproduce:
- Modify sources.list for a new release.
- Set ucf options
export DEBIAN_FRONTEND=noninteractive
unset UCF_FORCE_CONFFOLD
export UCF_FORCE_CONFFNEW=1
- noninteractive upgrade
apt-get dist-upgrade
...
Paramétrage de grub-pc (2.04-20) ...
Error: Only one of force_conffold and force_conffnew should be set
dpkg: erreur de traitement du paquet grub-pc (--configure) :
installed grub-pc package post-installation script subprocess
returned error exit status 1
...
From ucf source :
if [ "X$force_conffold" != "X" -a "X$force_conffnew" != "X" ]; then
echo >&2 "Error: Only one of force_conffold and force_conffnew should";
echo >&2 " be set";
exit 1;
fi
From /etc/ucf.conf :
# Please note that only one of conf_force_conffold and
# conf_force_conffnew should be set.
From grub-pc postinst script :
# If the template configuration file hasn't changed, then no
conflict is
# possible. ucf can't figure this out for itself since we apply
# debconf-based customisations on top of the template configuration
# file.
if [ -e /var/lib/grub/ucf/grub.previous ] && \
cmp -s /usr/share/grub/default/grub
/var/lib/grub/ucf/grub.previous && \
[ -e /etc/default/grub ]; then
ucf_env=UCF_FORCE_CONFFOLD=1
else
ucf_env=
fi
env $ucf_env ucf --three-way --debconf-ok
--sum-file=/usr/share/grub/default/grub.md5sum "$tmp_default_grub"
/etc/default/grub
cp -aZ /usr/share/grub/default/grub /var/lib/grub/ucf/grub.previous
I suggest that grub postinst script should honor ucf options specified
by commandline or in /etc/ucf.conf file.
If UCF_FORCE_CONFFNEW is true or conf_force_conffnew=YES is set in
/etc/ucf.conf then we should not try to define UCF_FORCE_CONFFOLD in
postinst.
grub-efi packages have the same behaviour :
grub-efi-amd64
grub-efi-amd64-signed
shim-signed
I'm using Debian GNU/Linux 11 (bullseye) Kernel 5.10.70-1 (2021-09-30)
x86_64 GNU/Linux.
More information about the Pkg-grub-devel
mailing list