Also unset the private library if set and make libfprint to only link
with the tod one.
This fixes the issue we had with wrong symbols shared by multiple
libraries
We have an issue where some symbols are exposed by both the tod library
and the public one, and this may lead to big issues like GType's being
defined multiple times.
So add a test checking whether this is working
See: 3v1n0/libfprint#1
Newer fprintd supports duplicate-detection, this implies sending to the
device an empty prints gallery, expecting the device to give us a
matched print against its storage.
In case the device has no storage we're doing this anyway, but goodix
doesn't handle this properly, so let's just ignore the case if no prints
are passed.
Given that we won't go in the past, it's better to be explicit in
using versions for symbols so that all new symbols will be added to the
latest listed release, while others won't be moved from where they are.
Expose new versioned symbols that work with previous API so that we can
keep compatibility with old drivers without having to recompile them.
We disable the GCancellable API in delayed SSM actions since that was
something that wasn't really needed and prone to errors, instead of
just re-implementing it as it was in the TOD case.