Wireshark-users: [Wireshark-users] Setting PATH and MANPATH on macOS, and moving the command-line
The master and 2.2 branches have changes to
1) put the man pages into the macOS app bundle under /Applications/Wireshark.app/Contents//Resources/share/man
and
2) add a file named Wireshark, containing
/Applications/Wireshark.app/Contents/Resources/share/man
to /etc/manpaths.d.
/etc/profile, /etc/csh.login, and /etc/zprofile in macOS will run
eval `/usr/libexec/path_helper -s`
for Bourne-compatible shells and
eval `/usr/libexec/path_helper -c`
for the C shell. This will construct a PATH setting from the contents of /etc/paths, and then scan /etc/paths.d for files and append to that PATH setting entries with the contents of each of those files. That way, an installer that puts commands in its own directory, whether it's in an app bundle or under, for example, /opt/X11, can arrange to have login shells default to a PATH setting that includes their directory for commands.
path_helper *also* constructs a MANPATH setting from the contents of /etc/manpaths, and then scans /etc/manpaths.d for files and appends to that MANPATH setting entries with the contents of each of those files.
However, it only does that if MANPATH has already been set in the environment, and it typically is *NOT* set when /etc/profile etc. are run.
So, currently, adding that file to /etc/manpaths.d doesn't actually do any good (at least not on El Capitan).
This is presumably because the man command on macOS does a lot of work trying to find man pages in the "appropriate" place, based on where the commands themselves are found. See SEARCH PATH FOR MAN PAGES in
https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/man.1.html
or, if you have a machine running macOS (under any of its names...), in the man page for the man command.
We might want to put the commands and man pages into the app bundle in a layout with "bin" and "man" directories, such as
Wireshark.app/Contents/{bin,man}
or
Wireshark.app/Contents/usr/{bin,man}
and put the paths into /etc/paths.d and /etc/manpaths.d. That might not fix the problem for section 4 man pages, but it would at least fix them for section 1 man pages - and might also mean we wouldn't need to put the wrapper scripts (or anything else) into /usr/local/bin.