----------------------------------------------------------------------------
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!