[haiku-development] Re: Question about /system and /boot/system

  • From: Stephan Aßmus <superstippi@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 02 Mar 2011 18:44:44 +0100

On 02.03.2011 18:20, Truls Becken wrote:
On 2011-03-02, at 15:49, Stephan Aßmus wrote:
[idea snipped]
The idea seems appealing. A few comments:

1) When Haiku goes multi-user, the single package-fs mount point would have to 
show different contents for each user.

Yes, Oliver mentioned that, too, and it didn't occur to me as a problem. I don't know how complicated the solution would be respectively how much effort... but it needs to be dealt with of course, should the idea be implemented.

2) I guess some system files, like the kernel, can't live in packages?

In fact I seem to recall only the boot loader (haiku_loader), which itself is package-fs aware, would not be inside a package.

3) It shares some of the confusion potential of union-fs, sans direct 
manipulation of files giving unexpected results (since you can't directly 
manipulate the files). It might help to show full path to the hpkg in an 
attribute on each file.

After sending the mail, that occured to me as well, and I came to the very same solution. The problem is not that one can't distinguish whether some file is a user/common/system file, but one wants to know which package it comes from. That would be true regardless of whether package trees are merged. And from that information, the user/common/system information can be derived as well (the package location reveals it).

Yes, the package-fs needs to deal with collusions anyway, but they should 
happen rarely (a linux-style package manager would refuse to install colliding 
packages, but since there is no install step with the Haiku package manager, 
that's not an option)

I think dropping packages into the right location will be discouraged, since then no dependency resolution takes place.

4) Ryan indicated that the system files should be in a single package (updated 
with binary diffs). I don't know if this is the consensus, but if so, it 
wouldn't make sense to put it in its own directory. You could simply have 
/boot/packages contain both the common packages and the read-only haiku_r1.hpkg 
or core_system.hpkg.

I don't think that's how it should be done. I'd personally prefer multiple packages based on part of the system. I'm thinking it would also be neat to keep multiple version of a package, and package-fs reveals the newest version. That would make rollbacks pretty easy. Not something mandatory, though.

5) It just occurred to me: /boot/system was not there on BeOS, was it? Wasn't it 
/boot/beos, but had a subdirectory called system? (And perhaps it had a symlink 
/system ->  /boot/beos/system, Ingo?)

Yes, /boot/system is Haiku specific. I am pretty sure that /system mapped to /boot/beos/system on BeOS. The Haiku hierarchy is cleaner, though, IMHO.

Best regards,
-Stephan

Other related posts: