debian-workbench
This Rust crate provides a library and a small set of binaries for
manipulating Debian source packages: editing debian/control,
debian/changelog, debian/rules, copyright files and quilt patches;
detecting gbp dch and changelog conventions; managing VCS metadata,
maintainer scripts, debhelper levels, debcargo packaging, vendoring,
upstream version comparison and Debian release information.
It is intended as a building block for tooling that automates changes to Debian packages, and is the modification counterpart to the debian-analyzer crate, which provides introspection.
Binaries
Both binaries require the cli feature:
detect-changelog-behaviour— inspects a packaging branch and detects the changelog editing behaviour in use (e.g.gbp dch).deb-vcs-publish— publishes packaging changes to a VCS.
Library highlights
apply_or_revert— run a closure inside a working tree and roll the tree back if the closure fails or makes no changes.abstract_control,control,relations— read and editdebian/control.changelog,detect_gbp_dch— manipulatedebian/changelogand detect the maintenance style.patches— work with quilt patches.publish,vcs— VCS metadata and publishing helpers.debcargo,vendor,versions,release_info— utilities around packaging Rust crates and tracking upstream/Debian versions.editor— generic in-place editor that handles atomic writes and formatting preservation.
Features
cli— builds the binaries (pulls inclapandenv_logger).merge3(default) — enables three-way merging support.svp— integrates with the Silver-Plattersvp-client.debian— pulls indebian-analyzerfor combined analysis + modification workflows.
License
GPL-2.0+