On 09/25/2013 02:31 AM, Jessica Hamilton wrote:
Whilst there's already a physical file-system layout to [mostly] match what should be expected from a non-PM point of view, the whole "non-packaged" thing completely takes away from the simplicity of Haiku. And given that you've already implemented the equivalent of a union filesystem, perhaps the ideal would be to get rid of the read-only directories, and use the "non-packaged" directories as writeable overlays.
packagefs is not the equivalent of a union FS. It only has a single read-only layer. Having at least two layers with a writable top layer is what makes a union FS relatively complex.
This way, stuff could still be manually written to the packagefs mount points, with the writes being transparently passed through to the underlying filesystem under "non-packaged". Of course, I'd expect files from packages themselves to still remain read-only. A possible upshot of this may be that you could even shadow files that come from packages. You could go so far to allowing what appears to be changes to package files by transparently copying them into the underlying filesystem and making modifications there.
Stephan already replied to that, but let me add/stress two points:When looking at the file system you would no longer be able to see (at least not easily) which files stem from packages and which don't. White-outs and shadowed files will add quite a bit of confusion, particularly when updating the packages underneath them. This is not making things simpler, IMO.
Once most software has been packaged, the non-packaged directories will only rarely, if ever, be used by most users. I don't think the concept that non-packaged stuff has to be installed in one of the non-packaged directories is particularly hard to grasp, anyway. It's just a readjustment for people, now.
BTW, several years ago, before really starting with the package management implementation, we discussed using a union FS and decided against it. If you're interested, you can probably find that discussion in the list archives.
CU, Ingo