table of contents
| 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:¶
- -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.
- --no-update-changelog
- Do not update the changelog.
- --update-changelog
- Always update the changelog.
- -u, --upgrade-release RELEASE
- 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).
- -c, --compat-release RELEASE
- 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).
- --identity
- Print the identity (name and e-mailaddress) that deb-scrub-obsolete will use when committing changes, and exit.
- --debug
- Print debugging information.
- --keep-minimum-depends-versions
- 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¶
- 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.
- COMPAT_RELEASE
- Oldest Debian release to stay compatible with. Overridden by --compat-release.
SEE ALSO¶
AUTHORS¶
Jelmer Vernooij <jelmer@debian.org>
| February 2026 | deb-scrub-obsolete |