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>