|
Size: 3065
Comment:
|
Size: 1759
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| #acl AdminGroup:read,write,delete,revert All: |
|
| Line 4: | Line 2: |
== Usage == |
Firstly, make sure that you [[FreeSurferOpenSourceLicense|read the license terms]]. Basically, the source can be used only for non-commercial and non-clinical applications. |
| Line 8: | Line 5: |
| Line 9: | Line 7: |
| cvs -d :pserver:anonymous@fscvs.nmr.mgh.harvard.edu:/usr/fscvsroot login | cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot login |
| Line 12: | Line 10: |
| Line 13: | Line 12: |
| cvs -d :pserver:anonymous@fscvs.nmr.mgh.harvard.edu:/usr/fscvsroot checkout dev | cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot checkout -P dev |
| Line 15: | Line 14: |
| This will begin the download of the source-code trunk, creating a directory named 'dev'. | This will begin the download of the source-code trunk, creating a directory named 'dev'. The -P flag will purge the junk files that have been deleted from the repository over the years. |
| Line 17: | Line 16: |
| To get a copy of the current 'stable' branch (the code used to build the public release), insert '-r stable4' before 'dev' in the second command, like this: | To get a copy of the current 'stable' branch (the code used to build the public release), insert '-r stable5' before 'dev' in the second command, like this: |
| Line 19: | Line 19: |
| cvs -d :pserver:anonymous@fscvs.nmr.mgh.harvard.edu:/usr/fscvsroot checkout -r stable4 dev | cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot checkout -P -r stable5 dev |
| Line 21: | Line 21: |
| Note that this will also create a directory named 'dev', so you should probably create a directory named 'stable4', cd to that, and then do the checkout. | Note that this will also create a directory named 'dev', so you should probably create a directory named 'stable5', cd to that, and then do the checkout. |
| Line 24: | Line 24: |
| Line 32: | Line 33: |
| == Maintenance == This section documents how the read-only CVS server was setup. It is intended for Martinos Center developers. |
Remember that cvs will cache the location of CVSROOT (the 'pserver' string from above), so to perform an update, you need only type: |
| Line 35: | Line 35: |
| A VM named fscvs was setup on surfer, which implements an instance of Linux Centos to appear on the web as fscvs.nmr.mgh.harvard.edu. On this virtual machine, there is a copy of the real (read/write) CVSROOT, located at {{{/usr/fscvsroot}}} (this is on fscvs). The cvs pserver functionality is used to serve this repository. That was setup by creating a file called {{{cvspserver}}} in the directory {{{/etc/xinetd.d}}}, where the file contains: | |
| Line 37: | Line 36: |
| service cvspserver { port = 2401 socket_type = stream protocol = tcp wait = no user = root passenv = PATH server = /usr/bin/cvs server_args = -f --allow-root=/usr/fscvsroot pserver } |
cvs update -d |
| Line 49: | Line 38: |
| If that is ever changed, you will need to type {{{service xinetd reload}}} to restart that service. Now, how does the copy of the real CVS get from its location on the NMR network to fscvs? That is performed via two cronjobs. One is run as 'nicks', on the machine 'minerva', which runs the script {{{/space/freesurfer/scripts/cp_fscvs}}}, which tars the real CVSROOT, excluding the files we don't want to make public, and deposits that file in a 'nicks' temp directory. This is run every night at 2:00AM. Then, on fscvs, a 'root' cronjob, run at 2:10AM every night, runs the script {{{/usr/fscvsroot/update_fscvs}}}, which scp's the tarball from nicks temp directory to /usr/fscvsroot, untars it, and performs some permission changing. On fscvs, the file {{{/usr/fscvsroot/CVSROOT/passwd}}} specifies the valid usernames. The {{{update_fscvs}}} script creates an empty passwd file, except for the username 'anonymous'. |
See also [[ReadOnlyCVSadmin|admin notes]]. |
Access the read-only CVS source-code repository
Firstly, make sure that you read the license terms. Basically, the source can be used only for non-commercial and non-clinical applications.
To check-out a copy of the main 'dev' (development) trunk, type this:
cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot login
press Enter when prompted for the password (there isn't one). Then type:
cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot checkout -P dev
This will begin the download of the source-code trunk, creating a directory named 'dev'. The -P flag will purge the junk files that have been deleted from the repository over the years.
To get a copy of the current 'stable' branch (the code used to build the public release), insert '-r stable5' before 'dev' in the second command, like this:
cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot checkout -P -r stable5 dev
Note that this will also create a directory named 'dev', so you should probably create a directory named 'stable5', cd to that, and then do the checkout.
Build instructions are found in the DevelopersGuide, but in any case, you will first need to type this:
cd dev ./setup_configure
which will setup the autoconf and automake files for your platform. You need only do this once (or whenever you change configure.in).
The DevelopersGuide will describe how to need to configure, make, and make install.
Remember that cvs will cache the location of CVSROOT (the 'pserver' string from above), so to perform an update, you need only type:
cvs update -d
See also admin notes.
