Introducing sourcedeps.d.n
I get regulary annoyed by the fact that I find random -dev packages on my main system and can't figure out which package's build-depends I satisfied by installing them. Also they don't disappear if the package changes its build-depends.
So I decided to solve this problem. Since I'm not really a C/C++ hacker and didn't want to learn hacking APT for this I choose to solve this problem with brute force and Perl ;-)
The result is sourcedeps.debian.net, a APT archive which contains one binary package for each source package. The following mapping was done:
source package name => binary package name, but with appended '-build-depends'
Build-Depends => Depends
Build-Depends-Indep => Recommends
Build-Conflicts => Conflicts
Binary => Suggests
Binary => Provides (with appended '-build-depends')
If any of the Build-Depends fields contains arch limiters, arch-dependent packages will be created, otherwise one arch-independent package.
This allows easy installation of build-depends by installing the corresponding meta package, tracking them, and removing them automatically in case you deinstall the meta package. It only works for known architectures though and it requires creating around 60,000 binary packages. It also doesn't allow tracking build-dependencies for more than one version of a package (e.g. unstable and experimental).
You can use this by adding something like
deb http://sourcedeps.debian.net/ sid main contrib non-free
to your sources.list. The archive is signed with the following key, available from
a keyserver near you and signed by me:
pub 1024D/ED505694 2007-09-08 [expires: 2008-09-07]
Key fingerprint = 4ECF DF07 F419 0B5B 45C4 51D0 00E9 C47B ED50 5694
uid SourceDeps.Debian.Net Archive Key
Comments welcome.
Created 2007-09-08 by Frank Lichtenheld, category /en/devel/debian. permanent link, 1 comment(s)

Josh Triplett wrote