Re: Application bundles in Gnome OS



On Thu, 2012-09-13 at 19:01 +0200, Alexander Larsson wrote:

> https://github.com/alexlarsson/bundler
> 
> It basically just loopback mounts a squashfs file in a private mount
> namespace in a hardcoded place and execs a hardcoded binary name from
> it. There is no desktop integration and no other flexibility, although
> things like that *could* be introduced by a separate daemon that
> extracts metadata from "installed" bundles.

Right.

You could go even more minimal - an application is literally just an
executable installed in /opt/globally-unique-name.

It's not clear to me that it's a good idea to mandate use squashfs or
something like that - yes, you save disk space, but at a runtime cost.
Demand paging becomes more complex; reading in that next page may
involve a substantial amount of decompression.

Perhaps applications you never use might periodically get compressed,
but if you start to use them, they should remain uncompressed and start
quickly.

There is one runtime feature that I think should be mandated - a cache
directory writable (and executable) by the application, separate from
the home directory.

This would be the place where extremely large games (think World of
Warcraft) would store cached data, streaming it from the Internet.

This route is the total opposite from what Ubuntu is looking at with
their application upload process.  But I think it's most interesting to
look at what features are needed *fundamentally*, and what is
conceptually sugar on top.

Core data files like translations could just as easily be embedded ELF
resources (as you know being the author of GResource, but worth
mentioning for others).

Don't get me wrong, it clearly makes sense to make it easy to support
apps as we have them today (e.g. Epiphany has .mo files, .glade files, a
DBus service, and its own extension system). 

One final thing - I'd love if whatever bits we have on the application
source side are focused around git repositories as input.  The build
system should just Do The Right Thing when presented with one.

We don't want to glorify package systems or whatever binary formats.  We
should reward people working on Free Software applications in git
repositories.




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