App-Context
view release on metacpan or search on metacpan
lib/App/adminguide/cvs.pod view on Meta::CPAN
So I did
rpm --upgrade --force cvs-1.11.17-1.i386.rpm
and that did the trick, as verified by
rpm -q cvs
cvs --version
If that had not worked, I would have compiled my own version from
sources, but I would have to be sure to use ./configure --prefix=/usr
so that the binaries would overwrite the installed binaries rather
than creating another version in /usr/local.
Somewhere else I read that I need to set the setgid bit on the
cvs binary.
chmod 2755 /usr/bin/cvs
=head2 Users and Groups
We use NIS, so I verified that we have both the cvs user and group
defined.
ypcat passwd | grep cvs
ypcat group | grep cvs
Otherwise, I would have verified that in the /etc/passwd and
/etc/group files and created them if necessary.
=head2 CVSROOT
I chose /usr/mycompany/cvs (where "mycompany" is replaced with a
name for our company) for all CVS files (i.e. CVSROOT).
cd /usr/mycompany
mkdir cvs
chown cvs cvs
chgrp cvs cvs
chmod 775 cvs
chmod g+s cvs
We use Bash and Korn shell, so I added the following lines to
"/etc/profile" so that the CVSROOT variable is available to all
users.
CVSROOT=/usr/mycompany/cvs
export CVSROOT
Then I ran the same commands in my current shell to set CVSROOT for
the current session.
=head2 Initializing the CVS Repository
I initialized the CVS Repository (/usr/mycompany/cvs).
su - cvs
cvs init
Then I created the CVS password file.
cd ~
mkdir src
cd src
cvs co CVSROOT
cd CVSROOT
touch passwd
cvs add passwd
cvs update
cvs commit -m "new" passwd
vi checkoutlist
# add "passwd" as the last line
cvs commit -m "added passwd to list of CVSROOT files" checkoutlist
Then exit as the "cvs" user.
exit
=head2 Installing cvspasswd and adding users
I got it from here.
http://www.sugoi.org/bits/download/cvspasswd
But I put it in a distribution on CPAN called App-admin.
So you can install it this way.
perl -MCPAN -e "install App-admin"
In any case, make sure it is in your path (i.e. /usr/local/bin).
Then add users.
cvspasswd joe joespw7
cvspasswd mike m1k31sgr3a7
cvspasswd nellie whoa_
=head2 Configure xinetd
On Solaris, I just needed to add a line to /etc/inetd.conf which
looked like this. (This configures "inetd", the internetworking daemon.)
cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/usr/mycompany/cvs pserver
However, on Linux I have to configure xinetd (an enhanced version of
"inetd").
cd /etc/xinetd.d
vi cvs
I put the following in the file, with my server's actual
IP address instead of "10.10.10.10".
service cvspserver
{
disable = no
socket_type = stream
wait = no
user = cvs
group = cvs
( run in 0.825 second using v1.01-cache-2.11-cpan-0d23b851a93 )