[Debian-med-packaging] Bug#971542: Please enable HTSlib plugins

John Marshall John.W.Marshall at glasgow.ac.uk
Wed Oct 7 10:36:06 BST 2020


On 2 Oct 2020, at 10:45, Andreas Tille <andreas at fam-tille.de<mailto:andreas at fam-tille.de>> wrote:
Please inspect

  https://salsa.debian.org/med-team/htslib/-/commit/88644ba8e4096302d996dae2a0399195e2e53819

That is the right place for configure options.

(and also your hint to the pull request
  https://salsa.debian.org/med-team/htslib/-/commit/84fcfcfda2b0b89d743bc8adb617abdf5cc22d4b )

That looks correct.

See HTSlib's INSTALL file for details. Packagers such as yourselves should set with-plugin-path thus so that plugins in both /usr/local and /usr will be used; If Debian still folds /usr/libexec into /usr/lib or nearby, you may wish to adjust both --with-plugin-dir and --with-plugin-path.

I guess you mean that I need to make sure that
   plugindir=/usr/lib/htslib
right?

There is no need to patch configure.ac to alter this. Just add --with-plugin-dir='$(libdir)/htslib' as another configure option.

I see Debian policy at last now blesses FHS 3.0, which includes libexec. However you may not wish to be in the vanguard of this, so that /usr/lib/ARCH/htslib would indeed appear to be the existing-Debian-style appropriate place under /usr. For /usr/local, any third-party instructions are likely to recommend installing their plugin into /usr/local/libexec/htslib, so I would recommend configuring with

--enable-plugins --with-plugin-dir='$(libdir)/htslib' --with-plugin-path='/usr/local/lib/htslib:/usr/local/libexec/htslib:$(plugindir)'

as being the most flexible for your users. (These directories are just scanned for files matching hfile_*.so; it is not an error if any of them does not exist.)

BTW it looks like htslib-s3-plugin.7.gz has ben placed in libhts3 basically by default, although that is the right package for it. IMHO that would also be the right package for man5/*.5.gz as these are man pages aimed at users (not just developers) but YMMV.

How can I verify / test the correct setting?

By observing the -DPLUGINPATH=… setting that goes past in the log when plugin.c is compiled; by running `strings` on libhts.so; or by seeing what directories are scanned via e.g. `strace htsfile foo:bar 2>&1|grep O_DIRECTORY`.

Cheers,

    John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20201007/47241c6e/attachment.html>


More information about the Debian-med-packaging mailing list