Package: libkres-dev
Version: 3.2.1-1
Severity: grave
Justification: renders package unusable
A little over half of the header files shipped in libkres-dev contain
an #include line that refers to other files in "lib/…", for example:
#include "lib/defines.h"
You can see these with:
grep -n 'include "lib' /usr/include/libkres/*.h
This breaks anything that tries to #include these files directly, with
errors like this:
gcc -o kres-test kres-test.c -lkres
In file included from kres-test.c:1:
/usr/include/libkres/module.h:23:10: fatal error: lib/defines.h: No such
file or directory
#include "lib/defines.h"
^~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:4: kres-test] Error 1
Of the files that don't include such a broken #include, they are
either not particularly useful on their own
(e.g. /usr/include/libkres/defines.h) or they refer to functions not
actually exported by libkres.so
(e.g. /usr/include/libkres/signature.h, which exposes a C header for
kr_authenticate_referral, which is not in libkres.so).
So libkres-dev doesn't really work at all right now, and the
distributed shared object libkres.so.* itself doesn't seem to be
useful for anything other than knot-resolver.
Upstream is planning to eventually produce some sort of functional
library, but they're not clear on what it looks like:
https://gitlab.labs.nic.cz/knot/knot-resolver/merge_requests/770
So i think my earlier attempt at splitting out libkres was overly
optimistic, and will probably roll it back so that we're not shipping
a useless package. When libkres matures, i'm sure we'll be able to
split it out again!
--dkg
-- System Information:
Debian Release: buster/sid
APT prefers testing-debug
APT policy: (500, 'testing-debug'), (500, 'testing'), (200,
'unstable-debug'), (200, 'unstable'), (1, 'experimental-debug'), (1,
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.19.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages libkres-dev depends on:
ii libkres9 3.2.1-1
libkres-dev recommends no packages.
libkres-dev suggests no packages.
-- no debconf information