Re: libbson soname alias removal

2016-10-13 Thread Tomas Mraz
On Čt, 2016-10-13 at 14:32 +, Petr Pisar wrote:
> On 2016-10-13, Tom Hughes  wrote:
> > 
> > 
> > In other words, does the soname need to change?
> > 
> The soname did not change. But packages built against older library
> linked to versioned symbols. Thus they had to be rebuild.
> 
> I'm not very verse in version symboling. If you think the removal
> requires bumping soname (technically probably yes because you simply
> cannot run the old executable against the new library), you can try
> to
> explain it to the upstream. At the and it's only a release candidate.
> But be prepared they are quite obstinate about this packaging stuff.

I do not think it is worth it. Effectively rpm dependencies detect this
breakage anyway so there is no need to change the soname.

-- 
Tomas Mraz
No matter how far down the wrong road you've gone, turn back.
  Turkish proverb
(You'll never know whether the road is wrong though.)


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: libbson soname alias removal

2016-10-13 Thread Petr Pisar
On 2016-10-13, Tom Hughes  wrote:
> On 13/10/16 14:05, Tom Hughes wrote:
>> On 13/10/16 13:50, Petr Pisar wrote:
>>
>>> libbson-1.5.0-0.1.rc2.fc26 removes soname aliases visiable on RPM level
>>> as "libbson-1.0.so.0(LIBBSON_*)(64bit)" provides and keeps
>>> "libbson-1.0.so.0()(64bit)" only.
>>
>> That's not an "soname alias" it's a symbol versioning provide.
>>
>> So are you saying that this library has stopped using symbol versioning?
>
> I think https://jira.mongodb.org/browse/CDRIVER-1347 is likely the root 
> cause although I don't see where the code they removed was actually 
> setting the specific versions.
>
> So it seems they changed how they export the symbols and hide private 
> symbols, but the question is whether the new ABI can really be described 
> as unchanged if there used to be five different ABIs supported in the 
> same library and now there is only one!
>
Technically, the versioned symbols disappeared. The unversioned symbols
remained. The reality was that the symbol versioning in the libbson was
never properly used and updated.

> In other words, does the soname need to change?
>
The soname did not change. But packages built against older library
linked to versioned symbols. Thus they had to be rebuild.

I'm not very verse in version symboling. If you think the removal
requires bumping soname (technically probably yes because you simply
cannot run the old executable against the new library), you can try to
explain it to the upstream. At the and it's only a release candidate.
But be prepared they are quite obstinate about this packaging stuff.

-- Petr
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: libbson soname alias removal

2016-10-13 Thread Tom Hughes

On 13/10/16 14:05, Tom Hughes wrote:

On 13/10/16 13:50, Petr Pisar wrote:


libbson-1.5.0-0.1.rc2.fc26 removes soname aliases visiable on RPM level
as "libbson-1.0.so.0(LIBBSON_*)(64bit)" provides and keeps
"libbson-1.0.so.0()(64bit)" only.


That's not an "soname alias" it's a symbol versioning provide.

So are you saying that this library has stopped using symbol versioning?


I think https://jira.mongodb.org/browse/CDRIVER-1347 is likely the root 
cause although I don't see where the code they removed was actually 
setting the specific versions.


So it seems they changed how they export the symbols and hide private 
symbols, but the question is whether the new ABI can really be described 
as unchanged if there used to be five different ABIs supported in the 
same library and now there is only one!


In other words, does the soname need to change?

Tom

--
Tom Hughes (t...@compton.nu)
http://compton.nu/
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: libbson soname alias removal

2016-10-13 Thread Tom Hughes

On 13/10/16 13:50, Petr Pisar wrote:


libbson-1.5.0-0.1.rc2.fc26 removes soname aliases visiable on RPM level
as "libbson-1.0.so.0(LIBBSON_*)(64bit)" provides and keeps
"libbson-1.0.so.0()(64bit)" only.


That's not an "soname alias" it's a symbol versioning provide.

So are you saying that this library has stopped using symbol versioning?

Tom

--
Tom Hughes (t...@compton.nu)
http://compton.nu/
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


libbson soname alias removal

2016-10-13 Thread Petr Pisar
libbson-1.5.0-0.1.rc2.fc26 removes soname aliases visiable on RPM level
as "libbson-1.0.so.0(LIBBSON_*)(64bit)" provides and keeps
"libbson-1.0.so.0()(64bit)" only.

The 1.5.0-rc2 will be pushed into rawhide only and I will rebuild the
three affected packages there:

mongo-c-driver-1.3.5-6.fc26.src.rpm
perl-MongoDB-1.4.5-1.fc26.src.rpm
php-pecl-mongodb-1.1.8-4.fc26.src.rpm

-- Petr
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org