Improve data sandboxing by using Tracker 3
Description
The Tracker search engine has historically exposed the whole search index to the Flatpak sandbox, with no way to enforce that apps can only see data relevant to them.
Tracker 3 introduces data sandboxing using graphs. Apps need updating to take advantage of this.
Goals
Port all apps to use Tracker 3.0 API.
Ensure Flatpak apps use xdg-tracker-portal
and specify a limited set of graphs they will access.
Scope
- core apps
- all other apps that use Tracker
People on charge & contact
- Carlos Garnacho @carlosg
- Sam Thursfield @sthursfield
Instructions to achieve the goals
See https://discourse.gnome.org/t/tracker-3-app-porting/3351
Label for tracking the initiative
"~9. Initiative: Tracker 3"
Text for the initiative issue in projects
/label ~"9. Initiative: Tracker 3"
List of projects & tasks
Core apps and libraries that need attention:
-
GTK (Tracker search engine) - @carlosg (gtk!1944 (merged) ,gtk!1945 (merged)) -
gnome-online-miners - @sthursfield (https://gitlab.gnome.org/GNOME/gnome-online-miners/-/merge_requests/3) -
grilo-plugins (Tracker plugin) - @carlosg (grilo-plugins!85 (merged)) -
libfolks (Tracker backend) and GNOME Contacts - @carlosg (folks!44 (merged)) -
Rygel (Tracker plugin) - @jensgeorg -
GNOME Boxes - @carlosg (gnome-boxes!332 (merged)) -
GNOME Files (Nautilus) - @sthursfield (nautilus!553 (merged)) -
GNOME Music (uses grilo) - @jfelder and @carlosg (gnome-music!728 (closed)) -
GNOME Photos (uses gnome-online-miners) - @sthursfield (gnome-photos#152) -
GNOME Videos (uses grilo) - @carlosg (totem!146 (merged), totem!154 (merged))
Others we should look at:
-
GNOME Applets (part of GNOME Flashback) - @muktupavels (gnome-applets!66 (merged)) -
GNOME Books - @carlosg (https://gitlab.gnome.org/GNOME/gnome-books/-/merge_requests/51) -
GNOME Documents (uses gnome-online-miners) - @carlosg (https://gitlab.gnome.org/GNOME/gnome-documents/-/merge_requests/35) -
GNOME Games - @jfelder (https://gitlab.gnome.org/GNOME/gnome-games/-/merge_requests/424) -
GNOME Notes (Bijiben) - @carlosg (gnome-notes!60 (merged)) -
GNOME Usage - @sthursfield gnome-usage!77 (merged) -
Brasero - @carlosg brasero!10 (merged)
We will also need to update gnome-build-meta and jhbuild.
User data will need to be migrated for some apps. A prototype of how to do this is here: https://gitlab.gnome.org/sthursfield/tracker-data-migration-tools/ -- more work is needed.
Testing will be required of all the apps. Our aim is to have a tracker-3 .flatpak bundle for each app that everyone can test. Additional testing can be done using VM images built from gnome-build-meta..
How can I help
- Test the ported apps using Flatpak (see https://discourse.gnome.org/t/tracker-3-app-porting/3351)
- Review existing merge requests
- Help port the remaining apps