Subject: Re: bug#61914: IceCat does not start with en_GB.utf8 locale

From: Maxim Cournoyer <[email-masked]>
Date: Thu, 02 Mar 2023 17:02:31 -0500

Hello Timo,

(Please don't forget to keep the bug in CC so that our discussion
remains public so that anyone can jump in to help!)

Timo Wilken <[email-masked]> writes:

> Hi Maxim,
>
> Thanks for your reply!
>
> What finally worked for me was the following:
>
> $ sed -i.bak
> 's|/gnu/store/hhfcn8viysyz2qz9rvvqkj91i5nxzd9s|/gnu/store/bwcrfgfrri9bpglgb5raih167jaxibkv|g'
> \
>       ~/.mozilla/icecat/vfc41hol.default/extensions.json \
>       ~/.mozilla/icecat/vfc41hol.default/addonStartup.json.lz4
>
> After running that, IceCat suddenly worked fine.
>
> No directory starting with /gnu/store/hhfcn8viysyz2qz9rvvqkj91i5nxzd9s
> exists on my system.
>
> I guess that means the "guix gc" I did yesterday is to blame!

> There were lots of entries like the following in my extensions.json:
>
> "rootURI":"jar:file:///gnu/store/hhfcn8viysyz2qz9rvvqkj91i5nxzd9s-icecat-102.8.0-guix0-preview1/lib/icecat/browser/extensions/[email-masked]!/",
>
> ...and then when guix gc deleted an old IceCat directory, these files
> were gone.

Interesting.  I would have expected that the language packs extensions,
which are shipped with icecat itself (they are in its application global
directory, under for example
/gnu/store/...-icecat-102.8.0-guix0-preview1/lib/icecat/browser/extensions),
would have self-updated when the browser would have changed.

Perhaps it depends on the version string of icecat changing, or their
date stamp, which is purposefully set to 1970 for reproducibility.

Browsing about:config, I see:

--8<---------------cut here---------------start------------->8---
extensions.systemAddon.update.enabled	false
--8<---------------cut here---------------end--------------->8---

I wonder if this could make a different to be set to true instead.  It's
set to false by the makeicecat.sh script we run to transform the Firefox
source into GNU IceCat.  I guess we'll have to look at the source for
more clues as to how language pack updates are handled exactly.

-- 
Thanks,
Maxim