[Bug 236874] [installer] The country Cyprus in timezone settings is in wrong continent.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 27 Jul 2023 12:47:37 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236874 Pierre Pronchery <pierre@freebsdfoundation.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pierre@freebsdfoundation.or | |g --- Comment #2 from Pierre Pronchery <pierre@freebsdfoundation.org> --- I have just investigated this a bit now, and found that FreeBSD is not directly responsible for this behaviour. There is a catch and possible solution however. First, what the installer really does is call tzsetup(8) from the installation step `time` (as in the script in `src/bsdinstall/scripts/time`). This in turn calls tzsetup from within the newly installed system, with chroot(8): ```sh 33 # Select timezone 34 chroot $BSDINSTALL_CHROOT tzsetup ``` So this bug should really be filed to tzsetup(8), where the `src/usr.sbin/tzsetup/baseline` file effectively lists Cyprus in Asia. However, the `baseline` file is generated from the database in `src/contrib/zone1970.tab`, which comes from outside the project. As it turns out, this "tz database" (https://en.wikipedia.org/wiki/Tz_database) is a public project, and a de facto standard across most major Operating Systems. This is where Cyprus is listed as a part of Asia: ``` CY +3510+03322 Asia/Nicosia most of Cyprus CY +3507+03357 Asia/Famagusta Northern Cyprus ``` "Determining the boundaries between the continents is generally a matter of geographical convention" and this is also where the corresponding Wikipedia article situates Cyprus as well (https://en.wikipedia.org/wiki/Boundaries_between_the_continents). With this in mind, I can see two different ways to go about this issue. 1. As far as I can tell, you are free to ask for the decision to place Cyprus in Asia in the tz database to be reconsidered; after all, Istanbul was placed in Europe (as "Europe/Istanbul") according to this list. This means residents of the Anatolian region of Türkiye have to choose their timezone under "Europe", extending the scope of this issue to them as well. 2. Another way to look at this situation was already envisioned by the maintainers of the tz database: listing some locations in more than one continent (or "area" really). From the `zone1970.tab` file, one can read the following comments: ``` # The next section contains experimental tab-separated comments for # use by user agents like tzselect that identify continents and oceans. [...] # If more than one country code is affected each is listed separated # by commas, e.g., #@IS,SH<tab>Atlantic/". If a country code is in # more than one continent or ocean, each is listed separated by # commas, e.g., the second column of "#@CY,TR<tab>Asia/,Europe/". ``` And then: ``` #@CY,TR Asia/,Europe/ ``` As you can see, this means both Cyprus and Türkiye should effectively be listed in both the Asia and Europe areas. Therefore tzsetup(8) should be taught about these special comments, and reflect them in the selection process. The corresponding timezone will remain known as "Asia/Nicosia" or "Asia/Famagusta" though. (That is, unless it is officially changed as per 1.) -- You are receiving this mail because: You are the assignee for the bug.