table of contents
| LINTIAN-BRUSH(1) | User Commands | LINTIAN-BRUSH(1) |
NAME¶
lintian-brush - automatically fix lintian issues
SYNOPSIS¶
lintian-brush [OPTIONS] [TAGS ...]
DESCRIPTION¶
lintian-brush automatically applies a set of fixes for common lintian issues, adds the relevant changelog entries and commits the changes to the local version control system.
The tool's philosophy is to only make changes it is confident are correct, and to back off if it is not sure. Maintainers should review the changes made, but can rely on lintian-brush not making breaking changes without warning. 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 requiring an archive-wide view (such as removing obsolete dependencies) or a Debian-specific central database (such as 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 is nothing to do, and only accesses the network or performs expensive calculations when a fixer actually needs to make a change.
positional arguments:¶
- TAGS
- Lintian tags for which to run fixers. If not specified, all fixers are run.
optional arguments:¶
- -h, --help
- Show this help message and exit.
- --version
- Show program's version number and exit.
- -d, --directory DIR
- 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 using e.g. "gbp dch").
- --list-fixers
- List available fixers and exit.
- --list-tags
- List lintian tags for which fixers are available and exit.
- --fixers-dir DIRECTORY
- Deprecated, no longer has any effect. All fixers are now built-in.
- --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 are not yet available in Debian stable (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 to e.g. retrieve additional package metadata from hosting sites, or to check whether a homepage is also available over HTTPS.
- --dry-run
- Run fixers but do not actually make changes to the repository. Useful in particular in combination with --diff.
- Note that this currently will create a temporary clone of the repository, which may be slow for large repositories.
- --verbose
- Be more verbose. For example, print 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 is more likely to get things wrong. If changes with lower certainty were made, lintian-brush will let you know in its output.
- --allow-reformatting
- Allow reformatting of files that are being changed, so long as this does not 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.
ENVIRONMENT¶
- DEB_UPDATE_CHANGELOG
- Used to control whether the changelog should be updated, depending on whether it is set to "leave", "update" or "auto". The --update-changelog and --no-update-changelog arguments override this.
- DEB_COMPAT_RELEASE
- Oldest Debian release to stay compatible with.
- UDD_URL
- postgresql connection string to use to connect to UDD. Defaults to the public UDD mirror; see https://udd-mirror.debian.net/ for details.
RELATED TOOLS¶
The following tools are shipped alongside lintian-brush and address categories of changes that lintian-brush does not cover:
- 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 is 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 is 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 is 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>
| February 2026 | lintian-brush |