[haiku-development] Re: Question about /system and /boot/system
- From: Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
- To: haiku-development@xxxxxxxxxxxxx
- Date: Wed, 02 Mar 2011 10:45:00 +0100
Hi Truls,
On 2011-03-02 at 00:04:11 [+0100], Truls Becken <truls.becken@xxxxxxxxx> wrote:
> On Tue, Mar 1, 2011 at 20:25, Oliver Tappe wrote:
>
> > when looking at the restructured folder hierarchy with respect to
> > find_directory(), I have realized that it has become quite a mess :-\
> >
> > This is the current hierarchy (in the pm branch):
> >
> > [..snip..]
> >
> > For starters, I wonder where /system should point to: currently, /system
> > points to /boot/system, but that folder just contains the 'packages'
> > subfolder. While correct in principle, it means that stuff like
> > /system/bin
> > and /system/add-ons no longer work. I have no idea whether or not that is
> > going to be a problem with many legacy applications and/or scripts.
>
> In a thread back in january [1], I made a suggestion about letting
> /boot/system and /boot/common be both the package-fs mount point and
> at the same time hold a couple of "real" directories (packages,
> settings). I don't know if anybody noticed and considered it as an
> option back then, but it might solve some problems.
When you suggested that, I didn't pick up on the notion of just making a few
folders "real" in that scenario. I apparently thought you were suggesting a
union-fs like
approach (which I find problematic because of the awkward "shadowing" effect of
written/copied files).
But what you mentioned above can be implemented just by letting packagefs
automatically bind-mount the "packages" and "settings" folders.
> As far as I can see, it has these (dis)advantages:
>
> + Good for backward compatibility
+ Simplifies the conversion of ported software to packages a lot.
> + Short (sane) paths to e.g. /boot/system/apps
> + No need for B_SYSTEM_PACKAGES_CONTENTS
> - Confusing to have package contents mangled with actual folders
> - Can't use both package based and manually organized files, as in [2]
Yep, we could solve the latter by explicitly providing an 'old-school' or
'legacy' folder (or whatever else would be a good name for it). That could both
be used for
testing software during development and for installing software that isn't
available as hpkg.
I personally find the approach of mixing packages with a set of writable
folders not very confusing, but quite appealing, actually :-) After all, the
settings folder has to
be populated from the hpkg-files anyway, so packagefs would have to write
outside of its container in the other (current) scenario.
And when working on porting the development tools over to the current
structure, I did find the long paths quite awkward indeed ...
Any opinions?
cheers,
Oliver
P.S.: I know I might be getting on people's nerves with my constant questions
about the folder structure, but these are important decisions and changing them
around at a
later stage (once software has been packaged) would be a lot of work.
Other related posts: