Re: Application bundles in Gnome OS



On Wed, 2012-09-19 at 06:02 -0400, Matthias Clasen wrote:
> On Wed, Sep 19, 2012 at 4:43 AM, Alexander Larsson <alexl redhat com> wrote:
> 
> >
> > * Which other src-modules are needed to build this src-module
> 
> Ideally, you just build against the sdk, no ?

Not sure what you mean here. The SDK would be whatever we consider ABI
stable and we'll ship-it-forever so you don't have to bundle it?

But, when you're building your app it will have more dependencies than
whats in the SDK. For instance, say you're building the gimp. It will
need things like gegl which in turn needs OpenEXR-libs, etc. These are
not in the SDK and will need to be bundled with the gimp.

However, it would be nice for every app that needs to bundle say gegl if
we could re-use a module description for it so that its easy to bundle.
Thats what i mean when I say the gimp src-module should build-require
the gegl src-module, and the gimp bundle should include the subset of
files similar to what's in the OpenEXR-libs rpm, and not the rest of the
files you'd get from building the OpenEXR tarball. 

And, the person who just want to bundle gegl should not have to know and
manage the whole dependency stack for gegl. Instead the metadata for
gegl should specify both the build and runtime requirements so that apps
can rely on this when building bundles.

Additionally, when you talk about the SDK you mean a given set of
libraries and core services we consider "stable forever" that everything
can rely on. The question then is, whats in this set? I brought up this
in the initial main in this thread. It clearly has libc and libX11, but
does it have Gtk 3? If so, what version? It has historically not been
super-abi stable, especially wrt themes and other such fringe things.
And if we're not bundling Gtk3, how can you run e.g. a snapshot of the
next Gimp that uses (say) a later version of Gtk3 than whats in the SDK?
Clearly there are some cases when you *do* want to bundle Gtk at least.

> > * Which files are needed at runtime.
> > * Which other binary-module-subsets are needed at runtime.
> 
> And ideally we just require the runtime image, right ?

By needed here I mean, "needs to be put into the bundle as some code
inside the bundle uses it and its not in the base os". Obviously the
external base-os requirements should be met by the OS image. This is all
about how you create a bundle.




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