Difference between revisions of "Изменения в версии 2.3.6"
(One intermediate revision by the same user not shown) | |||
Line 22: | Line 22: | ||
<tt>configure</tt> не была задана опция <tt>--enable-charset</tt>. | <tt>configure</tt> не была задана опция <tt>--enable-charset</tt>. | ||
− | Программы запуска <tt>dos-компиляторов<tt> (<tt>bppemu</tt>, и др.) предполагают, что | + | Программы запуска <tt>dos-компиляторов</tt> (<tt>bppemu</tt>, и др.) предполагают, что |
− | dosemu размещается в каталоге, задаваемом опцией <tt>--enable-local-dir</tt>. | + | <tt>dosemu</tt> размещается в каталоге, задаваемом опцией <tt>--enable-local-dir</tt>. |
===configure=== | ===configure=== | ||
Line 103: | Line 103: | ||
<tt>super-serve</tt>. | <tt>super-serve</tt>. | ||
− | Поддерживаются опции --version и --help. | + | Поддерживаются опции <tt>--version</tt> и <tt>--help</tt>. |
===new-server=== | ===new-server=== | ||
− | Генерируемый HTML с текущими результатами теперь является корректным | + | Генерируемый <tt>HTML</tt> с текущими результатами теперь является корректным |
− | XHTML. | + | <tt>XHTML</tt>. |
− | Исправлен ряд ошибок, из-за которых не работал new-server-cmd. | + | Исправлен ряд ошибок, из-за которых не работал <tt>new-server-cmd</tt>. |
− | Добавлена глобальная конфигурационная переменная stand_use_login. | + | Добавлена глобальная конфигурационная переменная <tt>stand_use_login</tt>. |
Если она установлена в ненулевое значение, в таблице текущих | Если она установлена в ненулевое значение, в таблице текущих | ||
− | результатов турнира в столбце "User" используется поле `login' | + | результатов турнира в столбце <tt>"User"</tt> используется поле <tt>`login'</tt> |
− | пользователя, а не поле `name'. | + | пользователя, а не поле <tt>`name'</tt>. |
− | Добавлена конфигурационная переменная `score_latest' раздела описания | + | Добавлена конфигурационная переменная <tt>`score_latest'</tt> раздела описания |
задачи. Если она установлена в ненулевое значение, то в турнире по | задачи. Если она установлена в ненулевое значение, то в турнире по | ||
− | системе KIROV вклад в общий результат участника будет давать последняя | + | системе <tt>KIROV</tt> вклад в общий результат участника будет давать последняя |
посылка по этой задаче, а не лучшая. Опция может использоваться, когда | посылка по этой задаче, а не лучшая. Опция может использоваться, когда | ||
− | в турнирах по системе KIROV есть задачи, проверяемые в off-line | + | в турнирах по системе <tt>KIROV</tt> есть задачи, проверяемые в off-line |
режиме. | режиме. | ||
Line 128: | Line 128: | ||
Добавлены новые команды управления турниром: | Добавлены новые команды управления турниром: | ||
− | + | * start contest | |
− | + | * stop-contest | |
− | + | * continue-contest | |
− | + | * suspend-contest | |
− | + | * resume-contest | |
− | + | * suspend-printing | |
− | + | * resume-printing | |
− | + | * set-judging-mode | |
− | + | * set-accepting-mode | |
− | + | * set-testing-finished | |
− | + | * clear-testing-finished | |
− | + | * rejudge-all | |
Они соответсвуют командам, доступным через веб-интерфейс | Они соответсвуют командам, доступным через веб-интерфейс | ||
администратора турнира. | администратора турнира. | ||
Line 146: | Line 146: | ||
Поддерживается редактирование новых конфигурационных переменных | Поддерживается редактирование новых конфигурационных переменных | ||
− | stand_use_login и score_latest. | + | <tt>stand_use_login</tt> и <tt>score_latest</tt>. |
===ejudge-setup=== | ===ejudge-setup=== | ||
− | Поддерживается --enable-local-dir | + | Поддерживается <tt>--enable-local-dir</tt> |
===execute=== | ===execute=== | ||
Исправлена потенциальная ошибка компиляции (неиспользуемая переменная). | Исправлена потенциальная ошибка компиляции (неиспользуемая переменная). |
Latest revision as of 14:55, 7 February 2012
Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 2.3.6
В основном исправления замеченных ошибок. Внесен ряд усовершенствований для облегчения распараллеливания проверки на несколько компьютеров.
Изменена структура каталогов системы. Теперь файлы и каталоги, которые должны быть локальными для каждого проверяющего компьютера, размещаются в /var/lib/ejudge. В /home/ejudge (или в другом каталоге, задаваемом с помощью опции --enable-contests-home-dir) оставлены каталоги, которые должны быть общими для всех проверяющих компьютеров или могут безопасно разделяться ими. Для совместимости с предыдущими версиями по умолчанию сохраняется старое поведение. Чтобы активировать новое поведение необходимо использовать опцию --enable-local-dir скрипта configure.
При компиляции системы по умолчанию не используется флаг gcc -Werror. Чтобы включить флаг -Werror используйте опцию скрипта configure --enable-werror.
Исправлены ошибки компиляции, возникавшие, если в командной строке configure не была задана опция --enable-charset.
Программы запуска dos-компиляторов (bppemu, и др.) предполагают, что dosemu размещается в каталоге, задаваемом опцией --enable-local-dir.
Contents
configure
Новая опция --enable-local-dir=DIR, которая позволяет задавать путь к каталогу локальных (не разделяемых) файлов. Рекомендуемое значение этой опции - /var/lib/ejudge. Если опция указана, то в этом каталоге размещаются:
- образ локального диска work-img для ограничения дискового пространства проверяемых программ;
- каталог work-dir, в который монтируется образ дискового пространства;
- рабочий каталог compile/work программы compile, в котором программа размещает компилируемую программу и запускает компилятор;
- рабочий каталог <CONTEST_NUM>/work, в котором размещаются рабочие файлы при тестировании посылки заданного турнира.
Таким образом, если используется опция --enable-local-dir, то каталог /home/judges (или тот каталог, который задан в опции --enable-contests-home-dir) может безопасно монтироваться с клиентских компьютеров по NFS.
Новая опция --enable-werror. Если она указана, то при компиляции ejudge включается флаг -Werror. Рекомендуется только для разработчиков.
ejudge-control
Добавлены два режима работы: slave и master. В режиме работы slave запускаются только программы compile и super-serve, которая сама запускается в режиме slave, то есть не принимает и обрабатывает управляющие запросы (например, редактирование турниров и пр.). В режиме работы master запускаются все программы, кроме compile. Программа super-serve запускается в master-режиме, то есть тестирование турниров не обслуживается, но обслуживаются управляющие запросы.
Режим работы master может использоваться на главном компьютере, который обрабатывает запросы от пользователей, но сам тестирование не выполняет. Режим работы slave может использоваться на тестирующих компьютерах. По умолчанию система запускается в автономном режиме, то есть данный компьютер как обрабатывает запросы пользователей, так и выполняет тестирование.
Сводка новых опций:
- -s slave mode
- -m master mode
- -r обслуживать все контесты в slave mode (может использоваться только совместно с ключем -s) - см. #super-serve ниже
super-serve
Исправлен ряд ошибок в поддержке суффиксов CGI файлов, устанавливаемых с помощью опции --enable-cgi-suffix скрипта configure.
Уменьшен интервал проверки каталогов заданий на тестирование. Теперь в случае распределенного тестирования задержка при запуске программы тестирования не превышает 10 секунд (вместо 1 минуты).
Добавлен новый режим запуска master (задаётся ключем -m в командной строке). В этом режиме не обрабатываются запросы на тестирование в турнирах (то есть программы run не запускаются), но обрабатываются запросы пользователей (например, на редактирование турниров). Данный режим работы может использоваться на главном компьютере, который принимает запросы от пользователей, но сам тестирование не производит. См. выше описание #ejudge-control.
Добавлен новый ключ `-r' для управления тестированием всех турниров в режиме slave. Ключ `-r' может использоваться только совместно с ключем `-s'. По умолчанию в режиме slave тестирование разрешено только для тех турниров, у которых в XML-файле описания турниров явно прописано разрешение на тестировании на данном компьютере, например:
<slave_rules> <run_managed_on>pc1</run_managed_on> <run_managed_on>pc2</run_managed_on> </slave_rules>
Это фрагмент XML-файла задает, что тестирование турнира разрешено в режиме slave на компьютерах pc1 и pc2. Если при старте программы super-serve в режиме slave указана опция -r, то тестирование будет разрешено для всех турниров. Опция -r может указываться и в командной строке программы #ejudge-control, см. выше. В этом случае она просто передается в super-serve.
Поддерживаются опции --version и --help.
new-server
Генерируемый HTML с текущими результатами теперь является корректным XHTML.
Исправлен ряд ошибок, из-за которых не работал new-server-cmd.
Добавлена глобальная конфигурационная переменная stand_use_login. Если она установлена в ненулевое значение, в таблице текущих результатов турнира в столбце "User" используется поле `login' пользователя, а не поле `name'.
Добавлена конфигурационная переменная `score_latest' раздела описания задачи. Если она установлена в ненулевое значение, то в турнире по системе KIROV вклад в общий результат участника будет давать последняя посылка по этой задаче, а не лучшая. Опция может использоваться, когда в турнирах по системе KIROV есть задачи, проверяемые в off-line режиме.
new-server-cmd
Добавлены новые команды управления турниром:
- start contest
- stop-contest
- continue-contest
- suspend-contest
- resume-contest
- suspend-printing
- resume-printing
- set-judging-mode
- set-accepting-mode
- set-testing-finished
- clear-testing-finished
- rejudge-all
Они соответсвуют командам, доступным через веб-интерфейс администратора турнира.
super-serve
Поддерживается редактирование новых конфигурационных переменных stand_use_login и score_latest.
ejudge-setup
Поддерживается --enable-local-dir
execute
Исправлена потенциальная ошибка компиляции (неиспользуемая переменная).