Mole
Mole is a QA work-in-progress project. Also look at ["CRMI"].
The goal of Mole is to have one central location where information about packages and other Debian-related objects (such as bugs, or mirror) can be stored.
Sorts of information available
There are several classes of information:
- Extracted information directly from the packages
- Generated information, for example: running lintian over a package, rebuilding a package
- User-supplied information (screenshots, descriptions)
- And more
Storage formats
Things are multiple storage types possible, at the moment two are defined, both for 'fixed' types of information (doesn't change over time), such as "the control file out of a source package", and unlike for example "rebuilding the package"
- Bdb: a berkely DB, atomicly moved over the public one after a set of updates, so that reading-without-locking is possible
- HashfileBDb: a berkely DB with sha1-hashes, and the actual data in gzipped files, named after the hashes: space efficiency due to gzip and storing the same data only once. For example, changelogs (which are often the same across builds on all architectures etc).
Examples
All .desktop files from all .debs in unstable & testing are available
Lintian results on all source & binary packages
- md5sums of all files in all .debs
See for raw data: http://qa.debian.org/data/mole/db
Or for a very very slim web interface: http://qa.debian.org/cgi-bin/mole.py?source=apache2
More information
The code is available for Debian Developers at merkel:/org/qa.debian.org/mole. It's also in subversion: svn.debian.org, repository "qa", subdir "mole".
The primary author is ["Jeroen"] van Wolffelaar <jeroen@debian.org>