About

The initial version of the Debian Janitor was written by Jelmer Vernooń≥.

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

Software Used

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.

Source Code

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

  • python-debian for parsing of Debian-related files
  • 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.
  • Aptly is used for archive management.
  • Diffoscope is used to show the diff between binary packages.

The source code is hosted on Salsa.

Bugs

Please report bugs in the bug tracker.