Bug#420895: tzdata: debconf logic can't handle single-level zones defined in backward
Package: tzdata
Version: 2007e-4
Severity: important
Justification: breaks debootstrap
(Actually, I saw this with 2007e-3ubuntu2 in Ubuntu; but I've looked at
the diff to 2007e-4 and I'm fairly sure it suffers from the same
problem. Sorry if I'm wrong.)
debootstrap has always done this or equivalent before configuring most
packages:
if [ ! -e "$TARGET/etc/localtime" ]; then
ln -sf /usr/share/zoneinfo/UTC "$TARGET/etc/localtime"
fi
Unfortunately this confuses tzdata's new debconf code. A
DEBCONF_DEBUG=developer dump looks like this:
Setting up tzdata (2007e-3ubuntu2) ...
debconf (developer): frontend started
debconf (developer): frontend running, package name is tzdata
debconf (developer): starting /var/lib/dpkg/info/tzdata.config configure
debconf (developer): <-- VERSION 2.0
debconf (developer): --> 0 2.0
debconf (developer): <-- CAPB backup
debconf (developer): --> 0 multiselect escape
debconf (developer): <-- FSET tzdata/Areas seen true
debconf (developer): --> 0 true
debconf (developer): <-- FSET tzdata/Zones/UTC seen true
debconf (developer): --> 10 tzdata/Zones/UTC doesn't exist
dpkg: error processing tzdata (--configure):
subprocess post-installation script returned error exit status 10
Errors were encountered while processing:
tzdata
It appears not to like single-level zones (i.e. UTC rather than
Etc/UTC). While this could be worked around to some extent in
debootstrap, it seems likely that this will also affect upgrades from
systems using any single-level timezone name.
I can think of two obvious approaches to fix this. One would be to allow
any single-level zone name that exists in /usr/share/zoneinfo/. Another
(more appealing in terms of elegance, although also probably harder)
would be to automatically migrate any zone that's defined using a Link
line.
What do you think?
--
Colin Watson [cjwatson@ubuntu.com]
Reply to: