mdocml: fix behavior when localized man pages are present.

Using the -a option with makewhatis(8) makes it scan every file under
the configured manpaths, instead of only the ones in directories that
match "man*". When localized man pages are present, this makes it so
files under the "$some_lang/man*" directories are also indexed, which
can lead, as shown in #28146, to `man w3m` displaying a localized man
page instead of the default english one from /usr/share/man/man1/w3m.1.

Without a mandoc.db in the manpath, man(1) behaves predictably, and
removing from -a from the makewhatis(8) invocations makes it behave
predictably even with a mandoc.db available.

Users who wish to use localized man pages are expected to configure
manpaths in man.conf(5) or use the MANPATH env var.

Fixes #28146
This commit is contained in:
Érico Rolim 2021-01-26 17:33:09 -03:00 committed by Érico Nogueira Rolim
parent d08e78eca4
commit f732676052
3 changed files with 3 additions and 4 deletions

View file

@ -1,6 +1,6 @@
case "$ACTION" in
post)
echo "Regenerating man db..."
usr/bin/makewhatis -a -Tutf8
usr/bin/makewhatis -Tutf8
;;
esac

View file

@ -1,3 +1,2 @@
#!/bin/sh
makewhatis -a -Tutf8
exit $?
exec makewhatis -Tutf8

View file

@ -1,7 +1,7 @@
# Template file for 'mdocml'
pkgname=mdocml
version=1.14.5
revision=6
revision=7
wrksrc="mandoc-${version}"
build_style=configure
make_build_args="all man.cgi"