[haiku-development] Re: Package manager

  • From: Stephan Assmus <superstippi@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 05 Aug 2009 15:25:15 +0200

On 2009-08-05 at 14:47:16 [+0200], Brecht Machiels <brecht@xxxxxxxxxxx> 
wrote:
> Niklas Niklas wrote:
> > On Wed, 05 Aug 2009 13:27:45 +0200
> > Brecht Machiels <brecht@xxxxxxxxxxx> wrote:
> >> Another option is to develop a custom bundle format that includes some 
> >> sort of disk image of the application that can be randomly accessed (I 
> >> is not true for zip archives, I think?). In order to ensure good 
> >> performance, this disk image cannot be compressed (or at least not 
> >> much). That means it will have to be compressed for distribution.
> > 
> > What about tar? Reading from tars isn't difficult AFAIK.
> > 
> > One of the BSDs has a tarfs in userspace. Haiku could too, for looking 
> > inside bundles.
> 
> How doe these archive FSs work? Do they extract a file to a temporary 
> directory or to memory? For games with large datafiles this is not an 
> option.
> 
> Or can they be randomly accessed without any need for an intermediate 
> extraction step. If so, at what performance cost does that come?

"Yes" to your first question. The second question is worth USD 1.000.000. 
Basically, it is what will either make possible or impossible the cool 
package_fs idea that Jonas had. To give a short recap, the package_fs would 
be a transparent overlay over the real filesystem, and blend in libs and 
stuff from "installed" packages. Differently for each user and so on, 
without actually extracting anything.

If decent performance can be maintained after quite a few packages have 
been installed, is the big question here. And I have strong doubts that it 
can be achieved. Maybe it's possible with "caching", similar to what the 
"real" fs does by storing things on-disk. Like an on-disk file system on 
top of another on-disk filesystem, but still separate. If it would be done 
all on the fly, I just cannot imagine it would be fast enough.

Best regards,
-Stephan

Other related posts: