I still don't quite understand how it workscharlieg wrote:A similar tutorial for setting up CVS over SSH instead of pserver would be nice.
If you created a new passwd file, make sure after make the changes to it the permissions are set to the cvs user and cvs groupNow we need to create/edit the /home/cvsroot/CVSROOT/passwd file. This file is used by CVS to either provide name/pass pairs, or loginName/systemName mappings. So for example, we want to tell cvs "Hey, I'm going to allow a login called "cvs", but I want you to map it to my local system user "cvs"". Let me clarify.
did you ever try logging in without/with different password ?rsk wrote: 13) cvs::cvs
So here you see I've mapped CVS login name "cvs" to our system user "cvs". So i'll have to use the system user's password when I login using cvs.
'info cvs RET g TAB p TAB i TAB s TAB r TAB RET' wrote:
...
CVS can also fall back to use system authentication. When
authenticating a password, the server first checks for the user in the
`$CVSROOT/CVSROOT/passwd' file. If it finds the user, it will use that
entry for authentication as described above. But if it does not find
the user, or if the CVS `passwd' file does not exist, then the server
can try to authenticate the username and password using the operating
system's user-lookup routines (this "fallback" behavior can be disabled
by setting `SystemAuth=no' in the CVS `config' file, *note config:: ).
...
my cvs server wrote:cvs server: Updating ConygreProject
cvs server: failed to create lock directory for `/home/cvsroot/ConygreProject' (/home/cvsroot/ConygreProject/#cvs.lock): Permission denied
cvs server: failed to obtain dir lock in repository `/home/cvsroot/ConygreProject'
cvs [server aborted]: read lock failed - giving up
Right you are. While this matter is not pserver specific, the repository maintainer is in fact required to set up an appropriate ownership/permission model inside the repository for users that should have access to it. Your specific problem results from the fact, that cvs creates lock files while operating on modules inside the repostitory. Thus whoever (in the setup described here this should be a user called cvs) executes the cvs commands locally, is required to have write permissions inside the specific module directory. You can specify another temp dir if you dont want that for some reason.phunni wrote:OK - I have file permissions problems.
...
Code: Select all
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}\n";
there is also a good discussion of CVS issues in this postI keep the preceding script in /usr/local/bin/cryptout.pl:
floss$ ls -l /usr/local/bin/cryptout.pl
-rwxr-xr-x 1 root root 265 Jun 14 20:41 /usr/local/bin/cryptout.pl
floss$ cryptout.pl "some text"
sB3A79YDX5L4s
Code: Select all
cvs -d /your/CVS/ROOT init
Code: Select all
cvs -d /your/CVS/ROOT import REPOSITORY VENDORTAG RELEASETAG
Code: Select all
cvs -d :ext:MrPyro@nekrodomos.net:/home/cvs checkout MyCode