[csw-maintainers] An idea for a shared libraries policy

Philip Brown phil at bolthole.com
Tue Sep 28 19:57:07 CEST 2010


On 9/28/10, Maciej (Matchek) Blizinski <maciej at opencsw.org> wrote:
>
> Yes, I support that.  I did a quick search and found that Debian policy
> says:
>
> "The run-time shared library must be placed in a package whose name
> changes whenever the SONAME of the shared library changes. (...)
> Normally, the run-time shared library and its SONAME symlink should be
> placed in a package named librarynamesoversion, where soversion is the
> version number in the SONAME of the shared library."
>
> http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-runtime


Hmm. Well, it's a good start.
There are two unmentioned issues that come to my mind:
1. where the name is just Really Stupid :)
2. where the name may not neccessarily imply, "hey this is a library".

For those cases, I'm a little leery of going with a hard line "name
must exactly match SONAME" policy.
I think that having that as a guideline would be okay though.


> I could write a checkpkg test: if there's a shared in /opt/csw/lib
> (including ISA subdirectories), and has a SONAME, the pkgname must
> conform to:
>
> CSWlibrarynamesonameversion or CSWlibraryname-sonameversion
>

See above. I dont think it should be put as a blocking checkpkg test.

Also, theres the issue that this is an OPTIONAL split-out.
We were talking about doing this for *some* shared libs, but not all.

But just to be nitpicky...

> If it's not under /opt/csw/lib, or is not a binary, or not a shared
> library, or doesn't have a soname, then the rule doesn't apply.

If it doesnt have a soname, then things default to using the filename,
I believe. so we'd still need to have the package name change if the
filename changed.


More information about the maintainers mailing list