[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: combined manpage with symlinks to multiple binaries across packages: how to do?



On 07/08/2016 10:47 PM, Jakub Wilk wrote:
> * Patrick Schleizer <patrick-mailinglists@whonix.org>, 2016-07-08, 14:18:
>> Would a combined manpage, i.e. 'man corridor', symlinked to the
>> individual command names (corridor-init-forwarding,
>> corridor-init-snat, ...) be acceptable by Debian policy 
> Yes, this is fine.

If I may piggy-back off here: what's the best way to achieve that if
this crosses binary-package boundaries?

While packaging open-isns [1], I had the following problem: upstream
ships a man page isns_config.5, which covers isnsadm.conf.5,
isnsd.conf.5 and isnsdd.conf.5. But in my case, the programs that use
these config files are all in separate packages (two of them Depend:
on the third though). I ship isns_config.5 with the package that the
other two depend on, and I use dh_link (via .links) to create a link
for isnsadm.conf.5 to isns_config.5 within the same package.

However, in the other two packages, this doesn't work properly:

 - If I also use dh_link/.links here, the link will be created, but
   dh_compress will not treat the link because the target doesn't
   exist within the subtree of the binary package. (It will exist
   on the system because of Depends: on the other package.)

   This causes the symlink to be left alone, which means it will
   be left dangling, because the uncompressed target won't ever
   exist on the system. (Also, lintian complains about an
   uncompressed man page.)

 - If I use dh_installman's ".so" feature to do automatic linking,
   dh_installman will not replace the manpage with a link, because
   it also doesn't see the link target. In that case, I get a
   plain text file installed that just contains
      .so isns_config.5
   Which man doesn't really interpret itself, and which is hence
   completely useless.

 - If I use dh_link/.links to symlink the .gz variant (which does
   not yet exist at the time dh_link is run, but will later because
   dh_compress is run after that), this would work. However, this
   will break if the compression algorithm for man pages is ever
   switched - and thus breaks the abstraction of dh_compress...

Currently, I just copy the man page into the other packages with
the new name, which duplicates a bit of space, and the end result
is not quite as elegant, but appears to be the only solution that
is future-proof.

Am I missing something here?

Regards,
Christian

[1] RFS: https://bugs.debian.org/829242


Reply to: