After some discussion on #fink, I want to modify my message about the shared
libraries policy a bit. Here's the revised version. If you have any
further comments, please discuss them here quite soon, as I plan to add a
statement like this to the documentation in a few days. Also, everyone
should look at the end of this message where I explain my plan for
upgrading packages.
Any package which builds shared libraries and is either (1) being put into
the stable tree, or (2) a new package in fink, should treat its shared
libraries according to fink's policy. This means:
(a) verify, using "otool -L", that the install_name of each library and
its compatibility and current version numbers are correct
(b) put the shared libraries in a separate package (except for the
links from libfoo.dylib to the install_name)
(c) put the headers and the final links from libfoo.dylib into a package
which is classified as "BuildDependsOnly: True", and plan to have
no other package depend on this one.
A maintainer who has reasons to deviate from this policy and not split the
package should explain the reasons in the DescPackaging field.
For some packages, everything can be accomplished with a main package and a
-shlibs package; in other cases you also need a third package. The new
"SplitOff" field actually makes this quite easy.
When three packages are needed, there are two different ways they could be
named, depending on whether the libraries are the most important feature of
the package, or the binaries are the most important feature. The two ways
are:
Shared libraries Headers Binaries etc.
Option 1: foo-shlibs foo foo-bin
Option 2: foo-shlibs foo-dev foo
With option 2 it is harder to upgrade an existing package: at the same
time as you upgrade, you need to add "BuildDepends: foo-dev" to every
package which says "Depends: foo".
* * * * *
It's important to have no new additions to the stable tree, and no brand
new packages, which don't comply with this policy. I would also encourage
each of you, as time permits, to work on upgrading your existing packages.
I will be working on upgrading *all* of the stable packages (and later also
the unstable ones) to compliance with this policy. Once I have made a
splitoff version of a package, I'll deposit it into the shared-libraries
module on CVS, and notify both the maintainer and fink-devel. (In the case
of option 2, I will also be updating the BuildDepends fields of some
related packages, which will also be put into the shared-libraries module.)
If there are no objections, the package will be moved to the unstable tree
a few days later, and if no problems arise will be moved to the stable tree
(when it came from stable) a week after that.
-- Dave
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel