PCCRITIC(1)
π PCCRITIC π
okay so bestie, this is a page from the General Commands Manual β it's pccritic(1) and she is that girl. let's get into it π
β¨ NAME β¨
pccritic β a quality scorer for pkg-config files. yes she grades your metadata. yes she will clock you. π
πΈ SYNOPSIS πΈ
pccritic [options] module-or-file ...
π¦ DESCRIPTION π¦
so pccritic inspects pc(5) files and reports quality findings, and she gives each file a score from 0 to 100 plus a letter grade from A to F. she's built to be your interactive bestie while you're writing a package, and to be the vibe-check that runs in your continuous integration. double duty, main character energy. π
every command-line argument is a target. here's the rules, no cap:
- if the argument contains a slash or ends in
.pc, it's interpreted as a path to a file - otherwise it gets resolved as a module name from the search path, exactly the way
pkgconf(1)would resolve it
and get this β a file that pkgconf(1) refuses to load because it omits a required field still gets scanned directly, so the most broken files of all can still be scored. she wants the mess. she wants the chaos. π
π how the scoring works (the lore)
findings are classified by severity. your score starts at 100, and every finding subtracts a fixed penalty:
- critical finding β 25 off π
- major finding β 10 off
- minor finding β 4 off
- info finding β 1 off
the result gets clamped to the range 0 to 100. grades go like this:
- A β 90 and above β¨
- B β 80
- C β 70
- D β 60
- F β below 60 π
π§ what the checks actually cover
the checks cover:
- required and recommended metadata
- version sanity
- relocatability of the
libdirandincludedirvariables - hygiene of the
CflagsandLibsfields - the
RequiresandRequires.privaterelationship - basic file-formatting style
periodt. that's the whole checklist.
π the options, as follows
β¨ OPTIONS β¨
--aboutβ prints the version number, the Copyright notice, and the license of thepccriticprogram to standard output, then exits. her lil business card. π«Ά--versionβ prints just the version number of thepccriticprogram to standard output, then exits.--helpβ prints a short usage summary to standard output, then exits. for when you're lost, bestie, we've all been there.--quietβ prints only the score and grade for each target, one per line, instead of the full list of findings. lowkey mode. π€«--min-score nβ exits with a non-zero status if any target scores below n. this is the one you want for making a continuous-integration job fail when a file's quality regresses below a threshold. your CI guardrail, your ride or die. π₯--color[=when]β controls colorized output. when may beauto(the default),always, ornever. when it'sauto, color is enabled only when standard output is a terminal and theNO_COLORenvironment variable is not set. giving--colorwith no value at all is equivalent toalways. slay.--define-variable=varname=valueβ defines varname as value. this affects how variables in the inspected file get expanded. π§
π EXIT STATUS π
pccritic exits 0 on success. she exits non-zero if:
- a target could not be loaded
- the command line is invalid
--min-scorewas given and a target scored below the threshold
π EXAMPLES π
score an installed module by name:
$ pccritic zlib
score a file before installation, and fail if it grades below a C:
$ pccritic --min-score 70 ./mylib.pc
summarize every file in a directory:
$ pccritic --quiet /usr/lib/pkgconfig/*.pc
β SEE ALSO β
ngl bestie, run her on your .pc files before someone else does. your future self will thank you. π
this page came from Debian, version dated June 28, 2026 β and that's the whole manual, we ate and left no crumbs. bye babe! π β¨π¦πΈ
π¦ where this page comes from
- arch rolling: pkgconf 3.0.10-1 Β· ISC
- arch rolling: pkgconf 3.0.7-1
- Copyright (c) 2026 pkgconf authors (see AUTHORS)
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms