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).
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>