avocado icon indicating copy to clipboard operation
avocado copied to clipboard

lintian: `no-man-page`

Open arif-ali opened this issue 11 months ago • 7 comments

As part of Debian packaging, lintian reports that issue where the binaries that are being shipped don't have man pages.

Below is the warning we get from the lintian program in Debian

W: python3-avocado: no-manual-page [usr/bin/avocado-external-runner]
N: 
N:   Each binary in /usr/bin, /usr/sbin, /bin, /sbin or /usr/games should have
N:   a manual page
N:   
N:   Note that though the man program has the capability to check for several
N:   program names in the NAMES section, each of these programs should have its
N:   own manual page (a symbolic link to the appropriate manual page is
N:   sufficient) because other manual page viewers such as xman or tkman don't
N:   support this.
N:   
N:   If the name of the manual page differs from the binary by case, man may be
N:   able to find it anyway; however, it is still best practice to match the
N:   exact capitalization of the executable in the manual page.
N:   
N:   If the manual pages are provided by another package on which this package
N:   depends, Lintian may not be able to determine that manual pages are
N:   available. In this case, after confirming that all binaries do have manual
N:   pages after this package and its dependencies are installed, please add a
N:   Lintian override.
N: 
N:   Please refer to Manual pages (Section 12.1) in the Debian Policy Manual
N:   for details.
N: 
N:   Visibility: warning
N:   Show-Always: no
N:   Check: documentation/manual
N:   Renamed from: binary-without-manpage
N: 
N:
W: python3-avocado: no-manual-page [usr/bin/avocado-runner-asset]
N:
W: python3-avocado: no-manual-page [usr/bin/avocado-runner-avocado-instrumented]
N:
W: python3-avocado: no-manual-page [usr/bin/avocado-runner-dry-run]
N:
W: python3-avocado: no-manual-page [usr/bin/avocado-runner-exec-test]
N:
W: python3-avocado: no-manual-page [usr/bin/avocado-runner-noop]
N:
W: python3-avocado: no-manual-page [usr/bin/avocado-runner-package]
N:
W: python3-avocado: no-manual-page [usr/bin/avocado-runner-podman-image]
N:
W: python3-avocado: no-manual-page [usr/bin/avocado-runner-python-unittest]
N:
W: python3-avocado: no-manual-page [usr/bin/avocado-runner-sysinfo]
N:
W: python3-avocado: no-manual-page [usr/bin/avocado-runner-tap]
N:
W: python3-avocado: no-manual-page [usr/bin/avocado-software-manager]

arif-ali avatar Jan 22 '25 06:01 arif-ali

If these binaries are helper binaries, can these be also in /usr/libexec, then we don't need man pages and we don't get this error

arif-ali avatar Jan 25 '25 20:01 arif-ali

Hi @arif-ali ,

There's an agreement that the avocado-runner-* binaries deserve to be in /usr/libexec indeed. As for the avocado-external-runner, it is intended for users to interact directly with, so it would need a man page.

It's easy to predict that there will be extra code in Avocado core (in spawners) to be able to find and run the avocado-runner-* executables in either /usr/bin* or /usr/libexec/*, but I think this is the most we should do.

Let me know how you want to proceed with this.

clebergnu avatar Jan 27 '25 15:01 clebergnu

Ok, the libexec files are easy to do, and can integrate with the packaging already, so nothing to do here in upstream.

The avocado-external-runner therefore still needs a man-page, would that be possible at all in this cycle prepped for Debian release next version?

arif-ali avatar Jan 27 '25 17:01 arif-ali

What about avocado-software-manager is that also something that can be in libexec, or likely to need a man page and needs to be in /usr/bin?

arif-ali avatar Jan 27 '25 17:01 arif-ali

Ok, the libexec files are easy to do, and can integrate with the packaging already, so nothing to do here in upstream.

We just want to make sure that avocado command can find the runners (the avocado-runner-*) in /usr/libexec too.

The avocado-external-runner therefore still needs a man-page, would that be possible at all in this cycle prepped for Debian release next version?

Of course!

clebergnu avatar Jan 27 '25 17:01 clebergnu

What about avocado-software-manager is that also something that can be in libexec, or likely to need a man page and needs to be in /usr/bin?

It's something intended to be user-facing, so it'd need a man page.

clebergnu avatar Jan 27 '25 17:01 clebergnu

@arif-ali we're trying to allow for all of the Debian packaging issues to be solved before the 110.0 release. Do you need help in this (or other issues) related to that?

clebergnu avatar Feb 24 '25 16:02 clebergnu