makewhatis doesn't remove entries for nonexistent manpages by default. i issued this command... # cd /usr/local/man # makewhatis /usr/local/man in its manpage, there is no mention of the default behaviour. -v option would only "issue more warnings"; -a option would append to the database w/o checking if old entries are valid. and that's what puzzles me. i didn't specify the -a option, yet just that was happening. i had to delete the existing whatis database so that changes in /usr/local/man would reflect. Fix: either document the default -a option (as described above) in makewhtais(1), or fix the makewhatis. if manpage is modified, then please also add that to have fresh & clean whatis db, the current "whatis" needs to (re)moved. How-To-Repeat: - create whatis database in an appropriate directory, say, /usr/local/man. - move the whatis db to other name. - change /usr/local/man's contents by (re)moving man/cat file(s). - recreate whatis db and comapare w/ the old version.
On Mon, Dec 17, 2001 at 08:16:42PM -0500, parv_@yahoo.com wrote: > > freebsd version is 4.4-stable as of 2001.10.03.02.12.13 > > below are are the dates & version of makewhatis* files... > > 99.08.27.23.36.10 src/gnu/usr.bin/man/makewhatis/makewhatis.local.sh,v 1.7 > 2001.04.25.14.04.13 src/gnu/usr.bin/man/makewhatis/Makefile,v 1.16.2.2 > 2001.08.13.09.05.58 src/gnu/usr.bin/man/makewhatis/makewhatis.perl,v 1.21.2.3 > 2001.08.16.10.14.57 src/gnu/usr.bin/man/makewhatis/makewhatis.1,v 1.14.2.6 > 2001.08.16.10.14.57 src/gnu/usr.bin/man/makewhatis/makewhatis.local.8,v 1.8.2.3 > > makewhatis doesn't remove entries for nonexistent manpages by > default. i issued this command... > > # cd /usr/local/man > # makewhatis /usr/local/man > > in its manpage, there is no mention of the default behaviour. -v > option would only "issue more warnings"; -a option would append to > the database w/o checking if old entries are valid. > > and that's what puzzles me. i didn't specify the -a option, yet > just that was happening. i had to delete the existing whatis > database so that changes in /usr/local/man would reflect. > > > >How-To-Repeat: > > - create whatis database in an appropriate directory, say, /usr/local/man. > - move the whatis db to other name. > - change /usr/local/man's contents by (re)moving man/cat file(s). > - recreate whatis db and comapare w/ the old version. > > >Fix: > > either document the default -a option (as described above) in > makewhtais(1), or fix the makewhatis. > > if manpage is modified, then please also add that to have fresh & clean > whatis db, the current "whatis" needs to (re)moved. > Hmm, I have exactly the same versions of files above, and can't reproduce the problem. I.e., without -a, makewhatis(1) doesn't pre-open /usr/local/man/makewhatis, but rather does a search of all manpages, sorts them, outputs them into makewhatis.tmp, and then renames makewhatis.tmp to makewhatis. Can you please show me the output of the following command: /usr/bin/makewhatis -v /usr/local/man Cheers, -- Ruslan Ermilov Oracle Developer/DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age
State Changed From-To: open->closed Originator was confused by apropos(1) output for non-existing manpage link.
On Mon, Dec 17, 2001 at 08:16:42PM -0500, parv_@yahoo.com wrote: > >Description: > > makewhatis doesn't remove entries for nonexistent manpages by > default. i issued this command... > > # cd /usr/local/man > # makewhatis /usr/local/man > > in its manpage, there is no mention of the default behaviour. -v > option would only "issue more warnings"; -a option would append to > the database w/o checking if old entries are valid. > > and that's what puzzles me. i didn't specify the -a option, yet > just that was happening. i had to delete the existing whatis > database so that changes in /usr/local/man would reflect. > > > >How-To-Repeat: > > - create whatis database in an appropriate directory, say, /usr/local/man. > - move the whatis db to other name. > - change /usr/local/man's contents by (re)moving man/cat file(s). > - recreate whatis db and comapare w/ the old version. I can't reproduce this, and I from checking the code I really can't see how this could happen. Are you sure that you are really removing the manpage(s) completely from /usr/local/man (i.e. if the page has multiple links, you'd need to get all of them)? -- "It's always funny until someone gets hurt. Then it's hilarious." Crist J. Clark | cjclark@alum.mit.edu | cjclark@jhu.edu http://people.freebsd.org/~cjc/ | cjc@freebsd.org
in message <20011218133420.B507@gohan.cjclark.org>, wrote Crist J. Clark thusly... > > On Mon, Dec 17, 2001 at 08:16:42PM -0500, parv_@yahoo.com wrote: > > >Description: > > > > makewhatis doesn't remove entries for nonexistent manpages by > > default. i issued this command... > > > > # cd /usr/local/man > > # makewhatis /usr/local/man > > > > in its manpage, there is no mention of the default behaviour. -v > > option would only "issue more warnings"; -a option would append to > > the database w/o checking if old entries are valid. ... > > I can't reproduce this, and I from checking the code I really can't > see how this could happen. Are you sure that you are really removing > the manpage(s) completely from /usr/local/man (i.e. if the page has > multiple links, you'd need to get all of them)? hi crist, you came late to the party. this pr had already been closed. it was my own damn fault to confuse apropos listing w/ makewhatis functioning. please see the closing remarks. http://www.freebsd.org/cgi/query-pr.cgi?pr=32954 - parv --