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

Reply via email to