CVS No Such Repository error

stevelopez
stevelopez used Ask the Experts™
on
I am trying to setup a 2nd CVS repository and am receiving the error, 'Error fetching resource listing from repository... 'Connection refused: cvs [pserver aborted]: /var/lib/cvsd/cvsrepo1: no such repository.'

NOTES:
1. I am able to connect to my existing repository without a problem (it is located in /var/lib/cvsd/cvsrepo).
2. I've updated inetd.conf  and added the --allow-root option for the second repository.

So I am very confused as to why I am unable to connect to the new repository.

Here's what my inetd.conf looks like:
cvspserver      stream  tcp     nowait  root    /usr/bin/cvs --allow-root=/var/lib/cvsd/cvsrepo --allow-root=/var/lib/cvsd/cvsrepo1 pserver

Here's the directory structure & permissions for the repository which is working properly:

steve@rc-dev:/var/lib/cvsd/cvsrepo/CVSROOT$ ls -l
total 5928
-r--r--r-- 1 root root     495 2009-04-26 18:09 checkoutlist
-r--r--r-- 1 cvsd cvsd     728 2009-01-12 19:02 checkoutlist,v
-r--r--r-- 1 root root    1232 2009-04-26 18:09 commitinfo
-r--r--r-- 1 cvsd cvsd    1465 2009-01-12 19:02 commitinfo,v
-r--r--r-- 1 root root    4082 2009-04-26 18:09 config
-r--r--r-- 1 cvsd cvsd    4315 2009-01-12 19:02 config,v
-r--r--r-- 1 root root     602 2009-04-26 18:09 cvswrappers
-r--r--r-- 1 cvsd cvsd     835 2009-01-12 19:02 cvswrappers,v
drwxrwxr-x 2 cvsd cvsd    4096 2009-01-12 19:02 Emptydir
-rw-rw-r-- 1 cvsd cvsd 5916167 2010-06-30 12:46 history
-r--r--r-- 1 root root    1872 2009-04-26 18:09 loginfo
-r--r--r-- 1 cvsd cvsd    2105 2009-01-12 19:02 loginfo,v
-r--r--r-- 1 root root    1151 2009-04-26 18:09 modules
-r--r--r-- 1 cvsd cvsd    1384 2009-01-12 19:02 modules,v
-r--r--r-- 1 root root     876 2009-04-26 18:09 notify
-r--r--r-- 1 cvsd cvsd    1109 2009-01-12 19:02 notify,v
-rw-r--r-- 1 cvsd cvsd      57 2009-01-12 19:18 passwd
-r--r--r-- 1 root root     922 2009-04-26 18:09 postadmin
-r--r--r-- 1 cvsd cvsd    1155 2009-01-12 19:02 postadmin,v
-r--r--r-- 1 root root    1105 2009-04-26 18:09 postproxy
-r--r--r-- 1 cvsd cvsd    1338 2009-01-12 19:02 postproxy,v
-r--r--r-- 1 root root    1898 2009-04-26 18:09 posttag
-r--r--r-- 1 cvsd cvsd    2131 2009-01-12 19:02 posttag,v
-r--r--r-- 1 root root     957 2009-04-26 18:09 postwatch
-r--r--r-- 1 cvsd cvsd    1190 2009-01-12 19:02 postwatch,v
-r--r--r-- 1 root root    1203 2009-04-26 18:09 preproxy
-r--r--r-- 1 cvsd cvsd    1436 2009-01-12 19:02 preproxy,v
-r--r--r-- 1 root root     649 2009-04-26 18:09 rcsinfo
-r--r--r-- 1 cvsd cvsd     882 2009-01-12 19:02 rcsinfo,v
-r--r--r-- 1 root root    2255 2009-04-26 18:09 taginfo
-r--r--r-- 1 cvsd cvsd    2488 2009-01-12 19:02 taginfo,v
-rw-rw-r-- 1 cvsd cvsd       5 2009-08-05 13:49 val-tags
-r--r--r-- 1 root root    1481 2009-04-26 18:09 verifymsg
-r--r--r-- 1 cvsd cvsd    1714 2009-01-12 19:02 verifymsg,v

