How do I know which dependencies I need?

May 5, 2023
D

So if I want to create a Flatpak of someone else’s program, what’s the best way to figure out all the dependencies needed? And then, which ones are already covered by which Flatpak runtimes?

Let’s say I start with looking at the dependencies of a Debian/Fedora/openSUSE package or something in the AUR - how do I end up with a list of modules for the YAML manifest?

C

@Dust2692 “figure out all the dependencies” A crude but effective way would be to build a Flatpak and see what error messages you get.
“which ones…covered by Flatpak runtimes” Gnome runtime provides the Gnome Desktop Environment.

H

flatpak run org.freedesktop.Sdk//22.08 will give you a shell in the sdk sandbox. From there you can check what is available, calling pkg-config --list-all for example.

My approach is 1. read the build doc of the package. 2. add what I think is needed, 3 try to build and check the output of the configure step. 4. update the dependencies if needed, see, goto 2.

H

the choice of the Sdk is based in the toolkit the app uses. Gtk4 → GNOME. PyGtk → GNOME. Qt → KDE (5 or 6 depending on the version). WebKit → GNOME. Plain Gtk3 → Freedesktop.

This is not a definitive answer though. Just guidance.