Currently, the content for a Flatpak in Fedora can be found in modules/<application>. E.g.: https://src.fedoraproject.org/modules/quadrapassel/tree/master - I’d like to propose creating a separate namespace in src.fedoraproject.org - flatpaks/
Benefits: * Allow automation to easily distinguish Flatpaks from other modules. (https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/... ) * Make it easy to browse through the source of available Flatpaks * Reduce some confusion. A Flatpak is a module, but it’s *also* a container, and the dist-git repository will include files for both.
Downsides: * We have a few graphical applications that are available as standard loose-rpm macros (gimp, rawtherapee, skychart). While it should work to have flatpaks/gimp and modules/gimp build different streams of the gimp module, it’s going to be more confusing than different branches in the same repository. (There are even possibilities for using the *same* branch using module-stream-expansion, though that’s not something I’d encourage at the moment.)
Needed steps: * Remove special casing of flatpak => modules in Bodhi https://github.com/fedora-infra/bodhi/blob/develop/bodhi/server/models.py#L1... * Adjust namespace special-casing in fedpkg https://pagure.io/fedpkg/blob/master/f/fedpkg/cli.py * Adjust namespace special-casing in fedscm_admin https://pagure.io/fedscm-admin/blob/master/f/fedscm_admin/utils.py * In fedscm_admin: Map flatpaks namespace to the ‘module’ PDC branch type when storing the SLA into the PDC, to avoid PDC changes, and because the SLA really is a module SLA. * Adjust distgit pagure configuration to add flatpaks to ALLOWED_PREFIX and REQUIRED_GROUPS https://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/distgit... * Add flatpaks/ to the kojid allowed_scms configuration https://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/koji_bu... * Add flatpaks/ to the module-build-service SCMS configuration https://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/mbs/com... * Adjust the owner-sync-pagure script to handle flatpaks/ https://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/bodhi2/... * Move or reimport existing Flatpak repositories (modules/eog, modules/feedreader, modules/flatpak-common, modules/flatpak-runtime, modules/gnome-clocks, modules/gnome-tetravex, modules/quadrapassel)
Potential issues: * We should probably move flatpak-common to the flatpaks/ namespace for ease of discovery, but it isn’t in any way a flatpak, it’s just a module that Flatpaks can depend on. * The ability of modules to include other modules won’t work without further adjustments to the MBS config.py (MODULES_ALLOW_REPOSITORY) - I don't see this as useful functionality for Flatpaks.
On Tue, Jan 08, 2019 at 12:28:51PM -0500, Owen Taylor wrote:
- Reduce some confusion. A Flatpak is a module, but it’s *also* a
container, and the dist-git repository will include files for both.
I'm +1 to this for this reason. I think it's less confusing than the downside loose-module confusion. :)
In related news, I'm killing the rawtherapee "loose-rpm" module and just making a flatpak one.
Question: would this open up the possiblity of offering different _flatpak_ streams? I'd like to have a stream where the rc releases are built so people who want to try those can.
- We should probably move flatpak-common to the flatpaks/ namespace
for ease of discovery, but it isn’t in any way a flatpak, it’s just a module that Flatpaks can depend on.
I'd suggest just making a flatpak-common repo in flatpaks/ with a README linking to the module namespace.
On Tue, Jan 8, 2019 at 12:28 PM Owen Taylor otaylor@redhat.com wrote:
- In fedscm_admin: Map flatpaks namespace to the ‘module’ PDC branch
type when storing the SLA into the PDC, to avoid PDC changes, and because the SLA really is a module SLA.
Digging into this, I don't think this is right - it would break the 1:1 mapping between pagure branches and "component branches" in PDC that we currently have and the scripts count on. I think the right thing is:
* Modify the ReleaseComponentType table in the PDC database to add 'flatpak'
[ Or could be done by adding a migration to the PDC codebase, adding the redeploying, but considering that we're working on replacing the PDC, doesn't seem worthwhile.]
Owen
infrastructure@lists.fedoraproject.org