[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pkg-config



On Sun, 2005-09-04 at 01:25 -0700, Steve Langasek wrote:

> > I don't mind making a special case for GNU/Linux but not if that
> > actually only includes Debian. 
> 
> Er, there's nothing Debian-specific about the rationale, and nothing in
> this that would penalize users of Fedora or other GNU/Linux distros.

Yup: seems the argument Steve makes is to use ELF to handle
'down the line' dependencies, since it can do it properly,
in particular assuming the GNU model:

	x.y.z

where changes in x.y represent ABI changes, but changes in z
only represent implementation changes, then:

Suppose A1.1.1 depends on B1.1 and B1.1.1 depends on C1.1

Suppose the ABI of C changes to C1.2.1 and B1.1.2 is upgraded to 
the new C1.2: the ABI of B does not change. 

Then the declared dependency:

	A1.1.1 --> B1.1

will remain correct. But the dependencies

	A1.1.1 -> B1.1
	A1.1.1 -> C1.1

will introduce a conflict, since 

	B1.1.2 -> C1.2

This requires B's maintainer to rebuild the package to redeclare
the dependency, yet A1.1.1 does not need to be rebuilt.
If the dependency on C is not declared, this problem doesn't arise.

If there is a *genuine* conflict, it can still be handled if
all the symbols (both exported and imported) are versioned,
for example if A1.1.1 really did depend on C1.1, then you could
load both C1.1.1 and C1.2.1 .. ASSUMING the libraries are reentrant
(don't have static data).

Pls let me know if I got the argument correct ..?

-- 
John Skaller <skaller at users dot sourceforge dot net>

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: