Time zone in installer - Iceland is missing

I was installing FreeBSD in a VM yesterday and I noticed that under time zone / Atlantic there is no mention of Iceland there. Iceland does use UTC+0/GMT+0 Standard time, so I just used that. Unlike UK, Iceland does not have a summer and winter time, since Iceland is on permanent summer time. I don't know if this can be reported as a bug. I hope that I am not too unclear on what I am trying to communicate here.

Thanks.
 
Neither UTC nor GMT is correct: UTC is always winter time, GMT switches to summer time (AFAIK).
In the installed system there exist /usr/share/zoneinfo/Iceland file, I see no reason why it may be missed in the installer.
 
Neither UTC nor GMT is correct: UTC is always winter time, GMT switches to summer time (AFAIK).
Not quite, the difference is more subtle. GMT doesn't have daylight savings time, but it is indeed defined as a time zone (even mentioning a location, Greenwich, in its name). For DST, e.g. the UK switches to a "different" timezone, BST (british summer time). But there's also an alternative zone just including the DST called WET (western european time). Anyways, GMT in its function as a global reference time (which of course is why it can't have DST) has been superseded by UTC which is defined as a "time standard" without any geographical reference. For most practical purposes, GMT and UTC are just the same ?

Anyways, you're right using it is semantically wrong here. Although I'm not sure it would ever matter?

(on a personal note: when does the madness of DST finally end everywhere? :rolleyes: I really had a giggle reading the comments in this commit shortly before 13.2-RELEASE: https://cgit.freebsd.org/src/commit/?h=releng/13.2&id=57472c9a30abce230797fcf1e9435fb603d7425e )
 
Should we talk about leap seconds?
No ?

Seriously, I tend to quickly forget again how they are handled, IIRC it was different in GMT than it is now in UTC...

As for the problem of wrong assumptions about time, they really go a long way. Maybe that's a naive idea, but why not just make UTC perfectly monotonous and instead have an extra offset for all real timezones that gets applied the leap seconds? :-/
 
I am sorry to say it, but Iceland is listed under Africa :D it's due to zone1970.tab being used here and there we have this wonderful "simplification":
Code:
CI,BF,GH,GM,GN,IS,ML,MR,SH,SL,SN,TG     +0519-00402     Africa/Abidjan
 
I was installing FreeBSD in a VM yesterday and I noticed that under time zone / Atlantic there is no mention of Iceland there.

Who would have noticed but someone from there :)

Interesting, since bsdinstall(8) calls tzsetup(8) for this, and yes, there's no Iceland shown in Atlantic, nor anywhere else.

(Oh, thanks yuripv79, Africa!)

OTOH, Iceland IS shown in the Atlantic region in the similar but not identical regions/countries categories in bsdconfig(8), at least in 12.4 & 13.1

Try 'bsdconfig timezone'.

Iceland does use UTC+0/GMT+0 Standard time, so I just used that.

Which happily is correct, either way. Unless Iceland changes it again ...

Unlike UK, Iceland does not have a summer and winter time, since Iceland is on permanent summer time.

Iceland is actually about 2.5° into the -0100 TZ, but who's counting.

I don't know if this can be reported as a bug. I hope that I am not too unclear on what I am trying to communicate here.

Thanks.

Perfectly clear, and for sure file a PR, blame tzsetup.
 
Neither UTC nor GMT is correct: UTC is always winter time, GMT switches to summer time (AFAIK).
In the installed system there exist /usr/share/zoneinfo/Iceland file, I see no reason why it may be missed in the installer.
This is what the installer shows. This is Atlantic Ocean and Europe (mainland).
 

Attachments

  • FreeBSD 13.2-install-timezone-atlantic ocean.png
    FreeBSD 13.2-install-timezone-atlantic ocean.png
    26.6 KB · Views: 177
  • FreeBSD 13.2-install-timezone-europe.png
    FreeBSD 13.2-install-timezone-europe.png
    30.8 KB · Views: 112
While that is correct and tzsetup needs to be smarter, I think bsdinstall should just use the same timezone selection code as bsdconfig. I’ll look if it’s something easy to do.

Hmm, not sure about easy. bsdconfig has had scarcely any updates since 2016, and while I've only been working on the 'packages' section mostly, I've some familiarity.

We will need to find out if bsdconfig is really up to date with regions, countries and timezone abbreviations etc also. I don't know how.

Whereas people far more frequently report running tzsetup, so if it's fixed then a) it's fixed and b) 'bsdinstall time' is too, with no change.

From /usr/src/usr.sbin/
compare
bsdinstall/scripts/time
with
bsdconfig/timezone/timezone
and all the rest of:
% ls -lR bsdconfig/timezone/
 
wow, I did not know all of that stuff, and all I was every worried about was having the clock on my desktop show the same (correct?) time between booting into different OS'es.
 
From /usr/src/usr.sbin/
compare
bsdinstall/scripts/time
with
bsdconfig/timezone/timezone
and all the rest of:
% ls -lR bsdconfig/timezone/
I am not sure what exactly I should compare here. The idea was:
Code:
diff --git a/usr.sbin/bsdinstall/scripts/time b/usr.sbin/bsdinstall/scripts/time
index 5715ab2d9d4..18dd2f8c671 100755
--- a/usr.sbin/bsdinstall/scripts/time
+++ b/usr.sbin/bsdinstall/scripts/time
@@ -26,11 +26,12 @@
 #
 # $FreeBSD$

+BSDCFG_LIBEXEC="/usr/libexec/bsdconfig"
 BSDCFG_SHARE="/usr/share/bsdconfig"
 . $BSDCFG_SHARE/common.subr || exit 1

 # Select timezone
-chroot $BSDINSTALL_CHROOT tzsetup
+chroot $BSDINSTALL_CHROOT $BSDCFG_LIBEXEC/090.timezone/timezone

 # Switch to target timezone
 saved_TZ="$TZ"

It works, as in built iso with the change, booted, Iceland is under the "Atlantic Ocean" as it should be.

Why it's not such a great idea after all - I noticed that the bsdconfig's timezone script uses (the old and deprecated) zone.tab, and simply reverting tzsetup to use it instead of zone1970.tab "fixes" the issue as well. So indeed the proper fix should teach tzsetup to not blindly trust the "continent" part while parsing zone1970.tab.
 
Back
Top