[haiku-development] Re: A modest (FatELF) proposal

  • From: Ingo Weinhold <ingo_weinhold@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Thu, 29 Nov 2012 13:06:32 +0100

On 11/20/2012 12:44 AM, Landon Fuller wrote:
On Nov 19, 2012, at 6:17 PM, Ingo Weinhold wrote:
cons:
[...]
* Probably package management unfriendly.

Fair enough. I agree that there's some wiggle room on the package manager 
question.

I thought a bit about how FatELF could be married with package management. I still have no idea how to distribute fat packages, but keep the ability to strip them locally. I do have an idea how to do the opposite, though.

Since we have packagefs which virtually extracts our packages, we can do all kinds of crazy things. packagefs could virtually merge executables from packages for different ABIs to a FatELF executable. This would allow smooth inter-operation with a FatELF tool chain while still having the ability to install only a single ABI and add/remove other ones at any point.

Whether this works in practice depends on how much overhead it is to create a FatELF binary from regular ELF files. If it is too much, a different, simpler format could be chosen (e.g. expose each individual file's content as an attribute). Since we control runtime loader, kernel, etc. the format doesn't really matter anyway. The FatELF tool chain would need to support that additional format as well, though.

For lazy developers fat packages could be supported. Those wouldn't be strippable, though. Normally, however, the packaging tools should split the FatELF objects and create separate packages. That would be either one complete package for the primary ABI and ELF-files-only packages for all other ABIs or one ABI independent data package plus respective ABI dependent packages. The latter sounds fun, since it would allow for a single repository for all ABIs.

CU, Ingo


Other related posts: