Scroll to navigation

deb-scrub-obsolete(1) User Commands deb-scrub-obsolete(1)

NAME

deb-scrub-obsolete - scrub a Debian package of no longer necessary configuration

SYNOPSIS

deb-scrub-obsolete [OPTIONS]

DESCRIPTION

Scrub a Debian source package from unnecessary versioned depends, conflicts and maintscripts.

Specifically, it makes the following categories of changes:

obsolete maintscript entries for upgrades from versions older than that in $compat_release
depends on packages that are essential since $compat_release
build-depends on packages that are build-essential since $compat_release
replacing dependencies on "transitional dummy packages" with the real thing (if satisfiable since $compat_release)
conflicts with packages that are gone since before $compat_release
version constraints in build-depends or depends that are met by the package in $compat_release

This tool is separate from lintian-brush since unlike lintian-brush, it needs to take an archive-wide view of the package. It is safe to run alongside lintian-brush and will only make changes when it finds constraints that are genuinely obsolete.

optional arguments:

Show this help message and exit.
Show program's version number and exit.
Directory to run in. Defaults to the current directory.
Do not update the changelog.
Always update the changelog.
Don't remove any constraints that are necessary for upgrading from RELEASE or newer releases. This can either be a codename ("bookworm"), or an alias ("unstable", "old-old-stable"). Defaults to "oldstable". For a full list of options, see distro-info(1).
Don't remove any constraints that are necessary for building on RELEASE or newer releases. This can either be a codename ("bookworm"), or an alias ("unstable", "old-old-stable"). For a full list of options, see distro-info(1).
Print the identity (name and e-mailaddress) that deb-scrub-obsolete will use when committing changes, and exit.
Print debugging information.
Keep minimum version constraints in dependencies, even when the constraint is satisfied by the package version in $compat_release and thus technically unnecessary.
Some teams deliberately maintain minimum version constraints to document upstream requirements, track which dependency versions are needed for backporting, or to express a semantic dependency on a specific feature introduced in a particular version. In such cases, using this option avoids accidentally removing constraints that carry intentional meaning beyond mere historical necessity.

ENVIRONMENT

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.
Oldest Debian release to stay compatible with. Overridden by --compat-release.

SEE ALSO

lintian-brush.conf(5) lintian-brush(1)

AUTHORS

Jelmer Vernooij <jelmer@debian.org>

February 2026 deb-scrub-obsolete