-------------------------
BASIC REPOSITORY CREATION
--------------------------
* Add a new group to /etc/group. Call it GROUP. Put yourself and
anoncvs in GROUP. The /etc/group was copied from the cygnus.com one;
add new CVS groups in descending order from 65533.
* Set your umask to 002 so that both the owner and the group on the
following files have write permissions.
* Create a project directory, /sourceware/projects/PACKAGE-home.
Under that, create
/sourceware/projects/PROJECT-home/cvsfiles
/sourceware/projects/PROJECT-home/mail-archives
/sourceware/projects/PROJECT-home/hidden-mail-archives
All directories should be group GROUP. In addition, the mail-archives
directories should be owned by listarch. All of these
directories should be mode 2775.
* Add a symlink from /cvs/PACKAGE to /sourceware/projects/PACKAGE-home/cvsfiles.
* Run ``cvs -d /cvs/PACKAGE init''. Make sure that the /cvs/PACKAGE/CVSROOT
directory is group GROUP, mode 2775. The files in CVSROOT may also need
to be set to group GROUP. Verify that the CVSROOT directory has the
sticky group bit set.
* Copy /sourceware/infra/templates/CVSROOT/passwd into the
CVSROOT directory directly (into /cvs/PACKAGE/CVSROOT).
* Add a --allow-root option for this repository to
/usr/sourceware/bin/cvs-wrapper.
* Make sure that everything under REPODIR is group GROUP.
* From some other machine, make sure that
cvs -d :pserver:anoncvs@sourceware.cygnus.com:/cvs/PACKAGE login
cvs -d :pserver:anoncvs@sourceware.cygnus.com:/cvs/PACKAGE co -c
lists the contents of the modules file. Make sure that you can
check out modules.
* To give somebody write permission, first get them an account on
sourceware.cygnus.com. Then put them in GROUP.
----------------------------
SET UP THE CVS MAILING LISTS
----------------------------
* As user 'alias' do the following
ezmlm-make -ldpknrq -5 jsm@cygnus.com -4 '-t24 -m30 -k64' \
/qmail/lists-cvs/PROJECT-cvs \
/qmail/alias/.qmail-PROJECT-cvs PROJECT-cvs sourceware.cygnus.com
ezmlm-make -ldpknrq -5 jsm@cygnus.com -4 '-t24 -m30 -k64' \
/qmail/lists-cvs/PROJECT-webpages-cvs \
/qmail/alias/.qmail-PROJECT-webpages-cvs PROJECT-webpages-cvs \
sourceware.cygnus.com
* If you want a web archive of either of these lists, set it up now
(see the README-newlist for some basic information)
* cd into each directory (eg /qmail/lists-cvs/PROJECT-cvs), and in turn do
ezmlm-sub `pwd`/mod jsm@cygnus.com ANY_OTHER_MODERATORS
ezmlm-sub `pwd` ANY_INTERESTED_PARTIES
~jsm/bin/add-sourceware-headers.sh `pwd`
* If you set up a web archive of this list, subscribe it now:
ezmlm-sub `pwd` listarch-PROJECT-cvs@sourceware.cygnus.com
* Add the following line at the beginning of the 'editor' file:
|/usr/sourceware/bin/local-mail-only.sh
---------------------------------------
SOURCEWARE CVS REPOSITORY CUSTOMIZATION
---------------------------------------
* Check out a copy of the new repository's CVSROOT
(``cvs -d /cvs/PACKAGE co CVSROOT'').
* Copy all the template files from /sourceware/infra/templates/CVSROOT
Delete the 'passwd' file.
* Edit loginfo so the correct repository name is present (instead of 'gdb').
* Edit commitinfo so the correct repository name is present (instead of 'gdb').
* Check for any remaining 'gdb' references (``grep gdb *'').
* Add the files:
cvs add readers
cvs commit -m "Standard sourceware configuration"
* Add the htdocs/ directory to the repository.
cvs -d /cvs/PROJECT co .
mkdir htdocs
cvs add htdocs
No commit is necessary.
* Create a /www/sourceware/htdocs/PROJECT directory. Set the owner
to be the maintainer of the project, group GROUP, mode 2775.
Then
% cvs -d /cvs/PACKAGE co htdocs
% rm -rf CVS
% cd htdocs
% mv * ..
% cd ..
% rmdir htdocs
* Touch the file /cvs/PROJECT/CVSROOT/updatelog, set the group to be
GROUP, and set the mods to be 664.
* Touch the file /cvs/PROJECT/CVSROOT/val-tags, set the group to be
GROUP, and set the mods to be 664.
* do a "cvs -d sourceware.cygnus.com:/cvs/sourceware co webpages"
and modify cgi-bin/cvsweb.conf to include /cvs/PROJECT in the defition
of %CVSROOT.
* Run /sourceware/cvsup/gen-sup to set up CVSup service for your project.