Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at

Bug 1249377

Summary: man 1 man: EXAMPLES: As documented "man -f smail" is not same as "whatis -r smail"
Product: [Fedora] Fedora Reporter: Sumit Rai <sumitrai96>
Component: man-dbAssignee: Nikola Forró <nforro>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 21CC: cjwatson, jchaloup, nforro
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: man-db- Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-12 07:04:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Sumit Rai 2015-08-02 07:05:48 UTC
Description of problem: "man 1 man" manpage says in EXAMPLES section "man -f smail" is same as "whatis -r smail". This is not correct as:
1. "man -f smail" is same as "whatis smail" and not "whatis -r smail" i.e. it prints one line description if "smail" matches exactly name of a manual page with word boundaries.
2. "whatis -r smail" is not same as "man -f smail" as it prints description of all manual pages whose name match "smail" as any part and world boundaries are not considered.

Version-Release number of selected component (if applicable):

How reproducible:
Easily reproducible.

Steps to Reproduce:
1. On shell type "man 1 man" without quotes.
2. Jump to "EXAMPLES" section.
3. Scroll down to reach "man -f smail" and read the example which says
"man -f smail
           Lookup the manual pages referenced by smail and print out the short descriptions of any found.  Equivalent to whatis -r smail.
4. Now to test if "man -f smail" and "whatis -r smail" are equivalent go to bash prompt.
5. Type "man -f ls" w/o quotes.
6. Type "whatis ls" w/o quotes.
7. Type "whatis -r ls" w/o quotes.

Actual results:
"man -f" is equivalent to "whatis" and not "whatis -r"

Expected results:
The results on the commandline must match the documentation.

