.\" .\" aegis - project change supervisor .\" Copyright (C) 2002-2005 Peter Miller; .\" All rights reserved. .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. .\" .\" MANIFEST: input for archive/webiface.html .\" .de an-p-footer .. .ad l .hy 0 .so version.so .br .br .br Aegis Web Interface

Aegis \*(v)
Web Interface

Aegis has a read-only web interface to its database. There is a page which uses Aegis' own web interface to look at Aegis' own development (because Aegis is developed using Aegis). If you have Apache installed when Aegis is configured and built, this interface (to your projects, not this one) will be installed for you at your site, too. .br

The top-level view is of all SourceForge projects being managed by Aegis. You can drill down to everything else from this point. (See also the old .br aegis.cgi interface.) .br

The .br project page. Every project (and each branch) has one. In this case you will be taken to the one for Aegis \*(v). (See also the old .br aegis.cgi interface.) .br

The .br completed changes page lists all of the completed changes to date (on the development branch). This is the bleeding edge. The Download links are only of interest to Aegis developers, but they demonstrate how an Internet project (or a global VPN project) could distribute change sets. Click on the change number for more information about each change. (See also the old .br aegis.cgi interface.) .br .br


SourceForge

Is your project hosted at SourceForge.net Logo SourceForge? .br
  1. If so, there is no need for you to compile Aegis to run on SourceForge, because it is already there.
  2. You will need to upload your project tree, as mentioned in the instructions below.
  3. Send email to Peter Miller he will add a project pointer and your project will appear in the list of projects.
.br

SourceForge Hack

.br This section contains instructions for building and installing the CGI interface like the one that runs at sourceforge.net, but on your own server. You need an externally accessable server, outside your firewall, to host an Internet accessable Aegis project in this way.

You then update the external tree using rsync or similar, either weekly or at integrate pass, or something. .br

Using the Aegis web interface like the one on SourceForge is a little different than at your own site, due to the chroot jail that is used. (Change these instructions to suit the name of your project.) You wont be able to compile on SourceForge, so do it on a Linux PC elsewhere.

  1. Configure with ./configure .br --prefix=/home/groups/a/ae/aegis .br --with-no-aegis-configured
  2. Edit the generated Makefile,
  3. Now you can make as normal.
  4. You can use the RPM_BUILD_ROOT setting of the Makefile, or you can mkdir -p /home/groups/a/ae/aegis/cgi-bin
  5. When you make install, you will then need to cull the install tree of unneccessary files. You only need bin/ae_diff2htm, bin/aedist, bin/aeget, bin/aegis, bin/aegis.cgi, bin/aepatch, bin/aerect, bin/aereport, bin/aetar, and the share/en/html tree. The rest can be removed.
    .nf
    cd /home/groups/a/ae/aegis
    mkdir -m755 cgi-bin
    for f in \
        aeannotate aebuffy aecomp aecomplete ae-cvs-ci aecvsserver     \
        aeedit aefind aeget.instal aegis.cgi.i aeimport aeintegratq    \
        aels aemeasure aepromptcmd ae-sccs-put aesub aexml tkaeca      \
        tkaegis tkaenc tkaepa tkaer xaegis
    do
        rm bin/$f
    done
    strip bin/*
    rm -r com lib man etc
    mkdir -p share-new/en
    mv share/en/html share-new/en
    rm -r share
    mv share-new share
    .fi
  6. You will need to create a couple of shell scripts in the cgi-bin directory to set the command search PATH and then invoke aeget or aegis.cgi as appropriate.
    .nf
    #!/bin/sh
    cmd=`basename $0`
    bin=/home/groups/a/ae/aegis/bin
    PATH=${bin}:$PATH
    export PATH
    exec $bin/$cmd "$@"
    .fi
    
  7. Total size is about 50MB (shared libraries would really help). Make a tarball, scp it to SourceForge, unpack at the other end.
    .nf
    tar czf xxx.tgz bin cgi-bin share
    scp xxx.tgz aegis.sourceforge.net:.
    ssh aegis.sourceforge.net
    cd /home/groups/a/ae/aegis
    tar xf ~/xxx.tgz
    cd
    rm xxx.tgz
    
    .fi
    The tarball is about 15MB so the upload time isn't too bad.
  8. Now upload your project. I use rsync for efficient differential uploads. The directory needs to be inside the chroot jail, but outside the htdocs directory. The instructions assume it is in the /home/groups/p/pr/project/project directory. You need the whole project tree, but you can leave out derived files in the baselines (e.g. .o files, .a files and executables).
  9. Edit /home/groups/p/pr/project/com/aegis/state to point at the project tree. Something like
    where =
    .nf
    [
      {
        project_name = "project";
        directory = "/home/groups/p/pr/project/project";
      },
    .fi
    ];
If this takes off, I'll ask the SourceForge people to install it, so that most of these instructions are unnecessary.