LINTIAN-BRUSH(1)

πŸ“¦
version 0.183 Β· 3 versions
, in ubuntu stonking

✨ NAME ✨

lintian-brush β€” the little tool that goes and fixes ur lintian issues for u, automatically πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

lintian-brush [OPTIONS] [TAGS ...]

πŸ’– DESCRIPTION πŸ’–

okay so bestie, listen. lintian-brush automatically applies a set of fixes for common lintian issues, then adds the relevant changelog entries, and then commits the changes to the local version control system. like, it just does it. for u. 🫢

The tool's whole philosophy is that it only makes changes it's confident are correct, and it backs off if it's not sure. Maintainers should still review the changes it made, but they can rely on lintian-brush not making breaking changes without warning. And if u do want the sketchier stuff, changes with lower certainty can be enabled with --uncertain. πŸ™ˆ

lintian-brush is designed to be usable on Debian packages as well as packages for other distributions based on Debian tooling. Changes that need an archive-wide view (like removing obsolete dependencies) or a Debian-specific central database (like multi-arch hints) are intentionally out of scope and handled by the companion tools deb-scrub-obsolete(1) and apply-multiarch-hints(1) respectively.

Performance is a key aspect: lintian-brush is fast when there's nothing to do, and only accesses the network or performs expensive calculations when a fixer actually needs to make a change. no cap. ⚑

🌸 positional arguments 🌸

  • TAGS β€” the lintian tags u want fixers for. If u don't specify any, all fixers are run. all of them. the whole squad. πŸ‘‘

πŸŽ€ optional arguments πŸŽ€

  • -h, --help β€” show this help message and exit. classic.
  • --version β€” show the program's version number and exit.
  • -d, --directory DIR β€” the directory to run in. Defaults to the current directory.
  • --update-changelog β€” always update the changelog.
  • --no-update-changelog β€” do not update the changelog (useful when u're using e.g. "gbp dch").
  • --list-fixers β€” list the available fixers and exit.
  • --list-tags β€” list the lintian tags for which fixers are available, and exit.
  • --fixers-dir DIRECTORY β€” deprecated, no longer has any effect. All fixers are now built-in. girl, it's over. πŸ’€
  • --exclude EXCLUDE β€” exclude a fixer from being run. Can be specified multiple times.
  • --diff β€” after running all fixers, display the changes made as a single unified diff.
  • --modern β€” use features/compatibility levels that aren't yet available in Debian stable (which makes backporting harder). Conflicts with --compat-release.
  • --identity β€” print the identity (name and e-mailaddress) that lintian-brush will use when committing changes, and exit.
  • --disable-net-access β€” do not attempt to use the network, e.g. to retrieve additional package metadata from hosting sites, or to check whether a homepage is also available over HTTPS.
  • --dry-run β€” run the fixers but don't actually make changes to the repository. Especially useful in combination with --diff. πŸ‘€
heads up bestie: this currently creates a temporary clone of the repository, which may be slow for large repositories.
  • --verbose β€” be more verbose. For example, print the list of fixers that was run, and print tracebacks for failed fixers.
  • --debug β€” enable debug output.
  • --uncertain β€” make changes with lower certainty than normal. This will potentially fix more issues, but it's more likely to get things wrong. If changes with lower certainty were made, lintian-brush will let u know in its output. risky queen behavior but ok πŸ’…
  • --allow-reformatting β€” allow reformatting of files that are being changed, so long as this doesn't affect the semantics. This could mean stripping whitespace, but in some cases could also mean stripping comments. 😭
  • --stats β€” display statistics on fixer performance after running. slay, numbers.

🌈 ENVIRONMENT 🌈

  • DEB_UPDATE_CHANGELOG β€” controls whether the changelog should be updated, depending on whether it's set to "leave", "update" or "auto". The --update-changelog and --no-update-changelog arguments override this.
  • DEB_COMPAT_RELEASE β€” the oldest Debian release to stay compatible with.
  • UDD_URL β€” the postgresql connection string to use to connect to UDD. Defaults to the public UDD mirror; see https://udd-mirror.debian.net/ for details.

The following tools are shipped alongside lintian-brush and they handle categories of changes that lintian-brush does not cover. so like, they're the cousins. 🫢

  • apply-multiarch-hints(1) β€” applies multi-arch hints from a Debian-specific central database to a package's debian/control. Because the hints database is Debian-specific and not derived from per-package lintian checks, this tool is kept separate. It's safe to run alongside lintian-brush and will only make changes when applicable hints exist for the package.
  • deb-scrub-obsolete(1) β€” removes versioned dependencies, conflicts, and maintscript entries that are no longer necessary given a target compatibility release. This one's separate from lintian-brush because it requires an archive-wide view of which packages are present in a given Debian release, rather than inspecting the package in isolation. It's safe to run alongside lintian-brush and will only make changes when it finds constraints that are genuinely obsolete.

⭐ EXAMPLES ⭐

$ lintian-brush --list-tags

List all lintian tags for which fixers are available.

$ lintian-brush

Run all fixers in the current Debian package.


πŸ‘‘ SEE ALSO πŸ‘‘

lintian-brush.conf(5) apply-multiarch-hints(1) deb-scrub-obsolete(1) lintian(1)


πŸ’œ AUTHORS πŸ’œ

Jelmer Vernooij <jelmer@debian.org>


okay that's the whole page bestie, u ate it πŸ’… this was the lintian-brush manual, version dating back to February 2026, and it lives in section 1 of the manual pages. mwah, go fix some lintian tags πŸŽ€βœ¨

πŸ“¦ where this page comes from