There are currently roughly 1500 source packages in Debian which possibly
(very likely actually) do have broken URLs in debian/control.
While it is quite useful that we have VCS information and Homepage
URLs in the Packages file these days, we also created a rather big source
of bitrot. These URLs are typically paste-and-forget. Sure, people occasionally
catch the fact that a homepage or VCS has moved, especially if they are active
and in good contact with their upstreams. However, there are also other cases...
DUCK to the rescue!
My coworker Simon Kainz has worked on a service that helps at least
to track which URLs are currently broken. We've initially discussed
some way to make this a part of Lintian, which is what I would have prefered.
However, for good reasons, Lintian doesn't want to call out to the net by default,
so these checks would likely not get run by many developers anyway.
So Simon ended up creating DUCK - the Debian Url ChecKer which actually
goes out to the net and verifies that all the Vcs-* and Homepage fields
of debian/control are actually reachable. The frontend allows developers
to search for packages they maintain, to quickly see if they have
any URLs which are possibly broken. There is a slight chance of
temporary network problems of course, so what DUCK does is to show
the status of checks in the last few days, so that you quickly see
if you are dealing with a typical false positive.
First of all, thanks to Simon! I think DUCK is an excellent project
for a future NM candidate. I actually already wanted to advocate him
for DD, but we ended up on a website which suggested that
new contributors should start by applying for DM these days,
and only later go for DD. I find that actually quite strange, especially
in Simons case, but well, we did not feel like argueing.
Secondly, and thats also very important: whats needed to improve
the overall quality of URLs in the package system is your attention!
You can easily search for email addresses of maintainers or uploaders.
Team members can create a bookmark entry that checks for problems in
all packages maintained by the teams they are a member of.
You just need to actually visit these pages from time to time.
It would probably not be well received if we filed all these bugs at once :-).
So we need you to care, since we don't want to generate too much noise
regarding "just these broken URLs". Or are they? If your
vcs fields are broken, debcheckout will not work properly.
Which defeats the purpose of debcheckout. If your homepage
URL is broken, packages.d.o will also have a wrong link.
1500 packages with broken URLs. Don't you think we can do better then that?