Bug 43318
Summary: | apropos and whatis broken by update to man-1.5i-4 | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Need Real Name <dale+bz> |
Component: | man | Assignee: | Bernhard Rosenkraenzer <bero> |
Status: | CLOSED ERRATA | QA Contact: | Aaron Brown <abrown> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.0 | CC: | benj |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2001-07-23 10:45:51 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Need Real Name
2001-06-03 02:38:33 UTC
Looks to me like apropos and whatis are fine, but makewhatis is broken both in the man-1.5i-4 rpm and the man-1.5i-8 off rawhide. Here's the output of makewhatis -w -v: about to enter /usr/local/man adding ./java.1 adding ./keytool.1 adding ./rmid.1 adding ./rmiregistry.1 adding ./tnameserv.1 about to enter /usr/share/man skipping /usr/share/man - we did it already about to enter /usr/kerberos/man skipping /usr/kerberos/man - we did it already about to enter /usr/X11R6/man skipping /usr/X11R6/man - we did it already about to enter /usr/lib/perl5/man skipping /usr/lib/perl5/man - we did it already about to enter /usr/man skipping /usr/man - we did it already about to enter /usr/local/man about to enter /usr/share/man about to enter /usr/kerberos/man about to enter /usr/X11R6/man about to enter /usr/lib/perl5/man about to enter /usr/man Everything after the first directory in the manpath is skipped. It looks like the offending line in makewhatis is 146: if [ -s /var/cache/man/whatis -a $pages = man -a x$update = x ]; then After the first entry in manpath is evaluated, this will always return true and the other entries are skipped. This line was formally: if [ -s ${mandir}/whatis -a $pages = man -a x$update = x ]; then This is intended to detect if a given man dir needs to be updated in the whatis table, but with the move to /var/cache/man/whatis breaks things badly. I don't see an easy fix for this. There is not a good way to detect if a given man directory needs to be updated in the whatis database with a single database file. IMHO, The whole idea of a single whatis database in /var/cache/man/whatis is a bad one. It not only causes problems with knowing what to update, but I can no longer set the default man path on a system to exclude man directories that I don't want the average user to see. In fact I would like to see an sman directory where the man pages for stuff from sbin would go. I don't see any reason for the average user to see the man pages for things they shouldn't be running anyway. Oops. Yes. I retract my statements about whatis and apropos. I didn't look into things deeply enough to realize one would have to do a fresh makewhatis run because of the new whatis caching. Please consider _my_ bug report closed. I won't mark the this report itself as closed myself (leaving that to the judgement of Redhat) because of the subsequent comments by benj, which effectively turn this into a different bug report. seems to be fixed with the next to-be released errata. Fixed in 1.5i2-* |