How to warn flatpak users to convert from BSDDB3 before python 3.10 breaks backend

I have been concerned for flatpak users, because the maintainer for the python bindings for Berkeley database is making a change for the version of the database that can be packaged with Gramps. The website for the required python binding (python3-bsddb was the name last time Gramps 5.1.5-4 flatpak was compiled) indicates that the current binding being used for the Gramps flatpak will not work with python 3.10 or later.
https://www.jcea.es/programacion/pybsddb.htm

Unfortunately due to Oracle owning the current Berkeley database and changing copyright license for v. 6 and later, my understanding is that Gramps can not be packaged with Berkeley database past version 5.3 without changing the copyright license for the entire flatpak. So using a newer version of Berkeley does not appear to be an available option.

Common dependecies in flatpaks are distributed with read-only access in “platforms” and Gramps currently uses Gnome Platform 42 for the flatpak. This reduces the size of the total flatpak download by sharing common dependencies between flatpaks. For security, the access is read-only, and these dependencies do get automatic updates. Python is included in the platform, and is currently at 3.9 in Gnome 42. Since obsolete platforms get removed from Flathub, using an old platform with python 3.9 will not be an option at some point.

There is a way to access older modules when compiling a flatpak

I don’t like it, but it doesn’t have python 3 at this point anyway.

Theoretically, python 3.9 could be compiled with all the prerequisites needed for its installation and made part of the Gramps flatpak so that Berkeley database can still be available. Not only would the python 3.9 (and its prerequisites for compiling) no longer get security updates or bug fixes with this option, but the download for Gramps would be much bigger by basically duplicating another version of python from what is in the Platform.

I vaguely remember discussing this with @Nick-Hall earlier in the year and I believe I had approval to drop Berkeley for the Gramps 5.2 flatpak since it will be impractical to include. However, I have extra memory issues so this needs to be verified that my memory is correct and that nothing has changed. Also hopefully users can be given time to prepare because flathub will probably start giving end of life alerts for Gnome Platform 42 soon since it will probably be end of life in March 2023. Gnome Platform 43 uses python 3.10.

1 Like

Correct.

It looks like we should maybe plan for the next release early next year.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.