soname libserf-1.so.1.3.0
Dagobert Michelsen
dam at opencsw.org
Sun Jan 26 21:24:32 CET 2014
Hi Rupert,
Am 26.01.2014 um 21:07 schrieb rupert THURNER <rupert at opencsw.org>:
> On Sun, Jan 26, 2014 at 8:09 PM, Maciej (Matchek) Bliziński <maciej at opencsw.org> wrote:
> 2014-01-26 rupert THURNER <rupert at opencsw.org>
>
> rupert @ unstable10x : ~/opencsw/libserf/trunk
> $ elfdump -d /opt/csw/lib/libserf-1.so.1.3.0 | grep SONAME
> [18] SONAME 0x1cd7 libserf-1.so.1
>
> Right, so the soname is "libserf-1.so.1".
>
>
> why we have the soname then "libserf-1.so.1" and not "libserf.so.1", and why we name the libary package then CSWlibserf1-1 and not CSWlibserf-1?
>
> If the soname were "libserf-1.so" or "libserf.so.1", the package name would be CSWlibserf1, without the dash. The syntax for package names is CSW<name><number>(-<number>)+. If there is more than one number, all numbers are listed separated by dashes. Here's a list of examples:
>
> http://www.opencsw.org/manual/for-maintainers/shared-libraries.html#package-naming
>
> You wrote that the new libserf has a new soname, what was the old soname?
>
> i mixed up filename and soname - and i am still confused with the package names resp sonames. why it is libserf-1.so.1 and not libserf.so.1?
Because upstream decided so :-) The base name is libserf-1.so, that means the minor version is part of
the immutable base filename. Strange, but thats the way it is.
> $ pkginfo -l CSWlibserf1-0
> VERSION: 1.1.1,REV=2012.11.06
>
> $ grep CSWlibserf1- /var/sadm/install/contents
> /opt/csw/lib/libserf-1.so.0=libserf-1.so.0.0.0 s none CSWlibserf1-0
>
> $ elfdump -d /opt/csw/lib/libserf-1.so.0.0.0 | grep SONAME
> [21] SONAME 0x1aeb libserf-1.so.0
>
> $ pkginfo -l CSWlibserf1-3
> VERSION: 1.3.3,REV=2013.12.24
>
> $ elfdump -d /opt/csw/lib/libserf-1.so.1.3.0 | grep SONAME
> [18] SONAME 0x1cd7 libserf-1.so.1
>
> i checked on ubuntu and there it is strange as well:
>
> $ sudo wajig listpackages serf
> ii libserf1:i386 1.1.0-2ubuntu1 i386 high-performance asynchronous HTTP client library
> $ sudo wajig listfiles libserf1:i386
> /usr/lib/i386-linux-gnu/libserf-1.so.0.0.0
> /usr/lib/i386-linux-gnu/libserf-1.so.0
>
> $ objdump -p /usr/lib/i386-linux-gnu/libserf-1.so.0.0.0 | grep SONAME
> SONAME libserf-1.so.0
Yes, confusing. Sometimes there is a correspondence between version, name and soname, but not here.
The soname is what counts and because it is the important part our package naming is straight after soname.
So the first „1“ in CSWlibserf1-1 is for the name „libserf-1“ and the second „1“ is for the version of the soname.
Best regards
— Dago
--
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opencsw.org/pipermail/maintainers/attachments/20140126/bd5b2a79/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2351 bytes
Desc: not available
URL: <http://lists.opencsw.org/pipermail/maintainers/attachments/20140126/bd5b2a79/attachment.p7s>
More information about the maintainers
mailing list