qdb-fsck - initialise or update CPAN's update history
Usage: qdb-fsck [-vqdTfhirsD] [-C [1⟧ [-m max] [-c conf] option v : be verbose option q : be quiet option d : show debug info option T : show trace info option f : action ; otherwise dry-run ; implies "-C 1" option h : show help ; exit option i : show meta data ; exit ; option r : get events from RECENT-files ; default : /path/to/cpan option s : send events to server instead of the database option m : use $max paralel finds ; default 10 option D : delete all events ; increment meta.scheme ; exit option C : read/write the find-list cache /tmp/FIND.cpan -C : read the cache -C 1 : write the cache option c : use config $conf ; default [ qdb.conf, /etc/qdb/conf ]
With qdb, CPAN's update history is maintained in a database containing tuples (events) :
⟦ id, type, path, time ⟧
Program qdb-fsck initialises and/or updates the database.
To create/initialise a root database :
Configure : db_init root
Insert all events in all RECENT-files :
% qdb-fsck -r -f
Search /path/to/CPAN
; insert missing new/delete events :
% qdb-fsck -f
First qdb-fsck searches /path/to/CPAN
;
a (new,$path)-event is inserted if the (last)
$path-event is missing or a delete-event.
Then, qdb-fsck searches the database ; a (delete,$path)-event is inserted if the (last) $path-event is missing or is a new-event.
To create/initialise a downstream database, just run
% qdb-fsck -r -f
This will insert (only) the last event found in the RECENT-files.
be quiet ; only errors
be verbose ; show all actions
show debug info ; internals
trace ; show all debug info
show help ; exit
show meta data ; exit
get fresh events from RECENT-files ; default : search /path/to/cpan
send events to the server instead of the database
when inspecting path/to/CPAN
, use $max paralel finds ; default 10
use config file ; default : qdb.conf
, /etc/qdb/conf
See qdb.
/etc/qdb/conf qdb-configuration /var/qdb/data.lite sqlite database with event-history and meta-data
You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl 5.10.0 README file.