proclint(1)
π proclint(1) β the vibe check for your procmail rc files π
okay so bestie, listen. you know how your procmail rc files can be a whole mess and you have no idea why your mail is going to the void? yeah. that's what proclint is for. it's a lint tool, manual section 1, and it is literally here to read your rc files and tell you what's giving syntax error energy. no cap.
β¨ SYNOPSIS β¨
proclint [options] <procmail *.rc files>
that's it. that's the whole summoning ritual. you give it options (optional, queen) and then one or more procmail *.rc files. periodt. π
πΈ OPTIONS πΈ
-h,--helpβ show a lil short help text. short. brief. a snack, not a meal. π-i,--includercβ go scan the files that get pulled in byINCLUDERCstatements, and possibly list them too. it's giving "yes, follow the chain, i wanna see everything." π¦-I,--noincludeβ do not scanINCLUDERCreferences. this is the default, so if you don't say anything, this is the energy you get. π-l,--listβ list the lines in the procmail recipe files. all of them. out loud. main character behavior. π-L,--nolistβ don't list lines, except for errors. this is the default too. quiet luxury. β¨-p,--procmailrcβ check$HOME/.procmailrca
side note: yes, that path is literally written as $HOME/.procmailrca in the original. we are NOT fixing it. we are simply reporting it. π
π DESCRIPTION π
so what does it actually do? it checks your procmail rc files for proper syntax, recipe nesting, all of that. your rc file walks in, proclint looks it up and down, and goes "hmm. i see it." π
the output is built like this:
LINE-NUMBER:FLAG:DEPTH: text
and the FLAG part? it's one of these lil guys:
Rβ recipeCβ conditionAβ action (redirect,!, or pipe,|)Fβ folder=β assignment+β continuationEβ line may be erroneous β οΈ (this is the one you screenshot and send to the group chat)
and DEPTH? that's how deep your recipe nesting goes. it only shows up when it's greater than zero, because zero is humble and doesn't need the attention. π
π BUGS π
okay so. there are many bugs. like, many. the manpage says so, we're not gonna sugarcoat it. for example: multiline handling is not done (continued strings). so if your strings are continued across lines, bestie, it's not gonna catch that. π
also, please regard the output as advisory only.x
and yes β there is a stray x at the end of that sentence in the original. we are keeping it. it's iconic. it's part of the lore now. π
β STATUS CODES β
the program returns non-zero if a problem is found. so zero = slay, non-zero = something's off. simple as that. π
π§ ENVIRONMENT π§
None.
nothing. no environment variables. zero. the void. π«Ά
π FILES π
None.
again: nothing. none. no files. she's self-contained. π
π₯ SEE ALSO π₯
go read that one too, iykyk. π
π AUTHORS π
the program was written by Alan K. Stebbens <aks@sgi.com>. absolute legend behavior. π«Ά
this manual page was written by Jari Aalto <jari.aalto@cante.net>. also a legend.
released under license GNU GPL v2 or (at your option) any later version. for more info about the license, go visit <http://www.gnu.org/copyleft/gpl.html>. β¨
π and that's the whole page, bestie! this was proclint(1), dated 2008-12-09, brought to you by the proclint source itself. now go lint those rc files before your mail ends up somewhere it should not be. mwah! π
πΈπ¦
π¦ where this page comes from
- debian bookworm: procmail-lib 1:2009.1202-5 Β· GPL-2.0-or-later
- debian trixie: procmail-lib 1:2009.1202-6 Β· GPL-2.0-or-later
- ubuntu jammy: procmail-lib 1:2009.1202-4.1 Β· GPL-2.0-or-later
- ubuntu noble: procmail-lib 1:2009.1202-5 Β· GPL-2.0-or-later
- ubuntu questing: procmail-lib 1:2009.1202-6
- ubuntu resolute: procmail-lib 1:2009.1202-6build1 Β· GPL-2.0-or-later
- ubuntu stonking: procmail-lib 1:2009.1202-6build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms