A Proposal to make Experimental API Public in Ostree 2018.5


For those who aren't aware, ostree has a significant amount of API hidden behind the "--enable-experimental-api" configure flag, the purpose of which is to allow refs to be distributed via P2P sources (computers on a LAN or USB drives for example). This allows Endless OS (or other users of ostree) to be distributed via those mechanisms, which is functionality that I and others have been testing but that hasn't been deployed yet. Together with some API in Flatpak that's hidden behind the "--enable-p2p" flag it's also possible to distribute flatpaks over LAN and USB mediums without relying on being online (although this functionality still has some bugs being fixed, e.g. https://github.com/flatpak/flatpak/issues/1522).

After some discussion with Rob McQueen, Dan Nicholson, Philip Withnall and others who are involved with making this happen, I'm proposing that this API be made public (non-experimental) in next week's 2018.5 release, for the following reasons:
  • The functionality has been tested and proven to work. Although there are bugs still open on the Flatpak side, there aren't significant ones on the ostree side, and the Flatpak ones shouldn't require structural changes.
  • We still need more testing to be confident in this functionality because many of the code paths are different than the non-P2P case, but it will be easier to make that happen once the API is public.
  • This will bring us a step closer to enabling P2P support on Flathub (because otherwise someone needs to make a COPR with an ostree build that has experimental API enabled).
  • Once Flathub has P2P enabled it will be more feasible to do real world tests of the functionality using the upcoming 3.4 release of Endless (May 7th).
  • Matthias Clasen said he's interested in using this functionality to do flatpak installs from an Anaconda install ISO, and making the API public (and therefore having it available in Fedora) would make that more feasible.


Matthew Leeds  |  +1.205.873.0740  |  Endless

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]