Bug 589432

Summary: [RFE] rpmlint could warn about the syntax problems in man-pages
Product: [Fedora] Fedora Reporter: Ivana Varekova <varekova>
Component: rpmlintAssignee: Ville Skyttä <ville.skytta>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: jreznik, manuel.wolfshant, tmz, ville.skytta
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: rpmlint-0.97-1.fc13 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-05-18 20:05:11 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 Ivana Varekova 2010-05-06 06:55:57 UTC
Description of problem:
From f14 there is new version of groff (1.20) and new version of man pages reader man-db package which is able to produce the list of bugs in syntax for given man-page. 

e.g. 
$ man --warnings /usr/share/man/man1/gm.1.gz >/dev/null 
<standard input>:1301: warning: macro `unsigned'' not defined
<standard input>:5345: warning: macro `-resize' not defined
<standard input>:5347: warning: macro `+profile' not defined

This could be automatically tested in rpmlint.

Comment 1 Ville Skyttä 2010-05-06 07:32:38 UTC
Can this be tested in a backwards compatible manner, for example directly with groff?  man --warnings cannot be used with man 1.6f.

Comment 2 Ville Skyttä 2010-05-06 07:34:56 UTC
To clarify, backwards compatible manner doesn't necessarily have to mean that the tests would produce warnings with some earlier versions of man/groff (they could just fail silently), but it'd be nice to not have to introduce a config parameter to turn this feature on/off.

Comment 3 Ivana Varekova 2010-05-06 10:12:47 UTC
There seems to be a way how to use groff directly (nroff in groff 1.18 can't be used).

Comment 4 Ville Skyttä 2010-05-06 12:10:00 UTC
Sounds good, could you post the info how to do it directly with groff here when you find it out?

Comment 5 Ivana Varekova 2010-05-10 12:36:32 UTC
eg. if you want to check man page: 
/usr/share/man/man1/bash.1.gz
you can use command
/usr/bin/gunzip -c '/usr/share/man/man1/bash.1.gz' | /usr/bin/gtbl | groff -mtty-char -Tutf8 -P-c -mandoc -mandoc -wmac  >/dev/null
output the same level of warnings as 
man --warnings bash

Comment 6 Ville Skyttä 2010-05-17 19:45:59 UTC
Done upstream, will most likely be in the next release:
http://rpmlint.zarb.org/cgi-bin/trac.cgi/changeset/1780

Comment 7 Fedora Update System 2010-05-18 20:20:38 UTC
rpmlint-0.97-1.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/rpmlint-0.97-1.fc13

Comment 8 Fedora Update System 2010-05-18 20:21:53 UTC
rpmlint-0.97-1.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/rpmlint-0.97-1.fc12

Comment 9 Fedora Update System 2010-05-28 18:03:29 UTC
rpmlint-0.97-1.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2010-06-04 18:46:33 UTC
rpmlint-0.97-1.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.