About

The initial version of the Debian Janitor was written by Jelmer Vernooij.

Many thanks to everybody who has provided feedback and helped make the Janitor better.

If you're interested in contributing, see the contributing section in the README.

Standards and Data Sources

This project would not have been possible without several large efforts and projects across Debian:

  • Vcs Headers allow the finding the version control repositories.
  • VcsWatch provides current information about the vcs location and status of packaging branches.
  • The migration from Alioth to Salsa means that it's now possible to submit merge proposals for the vast majority of Debian packages.
  • Lintian and its archive-wide run make it possible to process packages with specific issues, without having to download the full archive.
  • UpstreamMetadata allows easily finding upstream repository locations.
  • UScan allows easily finding new upstream releases.
  • UDD makes it possible to find package VCS URLs, packages with new upstream releases and lintian results easily.
  • CI and autopkgtest allow automated testing to ensure that built packages actually work.
  • jenkins.debian.net hosts the workers.

Libraries

The janitor itself is mostly written in Python, using the following libraries:

  • python-debian for parsing of Debian-related files, and debmutate for higher-level editing of Debian packages.
  • The style for the website is based on Alabaster 0.7.8 theme for sphinx.
  • Breezy provides abstractions over the version control system (Git, Bazaar, Mercurial, Subversion) and the supported hosting platforms (GitHub, GitLab, Launchpad).
  • Lintian-brush is responsible for actually making changes to the packages.
  • Silver-Platter ties this all together; it trawls UDD to find packages that are affected by lintian tags that lintian-brush knows how to fix, clones the packaging branches, invokes lintian-brush and pushes back or creates merge proposals.
  • Diffoscope is used to show the diff between binary packages.

The source code is hosted on GitHub.

Bugs

Please report bugs in the instance-specific bug tracker at bug tracker.