1 1.1 tron #!/bin/sh 2 1.1 tron 3 1.1 tron # manlint - lint manual page 'roff source, stop list in mantools/manlint.stop 4 1.1 tron 5 1.1 tron # example: mantools/manlint man/man?/* 6 1.1 tron 7 1.1 tron grep -n . "$@" | sed -n ' 8 1.1 tron s/$/ / 9 1.1 tron # Non-bold manual page references 10 1.1 tron /[a-z][_a-z0-9_]*([0-9])/{ 11 1.1 tron p 12 1.1 tron d 13 1.1 tron } 14 1.1 tron # Command examples not enclosed in quotes 15 1.1 tron /[^"]\\fB[a-z][_a-z0-9-]* /{ 16 1.1 tron p 17 1.1 tron d 18 1.1 tron } 19 1.1 tron # Missing manual page sections 20 1.1 tron /\\fBanvil\\fR[^-(]/{ 21 1.1 tron p 22 1.1 tron d 23 1.1 tron } 24 1.1 tron /\\fBbounce\\fR[^-(]/{ 25 1.1 tron p 26 1.1 tron d 27 1.1 tron } 28 1.1 tron /\\fBcleanup\\fR[^-(]/{ 29 1.1 tron p 30 1.1 tron d 31 1.1 tron } 32 1.1 tron /\\fBdiscard\\fR[^-(]/{ 33 1.1 tron p 34 1.1 tron d 35 1.1 tron } 36 1.1 tron /\\fBerror\\fR[^-(]/{ 37 1.1 tron p 38 1.1 tron d 39 1.1 tron } 40 1.1 tron /\\fBflush\\fR[^-(]/{ 41 1.1 tron p 42 1.1 tron d 43 1.1 tron } 44 1.1 tron /\\fBlmtp\\fR[^-(]/{ 45 1.1 tron p 46 1.1 tron d 47 1.1 tron } 48 1.1 tron /\\fBlocal\\fR[^-(]/{ 49 1.1 tron p 50 1.1 tron d 51 1.1 tron } 52 1.1 tron /\\fBmaster\\fR[^-(]/{ 53 1.1 tron p 54 1.1 tron d 55 1.1 tron } 56 1.1 tron /\\fBoqmgr\\fR[^-(]/{ 57 1.1 tron p 58 1.1 tron d 59 1.1 tron } 60 1.1 tron /\\fBpickup\\fR[^-(]/{ 61 1.1 tron p 62 1.1 tron d 63 1.1 tron } 64 1.1 tron /\\fBpipe\\fR[^-(]/{ 65 1.1 tron p 66 1.1 tron d 67 1.1 tron } 68 1.1 tron /\\fBpostalias\\fR[^-(]/{ 69 1.1 tron p 70 1.1 tron d 71 1.1 tron } 72 1.1 tron /\\fBpostcat\\fR[^-(]/{ 73 1.1 tron p 74 1.1 tron d 75 1.1 tron } 76 1.1 tron /\\fBpostconf\\fR[^-(]/{ 77 1.1 tron p 78 1.1 tron d 79 1.1 tron } 80 1.1 tron /\\fBpostdrop\\fR[^-(]/{ 81 1.1 tron p 82 1.1 tron d 83 1.1 tron } 84 1.1 tron /\\fBpostfix\\fR[^-(]/{ 85 1.1 tron p 86 1.1 tron d 87 1.1 tron } 88 1.1 tron /\\fBpostkick\\fR[^-(]/{ 89 1.1 tron p 90 1.1 tron d 91 1.1 tron } 92 1.1 tron /\\fBpostlock\\fR[^-(]/{ 93 1.1 tron p 94 1.1 tron d 95 1.1 tron } 96 1.1 tron /\\fBpostlog\\fR[^-(]/{ 97 1.1 tron p 98 1.1 tron d 99 1.1 tron } 100 1.1 tron /\\fBpostmap\\fR[^-(]/{ 101 1.1 tron p 102 1.1 tron d 103 1.1 tron } 104 1.1 tron /\\fBpostqueue\\fR[^-(]/{ 105 1.1 tron p 106 1.1 tron d 107 1.1 tron } 108 1.1 tron /\\fBpostsuper\\fR[^-(]/{ 109 1.1 tron p 110 1.1 tron d 111 1.1 tron } 112 1.1 tron /\\fBproxymap\\fR[^-(]/{ 113 1.1 tron p 114 1.1 tron d 115 1.1 tron } 116 1.1 tron /\\fBqmgr\\fR[^-(]/{ 117 1.1 tron p 118 1.1 tron d 119 1.1 tron } 120 1.1 tron /\\fBqmqpd\\fR[^-(]/{ 121 1.1 tron p 122 1.1 tron d 123 1.1 tron } 124 1.1 tron /\\fBscache\\fR[^-(]/{ 125 1.1 tron p 126 1.1 tron d 127 1.1 tron } 128 1.1 tron /\\fBsendmail\\fR[^-(]/{ 129 1.1 tron p 130 1.1 tron d 131 1.1 tron } 132 1.1 tron /\\fBshowq\\fR[^-(]/{ 133 1.1 tron p 134 1.1 tron d 135 1.1 tron } 136 1.1 tron /\\fBsmtp\\fR[^-(]/{ 137 1.1 tron p 138 1.1 tron d 139 1.1 tron } 140 1.1 tron /\\fBsmtpd\\fR[^-(]/{ 141 1.1 tron p 142 1.1 tron d 143 1.1 tron } 144 1.1 tron /\\fBspawn\\fR[^-(]/{ 145 1.1 tron p 146 1.1 tron d 147 1.1 tron } 148 1.1 tron /\\fBtlsmgr\\fR[^-(]/{ 149 1.1 tron p 150 1.1 tron d 151 1.1 tron } 152 1.1 tron /\\fBtrivial-rewrite\\fR[^-(]/{ 153 1.1 tron p 154 1.1 tron d 155 1.1 tron } 156 1.1 tron /\\fBverify\\fR[^-(]/{ 157 1.1 tron p 158 1.1 tron d 159 1.1 tron } 160 1.1 tron /\\fBvirtual\\fR[^-(]/{ 161 1.1 tron p 162 1.1 tron d 163 1.1 tron } 164 1.1.1.1.60.1 martin ' | grep -E -v ':[a-z][_a-z0-9-]*\([0-9]\),' | 165 1.1.1.1.60.1 martin grep -F -vf mantools/manlint.stop 166