MO-Eval lives in the following directory structure:
bin/
– all programs (usually shell scripts)
box/
– temporary files used by the sandbox module
doc
– this documentation
examples
– example problems
misc
– various currently undocumented stuff
problems/
– definitions of problems (tasks)
public
– data available publicly to the contestants
solutions
– solutions of problems (both by contestants and authors)
src
– source of parts of the evaluator written in C
template
– templates of contestants' home directories
testing
– results of testing of solutions
tmp
– various temporary files
Makefile
– as usually
config
– the main configuration file
When installed, it will create the following hierarchy:
eval
– all data belonging to the evaluator, inaccessible to contestants
public
– public data made available to the contestants
users
– home directories of the contestants
We have tried to make the whole system as flexible as possible, which has lead to writing
almost everything as simple shell scripts, building on a library of shell functions contained
in bin/lib
. The config files are also shell scripts, making it possible to do lots
of fancy (and also confusing, to be honest :) ) things there, the most useful being variable
substitutions.