lintian
Check Debian packages for policy violations
SYNOPSIS
lintian [options] [package|source|changes_file...]
Examples:
lintian my-package.deb
lintian my-source-tree/
lintian --info --display-experimental my-package.changes
PARAMETERS
--help, -h
Display a brief help message and exit.
--version, -v
Show lintian version information.
--info, -i
Display detailed information about reported tags.
--display-info, -I
Also display tags with "info" severity.
--display-experimental, -X
Also display tags with "experimental" severity.
--display-extra-info, -E
Also display tags with "extra-info" severity.
--override-tag TAG, -o TAG
Override (suppress) a specific tag. Can be used multiple times.
--severity LEVEL, -S LEVEL
Only display tags at or above the specified LEVEL (e.g., warning, error).
--list-tags, -L
List all known lintian tags and their descriptions.
--check TAGS, -c TAGS
Only check for the specified comma-separated TAGS.
--check-part PARTS, -C PARTS
Only check specific package PARTS (e.g., binary, source).
--profile PROFILE, -P PROFILE
Use a specific Lintian profile for checks.
--show-overrides, -s
Display tags that have been suppressed by .lintian-overrides files.
--verbose, -V
Be more verbose, showing additional progress and debugging information.
DESCRIPTION
lintian is a powerful static analysis tool used in the Debian project to check packages for adherence to the Debian Policy Manual and common packaging errors. It examines .deb binary packages, .dsc source descriptions, or unpacked source trees.
The tool identifies a wide range of issues, from minor stylistic preferences to critical policy violations that could prevent a package from being accepted into the archive or cause problems for users. lintian produces "tags" for each identified issue, categorized by severity (e.g., error, warning, info). It is an essential part of the Debian packaging workflow, helping maintainers ensure high-quality and consistent packages before uploading them to the archive. Its comprehensive checks significantly contribute to the overall stability and reliability of the Debian distribution.
CAVEATS
lintian can occasionally produce false positives, requiring maintainers to use .lintian-overrides files to suppress specific tags with justification. Its effectiveness depends on the currency of its checks relative to the ever-evolving Debian Policy. Some advanced checks might require a specific build environment or additional tools to be present for full functionality.
TAG SEVERITIES
lintian categorizes issues by severity: error (critical, must fix), warning (important, should fix), info (informational, consider), pedantic (minor stylistic, highly recommended), and experimental (under development, feedback welcome).
OVERRIDES MECHANISM
Maintainers can create a debian/.lintian-overrides file to justify and suppress specific lintian tags for their package. This allows for legitimate exceptions where a tag is a false positive or intentionally ignored due to specific package requirements, maintaining flexibility while upholding policy.
HISTORY
lintian was initiated in 1999 by Christian Schwarz to enforce the Debian Policy Manual through automated checks. It rapidly became an indispensable tool for Debian maintainers and archive administrators, evolving from a simple script to a sophisticated checker. Its development is community-driven, continuously integrating new checks for emerging policy requirements and common pitfalls. This consistent evolution cemented its role as a cornerstone for ensuring Debian package quality and consistency.