Comment 2 for bug 1602258

Revision history for this message
Neal Gompa (ngompa13) wrote :

From the discussion at the Snap sprint:

* Snapcraft will be reworked to support using different backends for build-packages and stage-packages. While currently it has a hard dependency on python3-apt, the plan is to add a libhif backend for RPM based distributions once the rework is complete. The libhif backend will work for the major RPM based distributions (Fedora, openSUSE, Mageia, etc.) because they use a common repository format. Since libhif itself has minimal dependencies (librpm, librepo, and libsolv), is used in Fedora and Mageia, a build has been made in openSUSE through the OBS[1], and offers Python bindings through gobject-introspection, it should work for our purposes.

* Snapcraft.yaml will grow an "on <distro>" stanza that will indicate what distribution base is to be used. This way, Snapcraft preserves the reproducibility of snaps by ensuring that the snap production is tied to the distribution base. This will enable using Ubuntu or Debian as a snap distro base using the apt backend, while using libhif for Fedora, Mageia, openSUSE, etc.

[1]: https://build.opensuse.org/package/show/home:M0ses:snappy/libhif