1 POPCORN - Popularity Contest (for RPM)
2 --------------------------------------
4 http://repo.or.cz/w/popcorn.git
6 Licensed under MIT License
7 Copyright (c) 2009 Pavol Rusnak <stick@gk2.sk>
13 * client-side written in Python
14 * gathers info about packages and sends to server (either via e-mail or HTTP POST)
15 * is called from cron every week (random time for each machine)
18 * server-side written in C and using SQLite3
19 * reads info from stdin and saves it to stats.tdb
22 * called every week on server
23 * move stats.tdb to stats-{year}-{week}.tdb and recreates stats.tdb
26 * dumps stats.tdb to stdout
31 POPCORN <popcorn-client_version> <arch>
40 (n) no-files - no watched file present in the package (see below)
41 (r) recent - packages has been recently installed (less than 30 days)
42 (v) voted - package is older than 30 days and has been used recently (less than 30 days)
43 (o) old - package is older than 30 days and hasn't been used recently
45 note: n + r + v + o = total number of installed packages
50 To find out whether the package has been used recently, access times of the files
51 in the following directories are watched:
71 Rem: if some of the filesystems are mounted with noatime/relatime, the packages from
72 this filesystem are always in category 'no-files'
77 Format is produced by libtdb library (http://tdb.samba.org)
79 It is simply a (key,value) storage.
82 -------------+----------------------+----------------------------------------------------
83 arch/<arch> | <int> | number of reports from arch <arch>
84 ver/<ver> | <int> | number of reports from ver <ver>
85 <name> | <int><int><int><int> | package <name> was reported <int> times as n,r,v,o