Subject: misc/14997: apropos(1) outputs unreadable man pages
To: None <gnats-bugs@gnats.netbsd.org>
From: None <hiramatu@boreas.dti.ne.jp>
List: netbsd-bugs
Date: 12/19/2001 03:21:36
>Number: 14997
>Category: misc
>Synopsis: apropos(1) outputs unreadable man pages
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: misc-bug-people
>State: open
>Class: doc-bug
>Submitter-Id: net
>Arrival-Date: Tue Dec 18 10:23:02 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Hiramatsu Yoshifumi
>Release: -current 'Dec 18 JST 2001'
>Organization:
>Environment:
<machine, os, target, libraries (multiple lines)>
NetBSD river.my.domain 1.5Z NetBSD 1.5Z (River) #0: Mon Dec 10 20:46:10 JST 2001 hiramatsu@river.my.domain:/usr/src/sys/arch/i386/compile/River i386
Architecture: i386
Machine: i386
>Description:
On i386 machine, trying to find man with keyword "hpcmips"
% apropos hpcmips
pbsdboot (8) - load and boot NetBSD/hpcmips kernel from Windows CE
but cannot read
% man pbsdboot
man: no entry for pbsdboot in the manual.
This happens because
1. pbsdboot manual is installed in man8/hpcmips
2. makewhatis searches all directory under /usr/share/man, 'pbsdboot'
entry is added into whatis.db.
3. man does not search subdirectories other than 'i386', so couldn't
reach pbsdboot manual which resides in 'hpcmips' directory.
Another example
% apropos amiga
amidisplaycc (4) - wscons interface to amiga custom chips drivers
console (4) - amiga console interface
fdc (4) - Amiga custom chip floppy disk controller device
ite (4) - Amiga Internal Terminal Emulator
mount_ados (8) - mount an AmigaDOS file system
ser (4) - Amiga 8520 serial communications interface
% man ser
man: no entry for ser in the manual.
>How-To-Repeat:
>Fix:
Modify Makefiles to not always install platform specific manual pages.
For example, to share/man/man4/Makefile
--- Makefile.orig Wed Dec 19 02:39:59 2001
+++ Makefile Wed Dec 19 02:41:12 2001
@@ -103,9 +103,8 @@
# This is a hack
MLINKS+=edc.4 i386/ed.4
-SUBDIR= man4.alpha man4.amiga man4.arm26 man4.arm32 man4.atari man4.hp300 \
- man4.i386 man4.mac68k man4.macppc man4.mvme68k man4.pc532 man4.pmax \
- man4.sparc man4.sun2 man4.sun3 man4.vax man4.x68k
+SUBDIR= man4.${MACHINE_ARCH}
.include <bsd.man.mk>
.include <bsd.subdir.mk>
to usr.sbin/memswitch/Makefile
--- Makefile.orig Wed Dec 19 02:42:39 2001
+++ Makefile Wed Dec 19 02:44:24 2001
@@ -3,9 +3,9 @@
.if ${MACHINE} == "x68k"
PROG= memswitch
SRCS= memswitch.c properties.c methods.c
-.endif
MAN= memswitch.8
MANSUBDIR= /x68k
+.endif
.include <bsd.prog.mk>
We can modify man command to search other platform directory, but I think
this lead to trouble when several platform have manual in same file name.
>Release-Note:
>Audit-Trail:
>Unformatted: