small changes in spec
[popcorn.git] / README
blobbeca91adf5089b0f21ab859d73ce26ce17ced99d
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>
9 Files
10 -----
12 popcorn-client
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)
17 popcorn-server
18   * server-side written in C and using SQLite3
19   * reads info from stdin and saves it to stats.tdb
21 popcorn-rotate
22   * called every week on server
23   * move stats.tdb to stats-{year}-{week}.tdb and recreates stats.tdb
25 popcorn-dump
26   * dumps stats.tdb to stdout
28 Submission format
29 -----------------
31 POPCORN <popcorn-client_version> <arch>
32 <category> <package>
33 ...
34 <EOF>
37 Package categories
38 ------------------
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
47 Watched files
48 -------------
50 To find out whether the package has been used recently, access times of the files
51 in the following directories are watched:
53 /bin
54 /boot
55 /lib
56 /lib64
57 /opt/gnome/bin
58 /opt/gnome/sbin
59 /opt/kde3/bin
60 /opt/kde3/sbin
61 /sbin
62 /usr/bin
63 /usr/games
64 /usr/include
65 /usr/lib
66 /usr/lib64
67 /usr/libexec
68 /usr/sbin
69 /usr/share
71 Rem: if some of the filesystems are mounted with noatime/relatime, the packages from
72      this filesystem are always in category 'no-files'
74 Database format
75 ---------------
77 Format is produced by libtdb library (http://tdb.samba.org)
79 It is simply a (key,value) storage.
81  key         | value                | meaning
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