Hi! On Wed, 2025-10-08 at 12:33:57 -0700, Soren Stoutner wrote: > Package: reprotest > Severity: normal
> I maintain pyinstaller-hooks-contrib, which includes a test (run during build > and in autopkgtests) that parses the system timezone. This test currently > fails Salsa CI reprotest and other reproducibility tests because they modify > the timezone in the build environment using syntax like GMT+12 instead of the > Continent/City (zoneinfo) syntax. > > zoneinfo._common.ZoneInfoNotFoundError: 'tzlocal() does not support non- > zoneinfo timezones like GMT+12. Please use a timezone in the form of > Continent/City’ > > https://salsa.debian.org/python-team/packages/pyinstaller-hooks-contrib/-/jobs/8382666#L6097 > > I can see the wisdom in having reproducibility tests check to make sure that > packages build correctly in different timezones. My question is: do we gain > anything by using the GMT+12 syntax, or could we achieve the same results by > varying the timezone using the Continent/City format? > > This was discussed on debian-devel in the thread beginning at: > > https://lists.debian.org/debian-devel/2025/10/msg00006.html > > Etc/GMT+12 and Etc/GMT-14 would provide the largest offset (note the > difference in the numbers, with the positive offset going up to 12 and the > negative offset going up to 14). > > https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List > > "The special area of "Etc" is used for some administrative zones, particularly > for "Etc/UTC" which represents Coordinated Universal Time. In order to conform > with the POSIX style, those zone names beginning with "Etc/GMT" have their > sign > reversed from the standard ISO 8601 convention. In the "Etc" area, zones west > of > GMT have a positive sign and those east have a negative sign in their name > (e.g > "Etc/GMT-14" is 14 hours ahead of GMT). > > https://en.wikipedia.org/wiki/Tz_database#Area As mentioned on the salsa-ci MR at <https://salsa.debian.org/salsa-ci-team/pipeline/-/issues/512>: As was mentioned on the list thread, this change would require for tzdata to be installed everywhere, otherwise the results are bogus (AFAIUI). On a system with tzdata installed: ,--- $ TZ=GMT+12 date -d '@2147483647' Mon Jan 18 15:14:07 GMT 2038 $ TZ=Etc/GMT+12 date -d '@2147483647' Mon Jan 18 15:14:07 -12 2038 `--- On a system without tzdata installed: ,--- $ TZ=GMT+12 date -d '@2147483647' Mon Jan 18 15:14:07 GMT 2038 $ TZ=Etc/GMT+12 date -d '@2147483647' Tue Jan 19 03:14:07 Etc 2038 `--- As such, I don't think this should be changed, and if the referenced package has a problem with this, its test suite should massage its environment so that it can test what it is supposed to be testing. Thanks, Guillem

