----------------------------------------------------------------------------
Set up the GNATS database.
----------------------------------------------------------------------------

Do things as root.

1. Create a new /egcs/carton/gnats/ directory for the database, e.g.

   mkdir /sourceware/gnats/PROJECT-db
   chown gnatsid.PROJECT /sourceware/gnats/PROJECT-db
   chmod 2775 /sourceware/gnats/PROJECT-db

2. Add an entry in /sourceware/gnats/gnats-db.conf pointing to
   your new directory.

3. Create necessary basic directories for the new database,

   cd /sourceware/gnats/PROJECT-db
   mkdir                  gnats-adm gnats-adm/locks gnats-queue pending 
   chown gnatsid.PROJECT  gnats-adm gnats-adm/locks gnats-queue pending
   chmod 2775             gnats-adm gnats-adm/locks gnats-queue pending

4. Populate the gnats-adm directory.
   
   Copy all of the files from /sourceware/infra/templates/gnats into
   /sourceware/gnats/PROJECT-db/gnats-adm

   Set the permissions correctly,

   chown gnatsid.PROJECT /sourceware/gnats/PROJECT-db/gnats-adm/*
   chmod 664 /sourceware/gnats/PROJECT-db/gnats-adm/*
   chmod 2775 /sourceware/gnats/PROJECT-db/gnats-adm/locks

5. Set your categories

   Set up the categories for your project by editing
   /sourceware/gnats/PROJECT-db/gnats-adm/categories

6. Set your configuration

   Edit /sourceware/gnats/PROJECT-db/gnats-adm/config and set GNATS_ADDR
   to "PROJECT-gnats@sourceware.cygnus.com".  The defaults for everything
   else are probably OK.

7. Set up gnatsd.access

   If people are to have edit access (via gnatsweb or any other client
   that ultimately goes through the gnatsd server), you need to add
   entries for them in in the gnatsd.access file.
   The passwords here are cleartext, try to do something other than the
   "${LOGINNAME}p" convention for the passwords.

   The people listed in this file do not necessarily need to have an
   account on the sourceware machine.

8. Set up the responsible file

   For all accounts you've set up in #7 (gnatsd.access), be sure to add
   an entry for them in the responsible file as well.  Every user here
   should have a fully specified e-mail address.

   Add a line for "PROJECT-prs" following the format of the "java-prs"
   example.

9. Set up the submitters file

   You set up the PROJECT-prs entity in the responsible file (step #8),
   now you list that as the contact for all submitters here.
   You will need to change the definition for "net" and "unknown".
   You probably don't need to add additional submitters at this point.

10 Set the current file

   echo -n 0 > /sourceware/PROJECT-db/gnats-adm/current

11 Run mkcat

   You need to do this whenever categories are added

   /usr/local/libexec/gnats/mkcat --directory=/sourceware/gnats/PROJECT-db
   chown gnatsid.PROJECT /sourceware/gnats/PROJECT-db/*
   chmod 2775 /sourceware/gnats/PROJECT-db/*

12 Edit gnatsid's crontab

   Add a line like

0,10,20,30,40,50 * * * * /usr/local/libexec/gnats/queue-pr --directory=/sourceware/gnats/PROJECT-db --run

   the crontab of userid gnatsid

----------------------------------------------------------------------------
Set up the mail aliases/lists.
----------------------------------------------------------------------------

############ 
############ WEB ARCHIVES
############ 

Now as user "listarch", do the following

  L1.  Create .qmail file

       Create a file /qmail/listarch/.qmail-PROJECT-prs which has three
       lines like

|if echo "$SENDER" | egrep "@egcs.cygnus.com|@sourceware.cygnus.com" >/dev/null; then exit 0; else exit 100; fi
|/qmail/bin/preline /www/sourceware/htdocs/ml/www-archives.sh --medium-volume PROJECT PROJECT-prs || exit 0
|/qmail/bin/preline /www/sourceware/htdocs/ml/ftp-archives.sh --medium-volume PROJECT PROJECT-prs || exit 0

       Make sure the file is mode 644 or qmail will complain.

  L2.  Create a /www/sourceware/htdocs/ml/PROJECT-prs directory.

       Populate it with Log, index.html, and PROJECT-prs.mrc files.

############ 
############ MAILING LIST ARCHIVES
############ 


As user "alias", do the following

  A1.  Create the file /sourceware/gnats/mail-aliases/PROJECT-gnats file.  It
       should look like this:

|/usr/sourceware/bin/rbl-check.sh PROJECT
|/qmail/bin/preline /usr/local/libexec/gnats/queue-pr --directory=/sourceware/gnats/PROJECT-db -q

       Be sure to make the file mode 644 or qmail will complain.

  A2.  Soft-link to that file

       ln -s /sourceware/gnats/mail-aliases/PROJECT-gnats /qmail/alias/.qmail-PROJECT-gnats

  A3.  Create a mailing list to watch PR transactions

        ezmlm-make -ldpknrq -5 jsm@cygnus.com -4 '-t24 -m30 -k64' \
        /qmail/lists-sourceware/PROJECT-prs \
        /qmail/alias/.qmail-PROJECT-prs PROJECT-prs sourceware.cygnus.com

        ~jsm/bin/add-sourceware-headers.sh /qmail/lists-sourceware/PROJECT-prs

        cd /qmail/lists-sourceware/PROJECT-prs
        ezmlm-sub `pwd`/mod jsm@cygnus.com
        ezmlm-sub `pwd` listarch-PROJECT-prs@sourceware.cygnus.com

  A4.  Fix the editor file

        Add this line before all others:

|/usr/sourceware/bin/local-mail-only.sh

        and add the -T command line option to ezmlm-reject.

  A5.  Run ~jsm/bin/add-sourceware-headers.sh `pwd`

That's it!