Some manual pages have a copyright notice or commit id before including other files with the .so macro. We need to skip comments and empty lines at the beginning of the manpage while checking for the first .so macro. e.g.: zcat FreeBSD-13.3-RELEASE/man/man3/ibnd_debug.3.gz .\".TH IBND_DEBUG 3 "Aug 04, 2008" "OpenIB" "OpenIB Programmer's Manual" .so man3/ibnd_discover_fabric.3 Right now man(1) checks only the first line of a manpage: line=$($cattool "$manpage" 2>/dev/null | head -n1) this should be changed to: line=$($cattool "$manpage" 2>/dev/null | grep -E -m1 -v '^\.\\"[ ]*|^[ ]*$')
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=73eb53813fe3a2245edbeb670902e4bb9d41e288 commit 73eb53813fe3a2245edbeb670902e4bb9d41e288 Author: Wolfram Schneider <wosch@FreeBSD.org> AuthorDate: 2024-05-26 05:48:40 +0000 Commit: Wolfram Schneider <wosch@FreeBSD.org> CommitDate: 2024-05-26 05:48:40 +0000 man(1) needs to check for .so files not only in the first line PR: 279182 Some manual pages have a copyright notice or commit id before including other files with the .so macro. We need to skip comments and empty lines at the beginning of the manpage while checking for the first .so macro. MFC after: 1 week usr.bin/man/man.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=e1f5c22be4317523102a98f7f62c780fbe73b40f commit e1f5c22be4317523102a98f7f62c780fbe73b40f Author: Wolfram Schneider <wosch@FreeBSD.org> AuthorDate: 2024-05-26 05:48:40 +0000 Commit: Wolfram Schneider <wosch@FreeBSD.org> CommitDate: 2024-06-03 16:23:05 +0000 man(1) needs to check for .so files not only in the first line PR: 279182 Some manual pages have a copyright notice or commit id before including other files with the .so macro. We need to skip comments and empty lines at the beginning of the manpage while checking for the first .so macro. MFC after: 1 week (cherry picked from commit 73eb53813fe3a2245edbeb670902e4bb9d41e288) usr.bin/man/man.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)