[pkg-gnupg-maint] dirmngr dependency

Andreas Metzler ametzler at bebt.de
Sat Aug 6 12:22:05 UTC 2016

On 2016-08-05 Daniel Kahn Gillmor <dkg at fifthhorseman.net> wrote:
> On Fri 2016-08-05 14:42:06 -0400, Andreas Metzler wrote:
>> typedef enum foo_args_t {
>>         FOO_BLAH = 2,
>>         FOO_BAR = 1
>>         } foo_args;
>> const char * foo(foo_args_t argument)
>> The enum foo_args_t will be extendend (FOO_ANOTHER = 3) if foo() is
>> changed to accept FOO_ANOTHER as argument. dpkg-gensymbols will not
>> notice this change. However the version of foo() in the symbol file
>> needs to be bumped, because a program built against the newer library
>> might use foo(FOO_ANOTHER), which will only work with the newer version
>> afaiui.

> yes, i see your point.  There are other (non-enum) examples of API
> breakage that symbols files cannot detect either (e.g. subtle changes of
> semantics of the function, acceptance of NULL arguments where
> non-NULL was previously required, etc).

> So i tend to think of the symbols file as just being what it simply
> appears to be on its face: a representation of when a given function was
> first introduced.

> if we wanted to represent other changes, it seems like it'd be good to
> have a more explicit way to do so.

> The advantage of going with the simple interpretation is that it's
> mechanically verifiable, and doesn't require any additional human
> insight or cognition when dealing with new upstream versions.


<Looking into policy ...> Oh dear, looks like we could have saved
ourselves the whole dialogue. It is documented there perfectly, even with
a enum example. Sorry.

>> The Build-Depends-Package line causes dpkg-shlibdeps to generate a
>> dependency that is the greater of the version specified in the
>> build-dependency on libksba-dev and the version that would be generated
>> according to the symbol file. i.e. with gnupg2 currently having a
>> build-depends on libksba-dev (>= 1.3.4) libksa8 depency would
>> automatically be versioned with at least (>= 1.3.4).

> oh, very cool!  this is definitely a better option.  can you point me to
> where this is documented?

I am pretty sure I have not found this myself but had copied from
somewhere originally. ;-) It is documented in deb-symbols(5).

> I've clearly read the wrong documentation (or
> failed at skimming the right documentation).  Is this a change you'd
> make in libksba8, or would i somehow need to do it in packages which
> build-depend on libksba8 ?

I have uploaded libksba 1.3.4-4 with a symbol file including this
feature, next rebuild of gnupg should have the stronger dependency.

cu Andreas
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'

More information about the Pkg-gnutls-maint mailing list