Daniel P. Berrangé <berra...@redhat.com> writes:

> The traditional way is for developers to update the dependancies to have
> an explicit version against the library they require. eg if libvirt requires
> some symbol introduced in nettle x.y, the maintainer would add
>
>   Requires: nettle >= x.y
>
> the problem is that humans are fallible and so these versioned dependancies
> frequently get missed, because package maintainers don't often have accurate
> info on which min version is needed by a build.

I agree it's going to be a bit brittle to do that manually. E.g., in the
example at hand, the package source code only used the old nettle_hashes
symbol, but the new version of nettle headers turned that into a macro
calling a new function.

What I would suggest is filling out the >= x.y automatically based on
the version of nettle header files actually used when compiling the
package. As far as I see, that should be both reliable and fairly easy
(get the version either from package metadata, or from nettle/version.h,
whatever fits the package building tools best). It might sometimes
produce an unnecessarily strict dependency (specifying a version higher
than really necessary), but I think that's a lot better then erring in
the other direction.

> The only scope for errors here is when the
> nettle developers are creating the symbol version file,

That's me... And I imagine we'll get into the territory of subtle
breakages the first time I mess up an update to that file.

> and this is pretty
> minor IME maintaining such version files for libvirt.

How do you write testcases to verify that the version list is correct?

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.
_______________________________________________
nettle-bugs mailing list
nettle-bugs@lists.lysator.liu.se
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to