What (not) to put in the Flathub packaging

On this PR the Kolibri developers were surprised to learn that functionality specific to the Flatpak version of the app should not be developed in the repository on Flathub. Specifics of this case aside, I don’t think there is any good reference for what should or should not live in the Flathub Git repo. My understanding is:

Required

  • The .json manifest, plus 0 or more other manifests it imports (perhaps from shared-modules)

Optional

  • README.md
  • flathub.json to disable some architectures and set various Flathub-infra-specific flags

Acceptable but should be submitted upstream

  • Patches necessary to build and run the application in the Flatpak environment (I include Zypak here)
  • .appdata.xml, .desktop and other metadata required for Flathub apps but not shipped by some (primarily cross-platform) applications

Strongly discouraged

  • Patches which add new functionality

I think the closest we have to documenting this is the App Requirements page but that is more about what to include, not what not to include.

2 Likes

Sounds good to me. Could you add your list to App Maintenance page?

Great idea – but I do not have the power to edit that page! I wonder if I can send a PR against the https://github.com/flathub/flathub.wiki.git repo…

I don’t think pull requests for wikis are supported. Just added you to group with write permissions there.

Done!