Hi,

Distopico <[email protected]> writes:

> Apps such as Icecat or ungoogled-chromium are not able to get the
> correct timezone from /etc/localtime when `/etc/localtime` is a realpath
> maybe because it expect /etc/share/zoneinfo, with readlink partially
> works fine some apps, maybe related with an icu bug.[1]
>
> I just removed manually `/etc/localtime` and crate an symlink `sudo ln
> -s $TZDIR/$(cat /etc/timezone) /etc/localtime` and ungoogled-chromium
> works fine.

[...]

> Steps to reproduce it:
>
> - guix pull && guix package -u
> - Install last icecat or ungoogled-chromium version
> - Verify that you don't have $TZ set, unset it.
> - If it's Icecat open `about:config` and set `privacy.resistFingerprinting` 
> to false
> - Open  https://webbrowsertools.com/timezone/ in the browser
> - Check the timezone
> - sudo rm -r /etc/localtime && sudo ln -s $TZDIR/$(cat /etc/timezone) 
> /etc/localtime
> - Open chromium or `MOZ_DISABLE_CONTENT_SANDBOX=1 icecat`
> - Visit https://webbrowsertools.com/timezone/ again, check the timezone.

I was trying to reproduce using ungoogled-chromium from Guix commit
c23b9a1 (which is at version 140), but it does not seem to be an issue
for it anymore for ungoogled-chromium:

--8<---------------cut here---------------start------------->8---
$ file /etc/localtime 
/etc/localtime: timezone data (fat), version 2, 4 gmt time flags, 4 std
time flags, no leap seconds, 9 transition times, 4 local time types, 12
abbreviation chars
$ echo $TZ

$ chomium
--8<---------------cut here---------------end--------------->8---

Then Ctrl+Shift+I, type Date() in console -> gets my correct time zone.

>From IceCat, it resolves the issue. Using a system reconfigured with
<https://codeberg.org/guix/guix/pulls/4178>, and also
https://codeberg.org/guix/guix/pulls/4179 so that /gnu is reachable from
the sandbox (you could set MOZ_DISABLE_CONTENT_SANDBOX=1 instead):

--8<---------------cut here---------------start------------->8---
$ file /etc/localtime 
/etc/localtime: symbolic link to 
/gnu/store/1zwwykw79j5xz1iaiia56hwqxdqnrk2c-tzdata-2025a/share/zoneinfo/Asia/Tokyo

$ echo $TZ

$ icecat
--8<---------------cut here---------------end--------------->8---

Settings -> IceCat settings -> Ensure 'Resist Fingerprinting' is
disable.

Then Ctrl+Shift+I, type Date() in console -> Asia/Tokyo

Now, I'm confused, because I reverted /etc/localtime to a plain
file, and it continues to work in IceCat.

Tentatively marking as fixed.

-- 
Thanks,
Maxim



Reply via email to