Version 2.2.5 (20061110) ======================== The `uudecode' program is added to the source code. The program is taken from the GNU sharutils 4.6.3. Unfortunaly, certain modern Linux distrubutions (notably, Fedora Core) does not contain the sharutils by default. Now, it is not required to install the sharutils prior to installing ejudge. configure --------- Default values are provided for the following options: --enable-socket-path, --enable-super-serve-socket, --enable-contests-home-dir, --enable-conf-dir, --enable-cgi-conf-dir. The values are as follow: --enable-socket-path=/tmp/userlist-socket --enable-super-serve-socket=/tmp/super-serve-socket --enable-contests-home-dir=/home/judges --enable-conf-dir=/home/judges/data --enable-cgi-conf-dir=../cgi-data compile ------- To simpify the installation and the initial configuration the following command line options are added: -i initialization mode - the `compile' creates all necessary directories and finishes -u USER specify the user login, which will be switched to, if the program is started by root -g GRP specify the group, which will be switched to, if the program is started by root. If the `-g' option is not specified, the group name is assumed to be equal to the user name. -C DIR specify the working directory. The `compile' program changes its current directory to the specified. If the `compile' is invoked by root, the `-u' option is required. New options are used by the `ejudge-setup' program in the generated setup script. New option `-D' is added - run the `compile' program in the daemon mode. serve ----- To simpify the installation and the initial configuration the following command line options are added: -u USER specify the user login, which will be switched to, if the program is started by root -g GRP specify the group, which will be switched to, if the program is started by root. If the `-g' option is not specified, the group name is assumed to be equal to the user name. -C DIR specify the working directory. The `compile' program changes its current directory to the specified. If the `compile' is invoked by root, the `-u' option is required. New options are used by the `ejudge-setup' program in the generated setup script. ejudge-setup ------------ The mono programming languages (mcs and mbas) are commented out by default in the generated config files. The ejudge's version of uudecode program is used instead of the system-provided. In the generated setup scripts both the `serve' and the `compile' programs are invoked in the initialize mode. cmp_double, cmp_double_seq, cmp_long_double, cmp_long_double_seq ---------------------------------------------------------------- These standard checkers support the absolute error comparison mode. In this mode the EPS environment variable specifies the maximum allowed absolute difference between the user program output and the correct output. This mode is invoked, if the ABSOLUTE environment variable is specified. libchecker ---------- New functions are added, which compare two floating-point numbers with maximal possible ABSOLUTE difference between each other. int eq_double_abs(double v1, double v2, double eps); the `v1' and `v2' are compared: if the difference between them less than `eps', the function returns 1, and 0 otherwise. Similar functions are provided for `float' and `long double' types.