On 2 Oct 2020, at 10:45, Andreas Tille 
<andr...@fam-tille.de<mailto:andr...@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

Reply via email to