This repository contains a collection of codemods (code modifications) specifically designed for Debian packaging and development. These codemods can help automate common tasks, improve code quality, and ensure compliance with Debian policies.
- lintian-brush - A tool to automatically fix common Lintian warnings and errors in Debian packages, as reported by lintian
- debianize - Create a Debian package from scratch for an upstream source tree
- import-uncommitted - A tool to import previously uncommitted changes into a Git repository, e.g. missing uploads
- multiarch-hints - A codemod to apply multiarch hints to Debian packages
- scrub-obsolete - Remove obsolete entries from Debian packaging files
- transition-apply - Apply package transitions
- Debian Janitor - An automated system that applies various codemods to Debian packages in an effort to improve the overall quality of the Debian archive, and then submits changes for review to the respective maintainers (directly pushing, or creating merge requests in e.g. Salsa)
- debian-analyzer - Crate to analyze and modify Debian source packages, built on top of
deb822-rs. Provides higher level abstractions, e.g. seamless support fordebcargopackages
File format support:
- deb822-rs - Rust crates for losslessly editing various Debian control files
- debian-changelog - Rust crate for parsing and modifying Debian changelogs
- debian-copyright - Rust crate for parsing and modifying Debian copyright files
- debian-watch - Rust crate for parsing and modifying Debian watch files
Contributions are very welcome! The easiest way to get started is probably by following the guide on writing more fixers for lintian-brush.
See also CONTRIBUTING.md on general contribution guidelines, especially regarding code style and what belongs where.