Debian External Health Status (DEHS)
Introduction
DEHS is a service that periodically checks packages for new upstream version. This service is part of Debian QA (Quality Assurance) project.
- Query packages status
The DEHS data of a package is available with other QA metrics on http://packages.qa.debian.org, but it is also available on http://dehs.alioth.debian.org.
- Maintainer report
DEHS is also integrated on the ?qa.debian.org/DDPO page of each maintainer. On this view the latest upstream version is visible in a per package basis on the table.
- Notify Maintainer
DEHS can send notifications of new upstream version to the 'summary' tag/keyword of the PTS when it finds a new upstream version.
Anyone interested in receiving this kind of notifications please see the PTS' documentation on how to subscribe.- DEHS statistics
DEHS provides a statistics page which show the overall "external status" of Debian over the time.
How DEHS works
Debian packages optionally provides the location where upstream sources are released (this is known as debian/watch file). Using an appropriate tool (like uscan from devscripts), it's possible to automatically check the latest upstream version of a program.
Basically, DEHS is doing this almost every day on the whole Debian/Unstable and Debian/Experimental archives. (Actually, DEHS checks upstream about every four days, AND every time a new version of a given package is introduced in Debian).
DEHS, also has an intelligent mechanism to guess the location of a program, this is known as the Watch Wizard. It works by extracting the urls from the copyright file of packages without a watch file. Afterwards it makes several attempts to guess the file name and file extension which would be displayed on that url.
Things that everybody should know
Debian repackaging (a.k.a. trust what uscan says)
As of the time of writing (16/02/2008) DEHS additionally strips any 'dfsg', 'debian', and 'ds' it finds on the Debian upstream version. This is done because many watch files do not strip them by themselves so DEHS strips it for them.
Maintainers should not rely on this feature because it may be disabled at any point in the future. The right way is to use dversionmangle and strip any repackaging (or similar) parts from the Debian upstream version.
However, using uversionmangle to add the 'dfsg' part to the upstream version should not be considered as correct. This is based on the idea that downloading the upstream sources won't make it DFSG-free, so upstream's version is not DFSG-free but Debian's is. In other words: uversionmangle=s//+dfsg/ is not correct, dversionmangle=s/\+dfsg// is.
A complete example watch file how to use dversionmangle:
version=2 opts=dversionmangle=s/\.dfsg// \ https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-(.*)\.tar\.gz
Besides the above mentioned situation DEHS and uscan should report the same status for a package, if they don't it's probably a bug on DEHS and should be reported (see below on how to report bugs).
Extraction of watch files
DEHS gathers the watch files by downloading the .diff.gz file of a given package proceding by extracting the debian/watch file from it. This means that native and packages which contain the debian/watch file inside the .orig.tar.gz aren't processed by DEHS.
Note that this is not a bug, if the package provides a watch file it shouldn't be a Debian-native package.
=
