Aegis Web Interface

.\" .\" aegis - project change supervisor .\" Copyright (C) 2002, 2003 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 \*(v)
Web Interface

Aegis has a read-only web interface to its database. The page 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 projects being managed by Aegis. You can drill down to everything else from this point. .br

There is also a new aeget interface. At this point it is less complete than the interface above, but it is faster, has more complete file histories, and better download support. .br

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

The 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 aeget.) .br .br

## SourceForge

Is your project hosted at 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 --prefix=/home/groups/a/ae/aegis --with-no-aegis-configured
2. Edit the generated Makefile, and add -DSOURCE_FORGE_HACK to the CFLAGS variable. (You may need `LDFLAGS = -static` if you aren't building on a Redhat 7.3 system, like SourceForge users.)
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/aedist, bin/aeget, bin/aegis, bin/aepatch, bin/aerect, bin/aereport, bin/aetar, bin/ae_diff2htm, bin/aegis.cgi, and the share/en/html tree. The rest can be removed.

   > .nf

   >     cd /home/groups/a/ae/aegis
   >     mkdir -m755 cgi-bin
   >     mv bin/aeget cgi-bin
   >     mv bin/aegis.cgi cgi-bin
   >     rm bin/aeannotate bin/aebuffy bin/aecomp bin/aecomplete
   >     rm bin/ae_diff2htm bin/aeedit bin/aefind bin/aegis.cgi.i
   >     rm bin/aeimport bin/aeintegratq bin/aels bin/aemeasure
   >     rm bin/ae-sccs-put bin/aesub bin/aexml bin/tkaeca bin/tkaegis
   >     rm bin/tkaenc bin/tkaepa bin/tkaer bin/xaegis
   >     rm -r com lib man
   >     mkdir -p share-new/en
   >     mv share/en/html share-new/en
   >     rm -r share
   >     mv share-new share

   > .fi

6. Make a tarball, scp it to SourceForge, unpack at the other end.
7. 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).
8. 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
   >     ];

9. You will need to create a `/home/groups/p/pr/project/lib/aegis/aegis.cgi.conf` file, and use it to the the PATH

   >     PATH=${PATH}:/home/groups/p/pr/project/bin

   environment variable, so that `aegis.cgi` can find necessary commands.

If this takes off, I'll ask the SourceForge people to install it, so that most of these instructions are unnecessary.