[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: