[haiku-development] Re: Removing /boot/common

  • From: Ingo Weinhold <ingo_weinhold@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 06 Oct 2013 16:39:19 +0200

On 10/06/2013 12:25 PM, Axel Dörfler wrote:
On 09/22/2013 12:31 PM, Ingo Weinhold wrote:
 > Since there can be certain dependencies between packages (e.g.
 > relative symbolic links or built-in relative paths) -- usually in
 > case when software belonging to a single port is broken up into
 > different packages (e.g. there are 6 git packages) -- certain
 > packages must be installed in the same location as other packages.

Do you have some striking examples for that? At least it sounds to me
like a "fix the damn software" kind of problem. Can you help with that?

Well, actually git (and other software) does it kind of the right way. It usually sucks when software hard-codes their installation paths at compile time, since then it can only be installed there and cannot be moved anywhere else. We solved that problem (well, mostly solved it) by using the package links indirection, so a package works in any installation location.

The various git components only use relative paths to refer to each other (or probably, rather to the core components), so git can be installed anywhere. While this is nice, breaking git up into different packages means they have to be installed in the same installation location or otherwise won't find the files they depend on.

I'm sure this can be "fixed" by hard-coding absolute paths. I have no clue how much work that would be. Given that until recently we hadn't even managed to move the configuration file from $HOME to the settings directory (and apparently I even messed that up (cf. #10030 [1])), I don't think it is advisable to do anything that requires this kind of changes. It's also something that very likely cannot be upstreamed, i.e. has to be maintained forever.

In case that wasn't clear yet, package maintenance is a huge amount of work. I would say most of the time of our contracts (or at least a major part of it) Oliver and I worked on packages. Only the packages needed for the release builds. And most of them are nowhere near "perfect" yet. So I'd be very careful with any feature that requires additional changes in ported software.

CU, Ingo

[1] http://dev.haiku-os.org/ticket/10030


Other related posts: