General Information:

ACM East Central North America Programming Contest
sponsored by IBM

The ECNA regional contest is distributed into 4 sites. The contest environment is based on PC^2+E: A PC^2 Add-on Environment by Howard Cheng.

For more information go to http://acm.ashland.edu.

Downloads

Create /contest
Download acm.sh.
Run the script: ‘bash acm.sh’ without quotes
(The script should download all packages and install them).

Components

bash and rbash: This is a restricted bash. The goal is to closely limit what the user can do. Based on bash-2.04
gnu c and c++ compiler: No changes to gcc.
java compiler: No changes to java.
jove editor: Restricted version. Based on jove 4.16.
pc2+e: Contains pc2 version 8.6 and supporting scripts.
pico editor: Restricted version. Based on pico 4.0.
vi editor: Restricted version. Based on nvi.
xenon editor: Restricted version. Based on xenon 1.0.0.

Installation

Quick start
------------------

* download acm.sh (curl http://www.ececs.uc.edu/~kourilm/acm/packages/pkgs/acm.sh -o acm.sh)
* run it (bash acm.sh)
* edit /contest/etc/pc2v8.ini
* create user acm00 for registry and server
* create user acm001 for contestant
* create user acm002 for judge
* run /contest/admin-scripts/config-test85server acm00
* run /contest/admin-scripts/config-user acm001
* run /contest/admin-scripts/config-judge acm002
* login as acm00 and run ./pc2server
* login as acm001 and run pc2team
* login as acm002 and run ./pc2judge


Details
---------------

I have prepared a script that installs the whole environment.
It downloads necessary files using wget or curl, recompiles them
and installs them.

Please get the script from here:

http://www.ececs.uc.edu/~kourilm/acm/packages/pkgs/acm.sh

The script was tested on the following platforms:
* Linux i386 - RedHat 7.3, 9, Fedora, Gentoo and Suse
* Sparc Solaris 9
(some Linux distributions had problems compiling editors)

The script is not perfect and reports a lot of warnings during compilation.
Please ignore those.

The script maintains a work directory preset to /contest/tmp.

You can run the script MULTIPLE times and it will recompile only the packages
that were not successfully recompiled during previous runs.
Once it successfully installs each package it creates a file
with extension .ok in the workdirectory.
So if you feel like reinstalling a specific package --
just remove this file and rerun the acm.sh script.
If you'd like to get the latest version of the package --
just remove the archive from the work directory and the .ok file and rerun the acm.sh script.

The script also sets up /contest/etc from /contest/etc-dist. Files in /contest/etc will never be overwritten so you can even reinstall pc2+e.tar.gz package without loosing your configuration.
The same hold for /contest/real and /contest/rshell if you need to link
to a different file.

Client environment configuration
----------------------------------------------------

Important scripts included:

/contest/admin-scripts/config-user - setup a user's home directory
/contest/admin-scripts/config-judge - setup a judge's home directory
/contest/admin-scripts/config-test85server - setup a test 8.x server's home directory

PC2 scripts
/contest/admin-scripts/pc2team - start PC2 team login
/contest/admin-scripts/pc2server - start PC2 server
/contest/admin-scripts/pc2board - start PC2 scoreboard
/contest/admin-scripts/pc2admin - start PC2 admin client
/contest/admin-scripts/pc2judge - start PC2 judge client


config-judge creates a copy of pc2judge in the user's home directory
config-test85server creates a copy of pc2(server|board) in the user's home directory


PC2 version
--------------------

PC2 version 8.6 is included. Please check http://www.ecs.csus.edu/pc2/ for the latest version.

Bugs:
* partial downloads are not taken care of
* not all files are checked for gnu compatibility (solaris)
* you might have to install other system packages like lynx, fvwm2, ... (script will report if they are not found)

 

Last Update: March 20, 2006 9:59 AM