Well, after thinking about this for a few hours, I've reached the opposite
conclusion.  I think we will have a more powerful system if we change the
format of the Shlibs field to include the compatibility version.

Here's how it would work (very similar to debian, actually: see
  http://www.debian.org/doc/debian-policy/ch-sharedlibs.html ).
The Shlibs field would have entries such as

  %p/lib/libfoo.1.dylib 2.0.1 %n (>= 1.2.3-1)

This indicates that this package provides a library whose install-name is
%p/lib/libfoo.1.dylib and whose compatibility-version is 2.0.1 .  It also
indicates that the earliest version of the package which provide this
library with that compatibility-version was 1.2.3-1.

If the fink package is upgraded but the compatibility number of this
library is unchanged, then the next version of the .info file has the
very same Shlibs field.  (The Shlibs field should only change if the
compatibility-version changes.)  The advantage of this approach is less
forced rebuilding of libraries by users.  So long as a user has a version
of the package installed which provides a library meeting the minimum
compatibility version required, the library package won't need to be
rebuilt.

(Under the previous strategy, rebuilding would happen often, because we
were using (>= %v-%r) typically, and we couldn't avoid this because the
compatibility-version might change.)

Another advantage is that, like the debian shlibs format, this has three
fields: name, version-number, package-data.  Due to differences between
ELF and Mach-O, the formats of these fields are different; however, it
may be easier to construct a version of dpkg-shlibs which works with both
debian and fink, with this greater parallel between formats.

Any thoughts?

  -- Dave


-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing 
your web site with SSL, click here to get a FREE TRIAL of a Thawte 
Server Certificate: http://www.gothawte.com/rd524.html
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to