1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [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)
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Library%20policy%20query%3A%20What%20do%20we%20do%20when%20SONAME%0A%09includes%20both%20major%20and%20minor%3F%20%28Re%3A%20%5Bchangelog%5D%20%5BRPM%5D%0A%09cauldron%20core/release%20kdelibs4-4.9.0-2.mga3%29&In-Reply-To=%3C10614520.IBvc66st52%40localhost%3E">
<META NAME="robots" CONTENT="index,nofollow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<LINK REL="Previous" HREF="017899.html">
<LINK REL="Next" HREF="017901.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[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)</H1>
<B>Nicolas Lécureuil</B>
<A HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Library%20policy%20query%3A%20What%20do%20we%20do%20when%20SONAME%0A%09includes%20both%20major%20and%20minor%3F%20%28Re%3A%20%5Bchangelog%5D%20%5BRPM%5D%0A%09cauldron%20core/release%20kdelibs4-4.9.0-2.mga3%29&In-Reply-To=%3C10614520.IBvc66st52%40localhost%3E"
TITLE="[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)">nicolas.lecureuil at free.fr
</A><BR>
<I>Thu Aug 2 11:35:55 CEST 2012</I>
<P><UL>
<LI>Previous message: <A HREF="017899.html">[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)
</A></li>
<LI>Next message: <A HREF="017901.html">[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)
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#17900">[ date ]</a>
<a href="thread.html#17900">[ thread ]</a>
<a href="subject.html#17900">[ subject ]</a>
<a href="author.html#17900">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Le jeudi 2 août 2012 10:31:04 Pascal Terjan a écrit :
><i> On Thu, Aug 2, 2012 at 10:17 AM, Colin Guthrie <<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">mageia at colin.guthr.ie</A>>
</I>wrote:
><i> > 'Twas brillig, and Balcaen John at 02/08/12 10:01 did gyre and gimble:
</I>><i> >> Le jeudi 2 août 2012 09:28:28 Colin Guthrie a écrit :
</I>><i> >>> 'Twas brillig, and Christiaan Welvaart at 01/08/12 23:09 did gyre and
</I>><i> >>>
</I>><i> >>> gimble:
</I>><i> >>>> On Wed, 1 Aug 2012, Colin Guthrie wrote:
</I>><i> >>>>> I have to agree here that something is "funny" in the libattica
</I>><i> >>>>> package
</I>><i> >>>>> which ultimately helped to contribute to this issue.
</I>><i> >>>>>
</I>><i> >>>>> e.g. on my system before update (tho' with similar results after):
</I>><i> >>>>>
</I>><i> >>>>> [<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">colin at jimmy</A> ~]$ rpm -q --provides lib64attica0
</I>><i> >>>>> libattica.so.0.3()(64bit)
</I>><i> >>>>> lib64attica0 = 0.3.0-1.mga2
</I>><i> >>>>> lib64attica0(x86-64) = 0.3.0-1.mga2
</I>><i> >>>>> [<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">colin at jimmy</A> ~]$ rpm -ql lib64attica0
</I>><i> >>>>> /usr/lib64/libattica.so.0.3
</I>><i> >>>>> /usr/lib64/libattica.so.0.3.0
</I>><i> >>>>>
</I>><i> >>>>> So I can see how this mistake was made and TBH I could have made the
</I>><i> >>>>> same mistake myself (with the caveat that I likely would not have
</I>><i> >>>>> bumped
</I>><i> >>>>> the version of someone else's package with out confirming first and
</I>><i> >>>>> that
</I>><i> >>>>> it should have been obvious from testing and installing the build)
</I>><i> >>>>>
</I>><i> >>>>> But either way this seems like an issue to fix properly (possibly with
</I>><i> >>>>> an upstream fix or some modification to the library policy when the
</I>><i> >>>>> minor version is "presented" like this).
</I>><i> >>>>
</I>><i> >>>> Good catch! Of course it's never the library policy that's wrong. The
</I>><i> >>>> library major version is apparently 0.4 so the correct package name is
</I>><i> >>>>
</I>><i> >>>> lib64attica0.3 for the previous one
</I>><i> >>>> lib64attica0.4 for the current one
</I>><i> >>>>
</I>><i> >>>> ... in the specfile: %define attica_major 0.4
</I>><i> >>>>
</I>><i> >>>> Can the maintainer of this package please fix this?
</I>><i> >>>>
</I>><i> >>>> To find the version to use, look up the 'soname' of the library. I use:
</I>><i> >>>> readelf -a /usr/lib64/libattica.so.0.4|grep SONAME
</I>><i> >>>>
</I>><i> >>>> =>
</I>><i> >>>> ... Library soname: [libattica.so.0.4]
</I>><i> >>>>
</I>><i> >>>> What follows ".so." is the major version of the library.
</I>><i> >>>
</I>><i> >>> Is that really the correct definition of what a "major" version is?
</I>><i> >>>
</I>><i> >>> I always thought the major was just the first number.
</I>><i> >>>
</I>><i> >>> The library policy certainly doesn't mention "double digit majors" or
</I>><i> >>> similar.
</I>><i> >>>
</I>><i> >>> Is this something upstream is doing deliberately or is it just an
</I>><i> >>> oversight?>>
</I>><i> >> <A HREF="https://projects.kde.org/projects/kdesupport/attica/repository/revisions/">https://projects.kde.org/projects/kdesupport/attica/repository/revisions/</A>
</I>><i> >> master/entry/CMakeLists.txt>
</I>><i> > Actually it's this file/line:
</I>><i> >
</I>><i> > <A HREF="https://projects.kde.org/projects/kdesupport/attica/repository/revisions/m">https://projects.kde.org/projects/kdesupport/attica/repository/revisions/m</A>
</I>><i> > aster/entry/lib/CMakeLists.txt#L120
</I>><i> >
</I>><i> > So it's seems like this was done deliberately due to a ABI breakage a
</I>><i> > while ago:
</I>><i> >
</I>><i> > <A HREF="https://projects.kde.org/projects/kdesupport/attica/repository/revisions/a">https://projects.kde.org/projects/kdesupport/attica/repository/revisions/a</A>
</I>><i> > c2270b1f9c445fd39e48051b99d35d9b9693a34
</I>><i> >
</I>><i> > Now, this is an interesting point (regarding our lib policy) bumping the
</I>><i> > major for an API change and the minor for an ABI change seems kinda
</I>><i> > sensible to me. So how should we deal with that in our policy? Just use
</I>><i> > 0.4 as the "major" value here as Christiaan suggested?
</I>><i>
</I>><i> A minor change is supposed to only add interfaces and be backwards
</I>><i> compatible, that's why it is not in the soname.
</I>><i> If there has been an ABI breakage, the major should be incremented.
</I>
I think that we better should see with attica devs to ask a major increase.
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI>Previous message: <A HREF="017899.html">[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)
</A></li>
<LI>Next message: <A HREF="017901.html">[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)
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#17900">[ date ]</a>
<a href="thread.html#17900">[ thread ]</a>
<a href="subject.html#17900">[ subject ]</a>
<a href="author.html#17900">[ author ]</a>
</LI>
</UL>
<hr>
<a href="https://www.mageia.org/mailman/listinfo/mageia-dev">More information about the Mageia-dev
mailing list</a><br>
</body></html>
|