[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: symbols file handling Was: Bug#829692: RFS: libu2f-host/1.1.2-0.1 [NMU] -- library for Universal 2nd Factor



On 07/06/2016 11:30 AM, Gianfranco Costamagna wrote:
> 
> Basically, the debdiff is not showing ABI incompatible changes
> (please double check, I'm really far from being expert)

Changes in the header files:

 - u2fh_rc (return code for lots of functions) got an additional
   enum value, but the old ones remained the same

 - no other scalar data types (typedef, enum) have changed

 - no function had any parameters changed

 - pointers are either pointers to elementary data types (char *)
   or opaque (i.e. the underlying data structures are not part of
   the ABI because they are not visible to library users)

 - only new functions have been added

So yes, I believe that's ABI compatible as well.

(Also, the fact that upstream uses symbol versioning, and uses
it correctly, indicates to me that they understand this, and this
gives me confidence in that they are unlikely to screw up when it
comes to ABI-compatibility.)

> so, I would have changed the symbols file in this way:
> libu2f-host.so.0 libu2f-host0 #MINVER#
> U2F_HOST_0.0@U2F_HOST_0.0 0.0
> + U2F_HOST_1.1@U2F_HOST_1.1 1.1.2
> u2fh_authenticate@U2F_HOST_0.0 0.0
> + u2fh_authenticate2@U2F_HOST_1.1 1.1.2
> u2fh_check_version@U2F_HOST_0.0 0.0
> u2fh_devs_discover@U2F_HOST_0.0 0.0
> u2fh_devs_done@U2F_HOST_0.0 0.0
> u2fh_devs_init@U2F_HOST_0.0 0.0
> u2fh_get_device_description@U2F_HOST_0.0 0.0
> u2fh_global_done@U2F_HOST_0.0 0.0
> u2fh_global_init@U2F_HOST_0.0 0.0
> u2fh_is_alive@U2F_HOST_0.0 0.0
> + u2fh_register2@U2F_HOST_1.1 1.1.2
> u2fh_register@U2F_HOST_0.0 0.0
> u2fh_sendrecv@U2F_HOST_0.0 0.0
> u2fh_strerror@U2F_HOST_0.0 0.0
> u2fh_strerror_name@U2F_HOST_0.0 0.0
> I hope my solution is correct :)

Yes, that's more or less what I would have done. But I suspect
that the new symbols were added in 1.1, not 1.1.2, so I'd maybe
use that as the minimum version. (After checking the upstream
tarball.) Not terribly important, because 1.1.0 was never
packaged for Debian, but I like it when things are more correct.

Regards,
Christian

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: