Debian External Health Status (DEHS)
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
- 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.
- Watch file injection
At the moment it is not possible to inject a watch file on DEHS database. But by request there might be some kind of implementation in the future.
- Checking of Homepage and Vcs-browser
- It is planned to make DEHS check the validity of the Homepage and Vcs-browser control fields.
- some people have rewritten DEHS' functionality so they are able to check for new upstream versions based on the watch and changelog files from their vcs. This functionality should be provided by DEHS (probably by gathering some data thanks to svnbuildstat.d.net)
Bugs, features, etc
Bugs and feature requests are filled against the qa.debian.org pseudo-package on the BTS.
Other misc information
DEHS source code is available on svn://svn.debian.org/dehs (browse).
DEHS-aware services (a.k.a. coordination-purposes listing)
Any service (or tool, etc) which uses the data generated by DEHS should *really* be listed here. Please feel free to add an entry yourself.
- PTS: no_upstream.txt, no_updated.txt
- DDPO: dehs_qa_experimental.db, dehs_qa_unstable.db
- DDPO-by-mail: ddpomail.txt
- BAPASE: ddpomail.txt
- Lucas' Munin: stats.txt
Note: when making changes to the output formats (and such) only special care will be take for the above listed services. So add your own service!
The next files are available for anyone to use. But, as clearly stated above, anyone/anything using the following resources should be listed above.
Important: if a file or resource is not listed here but is somehow available do not rely on its format. Rather contact the DEHS maintainers.
- semicolon-separated files: no_upstream.txt, no_updated.txt, no_watch.txt, stats.txt
- BDBs with the source package name being the entry key: dehs_qa_unstable.db, dehs_qa_experimental.db
Package debian/watch file in Debian Policy.
Debian Quality Assurance.
Bugs : virtual package qa.debian.org