Additional info:
[srai@localhost ~]$ man -f ls
man -f ls
ls (1p)              - list directory contents
ls (1)               - list directory contents
[srai@localhost ~]$ whatis ls
ls (1p)              - list directory contents
ls (1)               - list directory contents
[srai@localhost ~]$ whatis -r ls
_llseek (2)          - reposition read/write file offset
alsactl (1)          - advanced controls for ALSA soundcard driver
alsactl_init (7)     - alsa control management - initialization
alsaloop (1)         - command-line PCM loopback
alsamixer (1)        - soundcard mixer for ALSA soundcard driver, with ncurses interface
alsaunmute (1)       - a simple script to initialize ALSA sound devices
backtrace_symbols (3) - support for application self-debugging
backtrace_symbols_fd (3) - support for application self-debugging
credentials (7)      - process identifiers
dlsym (3)            - programming interface to dynamic linking loader
dlsym (3p)           - get the address of a symbol from a symbol table handle
ExtUtils::Command (3pm) - utilities to replace common UNIX commands in Makefiles etc.
ExtUtils::Constant (3pm) - generate XS code to import C header constants
ExtUtils::Constant::Base (3pm) - base class for ExtUtils::Constant objects
ExtUtils::Constant::Utils (3pm) - helper functions for ExtUtils::Constant
ExtUtils::Constant::XS (3pm) - generate C code for XS modules' constants.
ExtUtils::Miniperl (3pm) - write the C code for perlmain.c
ExtUtils::XSSymSet (3pm) - keep sets of symbol names palatable to the VMS linker
failsafe_context (5) - The SELinux fail safe context configuration file
false (1)            - do nothing, unsuccessfully
false (1p)           - return false value
gnutls-cli (1)       - GnuTLS client
gnutls-cli-debug (1) - GnuTLS debug client
gnutls-serv (1)      - GnuTLS server
fcrls (8)            - Fibre Channel Read Link Error Status Block (RLS) tool
git-ls-files (1)     - Show information about files in the index and the working tree
git-ls-remote (1)    - List references in a remote repository
git-ls-tree (1)      - List the contents of a tree object
git-mailsplit (1)    - Simple UNIX mbox splitter program
gitcredentials (7)   - providing usernames and passwords to Git
gvfs-ls (1)          - List files
h5ls (1)             - Prints information about a file or dataset.
IO::Socket::SSL::Utils (3pm) - - loading, storing, creating certificates and keys
keyutils (7)         - In-kernel key management utilities
llseek (2)           - reposition read/write file offset
ls (1)               - list directory contents
ls (1p)              - list directory contents
lsattr (1)           - list file attributes on a Linux second extended file system
lsblk (8)            - list block devices
lscpu (1)            - display information about the CPU architecture
lsearch (3)          - linear search of an array
lsearch (3p)         - linear search and update
lsearch (n)          - See if a list contains a particular element
lseek (2)            - reposition read/write file offset
lseek (3p)           - move the read/write file offset
lseek64 (3)          - reposition 64-bit read/write file offset
lset (n)             - Change an element in a list
lsetxattr (2)        - set an extended attribute value
lsinitrd (1)         - tool to show the contents of an initramfs image
lslocks (8)          - list local system locks
lslogins (1)         - display information about known users in the system
lsmod (8)            - Show the status of modules in the Linux Kernel
lsof (8)             - list open files
lsort (n)            - Sort the elements of a list
lspci (8)            - list all PCI devices
lspcmcia (8)         - display extended PCMCIA debugging information
lstat (2)            - get file status
lstat (3p)           - get file status
lstat64 (2)          - get file status
lsusb (8)            - list USB devices
Module::CoreList::Utils (3pm) - what utilities shipped with versions of perl
mtools (1)           - utilities to access DOS disks in Unix.
mtools (5)           - mtools configuration files
mtools.conf (5)      - mtools configuration files
mtoolstest (1)       - tests and displays the configuration
mysqlshow (1)        - display database, table, and column information
mysqlslap (1)        - load emulation client
ntfsls (8)           - list directory contents on an NTFS filesystem
oldlstat (2)         - get file status
oLschema2ldif (1)    - Converts LDAP schema's to LDB-compatible LDIF
pam_shells (8)       - PAM module to check for valid login shell
perlsec (1)          - Perl security
perlsolaris (1)      - Perl version 5 on Solaris systems
perlsource (1)       - A guide to the Perl source tree
perlstyle (1)        - Perl style guide
perlsub (1)          - Perl subroutines
perlsymbian (1)      - Perl version 5 on Symbian OS
perlsyn (1)          - Perl syntax (8) - Print pm-utils bug report
protocols (5)        - protocols definition file
pthread_setcancelstate (3) - set cancelability state and type
pthread_setcancelstate (3p) - set cancelability state
pulse-cli-syntax (5) - PulseAudio Command Line Interface Syntax
pulse-client.conf (5) - PulseAudio client configuration file
pulse-daemon.conf (5) - PulseAudio daemon configuration file
pulseaudio (1)       - The PulseAudio Sound System
qrls (1p)            - release batch jobs
sane-coolscan (5)    - SANE backend for Nikon film-scanners
sane-coolscan2 (5)   - SANE backend for Nikon Coolscan film scanners
sane-coolscan3 (5)   - SANE backend for Nikon Coolscan film scanners
shells (5)           - pathnames of valid login shells
sigdelset (3)        - POSIX signal set operations
sigdelset (3p)       - delete a signal from a signal set
sigfillset (3)       - POSIX signal set operations
sigfillset (3p)      - initialize and fill a signal set
sigrelse (3)         - System V signal API
sigrelse (3p)        - signal management
smbcacls (1)         - Set or get ACLs on an NT file or directory names
start-pulseaudio-x11 (1) - PulseAudio Sound Server X11 Startup Script
syscalls (2)         - Linux system calls
systemd-cgls (1)     - Recursively show control group contents
tc-cbq-details (8)   - Class Based Queueing
Tcl_ChannelSeekProc (3) - procedures for creating and manipulating channels
Tcl_ChannelSetOptionProc (3) - procedures for creating and manipulating channels
Tcl_FSLstat (3)      - procedures to interact with any filesystem
Tcl_IsChannelShared (3) - procedures for creating and manipulating channels
Tcl_StandardChannels (3) - How the Tcl library deals with the standard channels
tclsh (1)            - Simple shell containing Tcl interpreter
version::Internals (3pm) - Perl extension for Version Objects
xlsatoms (1)         - list interned atoms defined on server
xlsclients (1)       - list client applications running on a display
xlsfonts (1)         - server font list displayer for X
yum-utils (1)        - tools for manipulating repositories and extended package management
zipdetails (1)       - display the internal structure of zip files

Comment 1 Colin Watson 2015-08-02 15:35:38 UTC
Thanks for the report.  Fixed upstream:

Comment 2 Nikola Forró 2015-08-04 11:33:02 UTC
Thanks for the fix Colin.

Comment 3 Fedora Update System 2015-08-05 06:43:51 UTC
man-db-2.7.1-8.fc23 has been submitted as an update for Fedora 23.

Comment 4 Fedora Update System 2015-08-05 06:45:44 UTC
man-db-2.7.1-7.fc22 has been submitted as an update for Fedora 22.

Comment 5 Fedora Update System 2015-08-05 06:48:30 UTC
man-db- has been submitted as an update for Fedora 21.

Comment 7 Fedora Update System 2015-08-07 12:53:55 UTC
Package man-db-
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing man-db-'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).

Comment 8 Fedora Update System 2015-08-12 07:03:47 UTC
man-db-2.7.1-7.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2015-08-12 07:04:40 UTC
man-db- has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2015-08-15 02:17:18 UTC
man-db-2.7.1-8.fc23 has been pushed to the Fedora 23 stable repository.  If problems still persist, please make note of it in this bug report.