LinuxCommandLibrary

dch

Add entries to Debian changelog

SYNOPSIS

dch [option...] [version]

PARAMETERS

--create, -C
    Create new changelog if none exists.

--package=NAME, -p NAME
    Set package name to use.

--newversion=VERSION, -v VERSION
    Specify new version number.

--increment, -i
    Increment last version intelligently.

--qa
    Append "qaN" to version for QA uploads.

--maintainer, -m
    Set dist to UNRELEASED, urgency low.

--local=SUFFIX, -l SUFFIX
    Append SUFFIX to version (e.g., "~local1").

--distribution=DIST, -D DIST
    Set target distribution (e.g., unstable).

--urgency=URGENCY, -U URGENCY
    Set urgency (low, medium, high, critical).

--changelog=FILE
    Specify changelog file to edit.

--confirm, -c
    Confirm before writing (default).

--no-confirm
    Do not confirm before writing.

--release, -r
    Mark entry as released (no UNRELEASED).

--news
    Also update NEWS.Debian file.

--check
    Check changelog syntax only.

--nmu
    NMU-style changelog entry.

--empty
    Add empty changelog entry.

--multimaint-merges, -M
    Special multi-maintainer merge entry.

--help
    Show short usage summary.

--help-maint
    Detailed maintainer usage.

--version, -V
    Print version information.

DESCRIPTION

dch (debchange) is a versatile command-line utility from the Debian devscripts package, essential for maintaining debian/changelog files in Debian and derivative package workflows. It automates adding new entries to changelogs, adhering to Debian Policy standards.

By default, running dch parses the existing changelog, increments the version intelligently (handling epochs, Debian revisions, upstream parts), adds a new entry with the current date, your name/email (from DEBFULLNAME/DEBEMAIL or dpkg config), and sets distribution to UNRELEASED with medium urgency. It prompts for confirmation before writing.

Key features include specifying custom versions, distributions (e.g., unstable, experimental), urgency levels (low, medium, high), local suffixes for experimental work, QA/NMU modes, and multi-maintainer merge entries. It supports creating new changelogs, checking syntax, updating NEWS.Debian files, and closing bugs via Bug#NNNN pseudo-headers.

dch integrates seamlessly with tools like debuild and git workflows, ensuring consistent versioning and metadata. It's widely used by Debian maintainers, Ubuntu packagers, and derivatives for reproducible package histories.

CAVEATS

Requires Debian-style changelog format; assumes DEBFULLNAME/DEBEMAIL set; may prompt interactively; not for non-Debian packaging.

COMMON USAGE

dch -i to increment version.
dch -r to release.
dch --qa for QA uploads.

VERSION HANDLING

Supports full Debian versioning (epoch:upstream-debian~debX); increments per policy.

HISTORY

Part of the devscripts suite since late 1990s; originally by Joseph Carter, evolved with Debian Policy changes; current in devscripts 2.23+.

SEE ALSO

dpkg-parsechangelog(1), debuild(1), dpkg-buildpackage(1), git-dch(1)

Copied to clipboard