..and here the listing for the repository which ISN'T working:
steve@rc-dev:/var/lib/cvsd/cvsrepo1/CVSROOT$ ls -l
total 132
-r--r--r-- 1 cvsd cvsd  495 2010-06-30 12:20 checkoutlist
-r--r--r-- 1 cvsd cvsd  730 2010-06-30 12:20 checkoutlist,v
-r--r--r-- 1 cvsd cvsd 1232 2010-06-30 12:20 commitinfo
-r--r--r-- 1 cvsd cvsd 1467 2010-06-30 12:20 commitinfo,v
-r--r--r-- 1 cvsd cvsd 4082 2010-06-30 12:20 config
-r--r--r-- 1 cvsd cvsd 4317 2010-06-30 12:20 config,v
-r--r--r-- 1 cvsd cvsd  602 2010-06-30 12:20 cvswrappers
-r--r--r-- 1 cvsd cvsd  837 2010-06-30 12:20 cvswrappers,v
drwxrwxr-x 2 cvsd cvsd 4096 2010-06-30 12:20 Emptydir
-rw-rw-r-- 1 cvsd cvsd    0 2010-06-30 12:20 history
-r--r--r-- 1 cvsd cvsd 1872 2010-06-30 12:20 loginfo
-r--r--r-- 1 cvsd cvsd 2107 2010-06-30 12:20 loginfo,v
-r--r--r-- 1 cvsd cvsd 1151 2010-06-30 12:20 modules
-r--r--r-- 1 cvsd cvsd 1386 2010-06-30 12:20 modules,v
-r--r--r-- 1 cvsd cvsd  876 2010-06-30 12:20 notify
-r--r--r-- 1 cvsd cvsd 1111 2010-06-30 12:20 notify,v
-r-------- 1 cvsd cvsd   35 2010-06-30 12:57 passwd
-r--r--r-- 1 cvsd cvsd  922 2010-06-30 12:20 postadmin
-r--r--r-- 1 cvsd cvsd 1157 2010-06-30 12:20 postadmin,v
-r--r--r-- 1 cvsd cvsd 1105 2010-06-30 12:20 postproxy
-r--r--r-- 1 cvsd cvsd 1340 2010-06-30 12:20 postproxy,v
-r--r--r-- 1 cvsd cvsd 1898 2010-06-30 12:20 posttag
-r--r--r-- 1 cvsd cvsd 2133 2010-06-30 12:20 posttag,v
-r--r--r-- 1 cvsd cvsd  957 2010-06-30 12:20 postwatch
-r--r--r-- 1 cvsd cvsd 1192 2010-06-30 12:20 postwatch,v
-r--r--r-- 1 cvsd cvsd 1203 2010-06-30 12:20 preproxy
-r--r--r-- 1 cvsd cvsd 1438 2010-06-30 12:20 preproxy,v
-r--r--r-- 1 cvsd cvsd  649 2010-06-30 12:20 rcsinfo
-r--r--r-- 1 cvsd cvsd  884 2010-06-30 12:20 rcsinfo,v
-r--r--r-- 1 cvsd cvsd 2255 2010-06-30 12:20 taginfo
-r--r--r-- 1 cvsd cvsd 2490 2010-06-30 12:20 taginfo,v
-rw-rw-r-- 1 cvsd cvsd    0 2010-06-30 12:20 val-tags
-r--r--r-- 1 cvsd cvsd 1481 2010-06-30 12:20 verifymsg
-r--r--r-- 1 cvsd cvsd 1716 2010-06-30 12:20 verifymsg,v
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Not sure, but you can't specify several roots for one cvs instance. Configure another inetd instance:
1. Add new port number/description into /etc/services, like:
cvspserver2    2402/tcp
2. Add a line to your inetd config:
cvspserver2      stream  tcp     nowait  root    /usr/bin/cvs --allow-root=/var/lib/cvsd/cvsrepo1 pserver
3. Restart inetd

Author

Commented:
I thought the --allow-root=  option allows you to specify more than one root for an instance of pserver.

http://comsci.liu.edu/~murali/cvs/pserver.htm  (see the NOTE in step 6)

Author

Commented:
Note:  I also swapped the --allow-root and put the original path as the second repository and am still able to access the original repository.  I did this to make sure I wasn't hitting the issue in which limitations regarding the lengh of the inetd.conf commands can cause problems.


also, here's another reference to allowing multiple roots in one pserver instance: http://www.gjt.org/mlist/jcvs/msg00772.html
I quickly checked latest cvs version (1.2.13) sources and did not find possibility to specify root twice or more times. You may check your version sources, just to be safe.
I found the issue.  While inetd.conf had configuration lines regarding CVS, the actual configuration was using the newer xinetd.conf.    I updated the server_args parameter with the additional repository paths and all works properly now.  Here's an example should anyone else stumble upon this (take note of the multiple '--allow-root' parameters and associated paths)

service cvspserver
{
     port = 2401
     socket_type = stream
     protocol = tcp
     user = root
     wait = no
     type = UNLISTED
     server = /usr/bin/cvs
     server_args = -f --allow-root /var/lib/cvsd/cvsrepo --allow-root /var/lib/cvsd/cvsrepo1 --allow-root /var/lib/cvsd/cvsrepo2 pserver
     disable = no
}
glad, that i was wrong :) sorry for messing you

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial