How to Update the OpenACS.org repository

  1. Setup a local OpenACS server running 5.0 or better.

  2. Edit packages/acs-admin/www/apm/build-repository.tcl and adjust the Configuration Settings.

  3. Request /acs-admin/apm/build-repository on your new server.

    1. The page will find all branches in the cvs repository labeled oacs-x-y, and build a repository channel for each of those branches where x>=5 (so not for 4.6 and earlier). It will also build a channel for HEAD, which will be named after what you set in 'head_channel' above.

    2. For each channel, it'll do an anonymous checkout of packages and contrib/packages, then build .apm files for each package in the checkout.

    3. The files will be stored on the server's hard drive in the directory specified by the 'repository_dir' variable in the page script, by default "$::acs::rootdir/www/repository/".

  4. If you're on openacs.org, everything should now be fine. Otherwise, you need to move the entire directory tree to openacs.org:/web/openacs/www/repository, replacing what was already there.

    This is automated on OpenACS.org by having a dedicated site just for building the repository, invoked with this shell script. Since the page circumvents security checks for ease of use, the entire site is limited to local requests. The script is called daily with a cron job.

    #!/bin/sh
    #set -x
    
    STATUS=`wget --output-document - http://127.0.0.1:8002/build-repository.tcl | grep DONE | wc -l`
    
    if [ $STATUS -eq "1" ]
    then
        rm -rf /web/openacs.org/www/repository.old
        mv /web/openacs.org/www/repository /web/openacs.org/www/repository.old
        cp -r /web/repository/www/repository /web/openacs.org/www/repository
    fi