gnome-calendar opens and display my calendar/ events
What's the current behaviour?
Launching gnome-calendar from the app launcher icon show the software opening and then it returns to the app launcher.
Running from terminal results in a long list of Glib-CRITICAL **: g_date_time_get_...: assetion 'datetime != NULL' failed followed by Segmentation fault.
How to reproduce your issue?
Launch gnome-calendar from the app launcher icon or from terminal.
What device are you using?
Pinephone 1.2 / Oneplus6
On what postmarketOS version did you encounter the issue?
edge (master branch) (Pinephone 1.2)
v23.06 (Oneplus6)
v22.12 (Supported until 2023-07-06)
I confirm that the issue still is present after running sudo apk upgrade -a
On what environment did you encounter the issue?
Environments
Phosh
Plasma Mobile
Sxmo (Wayland/Sway) Please post the output of sxmo_version.sh
There seems to be still a couple of issues with this. It's incredible how something like this has so many corner-cases. I managed to reproduce the problem. The solution:
Part 1: make sure that we make use of tzdata for setting the timezone (when available that it's most of the times) https://lists.sr.ht/~postmarketos/pmbootstrap-devel/patches/41791 I wonder if we should also make tzdata a dependency of postmarketos-base-ui. In any case, it seems like it's already installed in phosh, gnome and plasma UIs.
Part 2: fix some small issues in alpine's setup-timezone script, that have consequences in openrc-settingsd and some create some things that it shouldn't.
Part 3: With the things above merged, we should migrate all existing installs. Users should remove /etc/zoneinfo and rerun setup-timezone -i $TZ. This should be part of an edge blogpost, but also of the relase notes for the next release. Quite unfortunate timing, though.
As a temporary workaround, to get this working you can simply rm -rf /etc/zoneinfo, and ln -sf /usr/share/zoneinfo/Europe/Berlin (or your corresponding timezone code), and backport openrc-settingsd. It's unfortunate that gnome-calendar crashes when the timezone is not correctly setup, but at least it lets us identify when and how things can go wrong.
I tested your pmb patches with phosh, works as intended.
I wonder if we should also make tzdata a dependency of postmarketos-base-ui. In any case, it seems like it's already installed in phosh, gnome and plasma UIs.
The package is 3MB, and it's likely already installed for most UIs anyways (as you said), we probably want to make sure it is installed for everything anyways so having it listed in pmos-base package seems reasonable to me. This way we can guarantee it will always be installed, and not have to rely on every UI to implicitly pull it in (which might be happening today, but that's not a guarantee)
Part 2: fix some small issues in alpine's setup-timezone script, that have consequences in openrc-settingsd and some create some things that it shouldn't.
What small issues?
Part 3: With the things above merged, we should migrate all existing installs. Users should remove /etc/zoneinfo and rerun setup-timezone -i $TZ. This should be part of an edge blogpost, but also of the relase notes for the next release. Quite unfortunate timing, though.
Could we migrate folks in the postmarketos-base.post-upgrade script instead?
Could we migrate folks in the postmarketos-base.post-upgrade script instead?
Maybe? I'm not 100% sure, since we need to figure out a way to properly fetch the timezone, but could be an option, yes. Anyway, I'd like to wait for the rest of things to be merged.
If /etc/localtime is pointing to /usr/share/zoneinfo, then it's all good, simply remove /etc/zoneinfo if it exists to cleanup, and we're good.
If /etc/localtime points to /etc/zoneinfo, then we could just move the suffix to point to the same place in /usr/share/zoneinfo (that now exists, we depend on tzdata), remove /etc/zoneinfo and call it a day.
@craftyguy suggested to do this in postmarketos-base post-upgrade script. I'll likely push that the weekend if nobody has a better idea.