timedatectl doesn't list all timezones
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Ubuntu) |
Fix Released
|
Wishlist
|
Dan Streetman | ||
Bionic |
Won't Fix
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Wishlist
|
Dan Streetman | ||
Groovy |
Fix Released
|
Wishlist
|
Dan Streetman | ||
Hirsute |
Fix Released
|
Wishlist
|
Dan Streetman | ||
Impish |
Fix Released
|
Wishlist
|
Dan Streetman |
Bug Description
[impact]
timedatectl list-timezones doesn't show many common timezones that are actually considered 'aliases', such as Europe/Bratislava or US/Eastern.
[test case]
$ timedatectl list-timezones | grep Eastern
$
[regression potential]
any regression would likely result in an incorrect list of timezones shown from list-timezones, or failure to correctly set a timezone
[scope]
this is needed in f and later
this is fixed upstream with PR 20066 which was just merged, so this is needed in all releases in ubuntu
in bionic, the 'tzdata.zi' file that the new code uses isn't present, so this won't work on bionic, thus marking it wontfix
[original description]
Is there some filter determining which timezones are displayed by `timedatectl list-timezones`? My zone, Europe/Bratislava, is missing. Even stranger, it can successfully be set by timedatectl.
ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: systemd 242-7ubuntu3.2
ProcVersionSign
Uname: Linux 5.3.0-1014-raspi2 aarch64
ApportVersion: 2.20.11-0ubuntu8.2
Architecture: arm64
Date: Fri Jan 3 15:36:03 2020
Lspci:
ProcEnviron:
TERM=xterm-
PATH=(custom, no user)
LANG=C.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: coherent_pool=1M 8250.nr_uarts=1 bcm2708_
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install)
mtime.conffile.
CVE References
Changed in systemd (Ubuntu): | |
status: | New → Confirmed |
tags: | removed: arm64 |
Changed in systemd (Ubuntu): | |
importance: | Undecided → Low |
tags: | added: ddstreet |
tags: | removed: ddstreet |
description: | updated |
Changed in systemd (Ubuntu Bionic): | |
status: | New → Won't Fix |
This is because Europe/Bratislava is a timezone alias (to Europe/Prague), and systemd currently parses the 'zone1970.tab' to the the list of valid timezones; however that file only lists actual timezones, not timezone aliases.
I opened upstream pull request to change systemd to parse 'tzdata.zi' instead, which lists both actual timezones as well as aliases, which should fix this and list all zones and aliases from 'timedatectl list-timezones'
https:/ /github. com/systemd/ systemd/ pull/20066