ROSA Package Popularity Contest

From Rosalab Wiki
Revision as of 09:48, 25 September 2012 by D uragan (Talk | contribs) (Participating in the Public Survey: Update url)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

ROSA Package Popularity Contest aims to help developers to know which packages are most important for the users.

The tools used to perform such a survey are provided by the rosa-popularity-contest package.

These tools can be also used locally without sending any reports to server - e.g., in order to know which installed packages are not used.

Tracking Package Usage

The rosa-popularity-contest package contains a script, /usr/sbin/popularity-contest, which generates a list of the packages installed on your system, in order of most-recently-used to least-recently-used. The simplest way to use this information is to help clean up your hard drive by removing unused packages.

For example,

 popularity-contest | grep '<OLD>'

will show you a list of packages you haven't used in a while. Note that this output isn't totally accurate: some packages appear "old" but you can't remove them because other (non-old) packages depend on them. Shared library packages are particularly bad this way because it's impossible to tell when a library was last used.

The popularity-contest output looks like this:

 POPULARITY-CONTEST-0 TIME:914183330 ID:b92a5fc1809d8a95a12eb3a3c84166dd
 914183333 909868335 grep /bin/fgrep
 914183333 909868280 findutils /usr/bin/find
 914183330 909885698 rpm /usr/bin/rpm
 914183330 909868577 gawk /usr/bin/gawk
 [...more lines...]

The first and last lines allow you to put more than one set of popularity-contest results into a single file and then split them up easily later.

The rest of the lines are package entries, one line for each package installed on your system. They have the format:

<atime> <ctime> <package-name> <mru-program> <tag>

<package-name> is the name of the ROSA package that contains <mru-program>. <mru-program> is the most recently used program, static library, or header (.h) file in the package.

<atime> and <ctime> are the access time and creation time of the <mru-program> on your disk, respectively, represented as the number of seconds since midnight GMT on January 1, 1970 (i.e. in Unix time_t format). Linux updates <atime> whenever you open the file; <ctime> was set when you first installed the package.

<tag> is determined by popularity-contest depending on <atime>, <ctime>, and the current date. <tag> can be RECENT-CTIME, OLD, or NOFILES.

RECENT-CTIME means that atime is very close to ctime; it's impossible to tell whether the package was used recently or not, since <atime> is also updated when <ctime> is set. Normally, this happens because you have recently upgraded the package to a new version, resetting the <ctime>.

OLD means that the <atime> is more than a month ago; you haven't used the package for more than a month.

NOFILES means that no files in the package seemed to be programs, so <atime>, <ctime>, and <mru-program> are invalid.

Participating in the Public Survey

You can help out ROSA developers by sending your popularity-contest results to us anonymously. With information from enough people, we can determine which packages are most often used, which are often installed but not used, and which are nearly never used. That way, we can help people make decisions about which packages should fit on the ROSA ISO image, which ones should go to the officially supported main repository, which ones should be moved to contrib or even dropped.

It is impossible to make a submission completely anonymous, since Internet servers tend to add headers and log messages along the way. Our receiver program at ROSA servers throws away this information as soon as possible so no one will see it, but if you're really paranoid you might not want to participate.

The rosa-popularity-contest package comes with a cron task to send the information out to us each week. You can change where the submissions go by editing /etc/rosa-popularity-contest.conf.

Currently we only support uploading reports using HTTP.

Results of the public survey are available here.


If you have some questions, take a look at the FAQ.

Some tools used in this project are based on similar scripts from the Debian Package Popularity Contest.