Bug#971019: accidental chaining of debconf commands
Package: cdebconf
Version: 0.249
Severity: critical
I have a problem with the debian installer, at the finish-install stage
in the udeb clock-setup.
The following code path produces a strange protocol interaction:
if db_fget clock-setup/utc seen && [ "$RET" = true ]; then
# keep preseeded value
:
else
probed=""
if arch_has_os_needing_local_clock; then
# os-prober may not yet be installed...
anna-install os-prober-udeb || true
probed=$(os-prober) || true
if [ -z "$probed" ]; then
# installing the only OS, so use UTC
db_set clock-setup/utc true
pri=low
fi
fi
db_input $pri clock-setup/utc || true
if ! db_go; then
| exit 10 # back to main menu
fi
The interaction in the syslog during install (manually copied from screen):
finish-install: info: Running /usr/lib/finish-install.d/10clock-setup
debconf: --> FGET clock-setup/utc seen
debconf: <-- 0 true
debconf: --> SET clock-setup/utc true INPUT low clock-setup/utc
debconf: <-- 0 value set
debconf: --> GO
debconf: <-- 0 ok
debconf: --> GET clock/setup/utc
debconf: <-- 0 true INPUT low clock-setup/utc
debconf: --> GET clock-setup/system-time-changed
debconf: <-- 0 false
finish-install: /usr/lib/finish-install.d/10clock-setup: return: line
46: illegal number: INPUT
finish-install: warning: /usr/lib/finish-install.d/10clock-setup
returned error code 2
For reproducing the error if that's required:
This is a preseeded Debian Buster install on VMWare ESXi, relevant
preseed config:
### Clock and timezone setup
# Controls whether or not the hardware clock is set to UTC.
d-i clock-setup/utc boolean true
# You may set this to any valid setting for $TZ; see the contents of
# /usr/share/zoneinfo/ for valid values.
d-i time/zone string Europe/Amsterdam
# Controls whether to use NTP to set the clock during the install
d-i clock-setup/ntp boolean true
# NTP server to use. The default is almost always fine here.
#d-i clock-setup/ntp-server string ntp.example.org
I can't really see why this path would be hit, "db_fget clock-setup/utc
seen" should return true and this whole thing should be skipped, but
somehow that is not how it works out.. and the debconf confmodule just
chains 2 commands together without any separation or wait time, causing
an error during finish-install, effectively halting all installs.
seems like either a clear separator is missing (newline?) or a buffer
must be flushed after every SET..
Kind regards,
Wilco Baan Hofman
Reply to: