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

Reply via email to