Hello,

On Mon, Mar 06, 2017 at 01:51:58PM +0100, Andreas Beckmann wrote:
> Source: quagga
> Version: 1.1.1-1
> Severity: serious
> User: debian...@lists.debian.org
> Usertags: piuparts
> 
> Hi,
> 
> during a test with piuparts I noticed libquagga-dev contains a
> a broken symlink: /usr/lib/x86_64-linux-gnu/libzebra.so -> libzebra.so.0
[...]

So, libzebra.so.* is now libzebra.so.1 instead of .0

I see two options here...

a/ drop the libzebra* (compatibility?) symlinks that's been carried since
   forever since hopefully they are no longer needed. The ABI (and API?)
   has even been broken since libzebra.so days.

b/ hope that despite the ABI (and API?) break, most old code still compiles
   against libquagga.so.1 and bump the compat symlink so
   libzebra.so points to libzebra.so.1


While looking at this I also noticed another (somewhat related) issue.
The links file seems to hard-code amd64 multi-arch triplet in
http://sources.debian.net/src/quagga/1.1.1-1/debian/libquagga-dev.links/
which is likely very wrong on any other architecture.

Two possible soutions for that would be:

x/ add dh-exec as build-dependency, chmod +x libquagga-dev.links
   and use dh-exec shebang and a multi-arch-triplet variable expanded
   by dh-exec at build time.
   See https://manpages.debian.org/stretch/dh-exec/dh-exec-subst.1.en.html

y/ create the symlinks directly from debian/rules instead of using a
   debian/*.links file, where the multi-arch triplet should also be
   available via some variable.

Advice on which alternative is preferred (by the maintainer) welcome!

Regards,
Andreas Henriksson

Reply via email to