Working with the ATLAS cvs repository
1. General requirements
You need
- to have an ATLAS account registered for the CERN afs cell which is valid on lxplus.cern.ch and/or sundev.cern.ch. Contact the ATLAS secretariat (Atlas.Secretariat@cern.ch, Fax +41 22 767 8350) if you are not registered as an ATLAS member yet, or if you need an account on lxplus.cern.ch.
- to send to a mailing list you must have subscribed to that list with the account/address sending the mail or to the list atlas-gen@cern.ch.
- to have an account recognised on the atlas cvs server. Updates for new accounts take place routinely each morning (CERN time);
- to have cvs (version 1.10 or newer) available.
Two access methods are currently supported: the kserver , and SSH.
To be a developer or contributor, you may need
2. kserver access
In order to use the kserver access,
- the CVSROOT environment variable must be set to
- :kserver:USERNAME@atlas-sw.cern.ch:/atlascvs
- (where "USERNAME@" can be omitted if your local username is identical to your CERN account name.)
- the cvs binary you use on the client side must have been built with Kerberos 4 support;
- you need to have a Kerberos Ticket Granting Ticket in the CERN.CH Kerberos realm.
- follow the instructions contained in the CERN Central CVS Server - HOW TO under the Section "Kerberos authentication from outside CERN"
On many machines, this ticket can be obtained via the klog command. At CERN, just say klog; outside, you may need to issue 'klog <user> -cell cern.ch' instead. Depending on the installation, if klog does not give the desired result, you may wish to try klog.krb, kinit, or kauth instead. Now check whether you have what you need; again, on many machines, the tokens command does what you want:
pchmh% tokens
Tokens held by the Cache Manager:
User's (AFS ID 811) tokens for afs@cern.ch [Expires Jun 10 13:13]
User helge's tokens for krbtgt.CERN.CH@cern.ch [Expires Jun 10 13:13]
--End of list--
You'll need an entry such as the one on the second line (the one for krbtgt.CERN.CH@cern.ch).
Now specify the root of the cvs repository (for example by setting the CVSROOT environment variable) like this:
:kserver:atlas-sw.cern.ch:/atlascvs
Note that it is unnecessary to specify a user name - the server system will get it from your Kerberos ticket. Now use cvs commands as usual, eg. 'cvs checkout', 'cvs commit', 'cvs update' etc.
3. SSH access
This access mechanism can be used if kserver does not work. In order to use SSH access,
- the CVSROOT environment variable must be set to
- :ext:USERNAME@atlas-sw.cern.ch:/atlascvs
- (where "USERNAME@" can be omitted if your local username is identical to your CERN account name.)
- the CVS_RSH environment variable must be set to
- ssh
- follow the instructions contained in the CERN Central CVS Server - HOW TO under the Section "Configuring SSH access from Linux/Unix"
Troubleshooting and Reporting Access Problems
If you have problems accessing the CVS Repository please go through the items below before making a problem report to the Savannah interface or the mailing list atlas-sw-cvsmanagers@cern.ch. Please make it clear if you have problems getting started or you are an experienced users and believe there is a service problem.
- Validity of Information. The detailed information here was last checked on November 3rd 2003 and will expire on 09.30 UTC November 4th 2003.
- CVS version. You require a (client) cvs version built with kerberos authentication. This comes with the cern rh73 linux distribution. Some useful commands and an extract of the expected responses are given:
- >cvs -v
- Concurrent Versions System (CVS) 1.11.1p1 (client/server)
- >which cvs
- /usr/bin/cvs
- >nm /usr/bin/cvs | grep krb
- ...
- U krb5_kuserok [ kerberos5 (and kerberos4)
- U krb5_parse_name [ for this executable.
- ...
- 0808b700 T krb_encrypt_buffer_initialize
- 0808b790 t krb_encrypt_input
- 0808b7f0 t krb_encrypt_output
- U krb_get_err_text
- U krb_kntoln
- U krb_realmofhost
- U krb_recvauth
- U krb_sendauth
- Network problems
- Some useful commands to check and monitor networks are presented:
- ping will check you have the correct ip address. If you do not, check with your local network experts. In particular ensure that any cached dns name tables are up to date (flushed if there has been a recent migration).
- traceroute might help you check the quality of the network connection and tell you how far your connection attempt succeeded. If you don't make it all the way to the server the problem may be with the next step on the way.
- telnet may check the access to the CVS_CLIENT_PORT (1999 until the migration to the CERN CVS Service). If you manage to login there is something really wrong - please inform the cvs managers.
- I am told that in some institutes, lucky enough to be able to run Microsoft operating systems, that ping and other such services are disabled because of the security risks. In this case check with your local network experts.
The general atlas password is required to see examples with real machine names.
N.B. Valid to 2003-11-04
- David Quarrie Last update: 01-Dec-2006