[Mageia-dev] Library policy query: What do we do when SONAME includes both major and minor? (Re: [changelog] [RPM] cauldron core/release kdelibs4-4.9.0-2.mga3)

Pascal Terjan pterjan at gmail.com
Thu Aug 2 11:15:16 CEST 2012


On Thu, Aug 2, 2012 at 10:11 AM, Pascal Terjan <pterjan at gmail.com> wrote:
> On Thu, Aug 2, 2012 at 10:01 AM, Balcaen John <mikala at mageia.org> wrote:
>> Le jeudi 2 août 2012 09:28:28 Colin Guthrie a écrit :
>>> 'Twas brillig, and Christiaan Welvaart at 01/08/12 23:09 did gyre and
>>>
>>> gimble:
>>> > On Wed, 1 Aug 2012, Colin Guthrie wrote:
>>> >> I have to agree here that something is "funny" in the libattica package
>>> >> which ultimately helped to contribute to this issue.
>>> >>
>>> >> e.g. on my system before update (tho' with similar results after):
>>> >>
>>> >> [colin at jimmy ~]$ rpm -q --provides lib64attica0
>>> >> libattica.so.0.3()(64bit)
>>> >> lib64attica0 = 0.3.0-1.mga2
>>> >> lib64attica0(x86-64) = 0.3.0-1.mga2
>>> >> [colin at jimmy ~]$ rpm -ql lib64attica0
>>> >> /usr/lib64/libattica.so.0.3
>>> >> /usr/lib64/libattica.so.0.3.0
>>> >>
>>> >> So I can see how this mistake was made and TBH I could have made the
>>> >> same mistake myself (with the caveat that I likely would not have bumped
>>> >> the version of someone else's package with out confirming first and that
>>> >> it should have been obvious from testing and installing the build)
>>> >>
>>> >> But either way this seems like an issue to fix properly (possibly with
>>> >> an upstream fix or some modification to the library policy when the
>>> >> minor version is "presented" like this).
>>> >
>>> > Good catch! Of course it's never the library policy that's wrong. The
>>> > library major version is apparently 0.4 so the correct package name is
>>> >
>>> >    lib64attica0.3  for the previous one
>>> >    lib64attica0.4  for the current one
>>> >
>>> > ... in the specfile:   %define attica_major 0.4
>>> >
>>> > Can the maintainer of this package please fix this?
>>> >
>>> > To find the version to use, look up the 'soname' of the library. I use:
>>> >   readelf -a /usr/lib64/libattica.so.0.4|grep SONAME
>>> >
>>> > =>
>>> > ...                    Library soname: [libattica.so.0.4]
>>> >
>>> > What follows ".so." is the major version of the library.
>>>
>>> Is that really the correct definition of what a "major" version is?
>>>
>>> I always thought the major was just the first number.
>>>
>>> The library policy certainly doesn't mention "double digit majors" or
>>> similar.
>>>
>>> Is this something upstream is doing deliberately or is it just an oversight?
>> https://projects.kde.org/projects/kdesupport/attica/repository/revisions/master/entry/CMakeLists.txt
>
> Yet something includes the minor in the soname
>
> This leads to https://lists.fedoraproject.org/pipermail/scm-commits/2011-December/698438.html
> or it being flagged in debian by the package-name-doesnt-match-sonames
> lintian test.

The change https://projects.kde.org/projects/kdesupport/attica/repository/revisions/ac2270b1f9c445fd39e48051b99d35d9b9693a34
is the culprit


More information about the Mageia-dev mailing list