Re: All in one universal app bundles
"Lucas C. Villa Real" <[email protected]>
| Newsgroups | gmane.linux.distributions.gobo.general |
|---|---|
| Message-ID | <CAAvzgta6KyWxhKhg59nT_p3Pz_6StK+LtpWA8q5yk+wkot+KKA@mail.gmail.com> |
On Wed, Jun 15, 2016 at 8:35 AM, Liam Proven <[email protected]> wrote: > http://www.omgubuntu.co.uk/2016/06/snap-to-be-universal-linux-package-format > Hi Liam, Thanks for sharing the link with us. I have been following the discussion on LWN.net here: http://lwn.net/Articles/691309/#Comments There are several disadvantages and questions with that format. For instance, should one include e.g., the Python interpreter on every package that relies on it? What about the GTK+ stack? It looks a lot like static linking to me, although it is still lightweight when compared to shipping a whole container. I've been wanting to implement a small extension to GoboLinux Runner that would let us achieve something similar but with a lot less overhead. If you remember, we used to have binary packages back in the day. InstallPackage would look for the requested program/version on our repository and then install it. The way Runner (currently available in our git repo) works is simple: you invoke 'Runner appname' and it parses appname's Dependencies file under /Programs/App/Version, creating an overlay under /usr (or /System/Index) with the versions of libraries and other packages that App needs. Now, the small extension I talk about is to enable Runner to download any missing dependencies on the fly from our package store. The advantage is that we do not need to download dependencies that are already installed. Also, we can effectively maintain several different versions of a given dependency, as playing with the symbolic links (and potentially overwriting existing symbolic links from other versions of that dependency) is not necessary; overlaying takes care of that. In the end, each time you invoke Runner you have a pseudo-container that ensures the file system view satisfies the given program's needs. Let me know if you have any comments on this idea. Best regards, Lucas