liblowdown: add a symlink for the install phase
Hello,
Is it possible to add a symlink after the install in the DESTDIR?
NOTE: I also noticed that the permissions of liblowdown is not good after the install.
On what system is this standard practice? On OpenBSD and Linux, for example, this doesn't seem to be the case. The perms for all libraries are 444, which at least on OpenBSD is rewritten to 644 by pkg_add. What's the problem with 444 permissions?
I was just looking over the lowdown packages I maintain for Alpine. On a recent update I split out the lowdown-libs package as it seemed more in line with the Alpine way. That package contains only:
/usr/lib/liblowdown.so.1
The lowdown-dev package contains:
/usr/include/lowdown.h
/usr/lib/liblowdown.a
/usr/lib/pkgconfig/lowdown.pc
I'm wondering if it's missing a needed unversioned symlink?
An Alpine developer explained here:
Many Linux distributions (e.g. Alpine Linux and Debian) split packages into multiple subpackages. For instance, library development headers are usually separated from .so files since the former are commonly not needed as a run-time dependency. As part of this split, only versioned sonames are commonly provided by library packages (e.g. libexample.so.4.2.0), the symbolic link to the current .so (e.g. libexample.so -> libexample.so.4.2.0) is provided in a separate development subpackage for every library. This is done to ensure that the unversioned .so symbolic link is only used during compilation, for loading purposes a versioned .so name should always be used. This eases rebuilding packages on ABI changes (i.e. soname version bumps).
Debian packager here -- a symlink is indeed required, so that cc -llowdown works. It looks like the symlink is generated by the Makefile, just not installed in DESTDIR. So just copying it to LIBDIR alongside the versioned file should do the trick.