[haiku-development] Re: alpha release window ?

  • From: Truls Becken <truls.becken@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 11 Aug 2009 11:50:47 +0200

Brecht Machiels wrote:

> Due to libs breaking compatibility even across minor versions, it is
> impossible to predict which versions of a library will an app work with.
> Therefor, it is necessary to have a of database storing which apps work with
> which versions of a library, dynamically maintained by the users. This is
> described on the wiki page.
>
> You *could* tie an application to one particular version of a lib, but then
> you could have for example libfoo-1.2.3 and libfoo-1.2.4 both installed,
> while it might not be necessary, when all installed apps are happy with
> either.

That's why it's common to create multiple symlinks, like this;

libfoo.so -> libfoo.1.2.4.so
libfoo.1.so -> libfoo.1.2.4.so
libfoo.1.2.so -> libfoo.1.2.4.so

That way, the developer can choose how strict he wants to link his app
against particular versions. He could require v1, v1.2, v1.2.3, or not
care.

BUT, as you mention in the first paragraph above, defining the version
requirements in the package dependencies is desirable. Also, those
requirements can be more complex than the linker options - e.g. the
version must be >= 1.2.3 and != 1.3.5.

For this to work, I guess the apps should just link against libfoo.so,
and some pkgfs tricks would be needed to point each app to a suitable
version.

-Truls

Other related posts: