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 )