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

Bug#346342: libc6: REALLY annoying: destroys workaround all the time



On Mon, Apr 10, 2006 at 07:42:41AM +0200, Aurelien Jarno wrote:
> Then on the bug itself, I will try to investigate that. The solution is
> not trivial, if you look at the tzconfig script, you may notice that the
> script use a readlink on /etc/localtime. Replacing it by a plain file
> may have consequences that have to be investigated. It seems that it is
> broken for some people (I fail to understand how it happens), and we 
> don't want to break it for everyone.

With tzconfig, location is stored into /etc/timezone and /etc/localtime
becomes a symlink to /usr/share/zoneinfo/$location.  It seems that this
is a Debian addition, but it is outdated, locations do not match
/usr/share/zoneinfo/zone.tab.
There are 2 similar tools:
  * tzselect, which seems to be the predecessor of tzconfig, but which
    is maintained upstream.  This program does not modify system files,
    it is intended to be run by normal users to know how to set TZ to
    match their need.
  * tzsetup, written by d-i folks to replace tzconfig.  It behaves like
    tzconfig, but is well maintained.
I suggest thus to drop tzconfig, this program is no more useful.  And to
modify tzdata.postinst like this:

    if [ "$1" = "configure" ]; then
        timezone=Factory
        if [ -f /etc/timezone ]; then
            timezone=$(sed -e 1q /etc/timezone)
        fi
        if [ -f /usr/share/zoneinfo/$timezone ] && [ "$timezone" != Factory ]
        then
            rm -f /etc/localtime && \
            cp -f /usr/share/zoneinfo/$timezone /etc/localtime
        fi
    fi

Denis



Reply to: