Differences between revisions 7 and 32 (spanning 25 versions)
Revision 7 as of 2008-04-29 11:45:15
Size: 3277
Editor: localhost
Comment: converted to 1.6 markup
Revision 32 as of 2016-11-21 10:35:39
Size: 2550
Editor: ZekeKaufman
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#acl AdminGroup:read,write,delete,revert GrahamWideman:read All:
Line 5: Line 3:
== Usage == The freesurfer CVS repository is now deprecated as we have transitioned to git. Please go to the following page for instructions on how to access the read-only source-code repository:
Line 7: Line 5:
To check-out a copy of the main 'dev' (development) trunk, type this:
{{{
cvs -d :pserver:anonymous@fscvs.nmr.mgh.harvard.edu:/usr/fscvsroot login
}}}
press Enter when prompted for the password (there isn't one). Then type:
{{{
cvs -d :pserver:anonymous@fscvs.nmr.mgh.harvard.edu:/usr/fscvsroot checkout dev
}}}
This will begin the download of the source-code trunk, creating a directory named 'dev'.
   http://surfer.nmr.mgh.harvard.edu/fswiki/freesurfer_linux_developers_page
Line 17: Line 7:
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:
{{{
cvs -d :pserver:anonymous@fscvs.nmr.mgh.harvard.edu:/usr/fscvsroot checkout -r stable4 dev
}}}
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.
## First, [[https://surfer.nmr.mgh.harvard.edu/opensourcereg.html|register to receive the password to this repository]]. This registration form includes [[FreeSurferSoftwareLicense|the license terms]]. Note: tkmedit, tksurfer and tkregister2 are covered under [[FreeSurferCorTechsLicense|the CorTechs license]].
Line 23: Line 9:
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).
## You will need about 7GB of disk space, and the download will likely take several hours.
Line 30: Line 11:
The DevelopersGuide will describe how to need to {{{configure}}}, {{{make}}}, and {{{make install}}}. ## To check-out a copy of the main 'dev' (development) trunk, type this:
Line 32: Line 13:
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
}}}
## {{{
## cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot login
## }}}
## You will supply the password received via email after completing the registration form. Then type:
Line 37: Line 18:
== Maintenance ==
This section documents how the read-only CVS server was setup. It is intended for Martinos Center developers.
## {{{
## 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.
Line 40: Line 23:
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, in the directory {{{/usr/fscvsroot}}}, there is a copy of the real (read/write) CVSROOT (which is found on the NMR NFS network). The cvs pserver functionality is used to serve this repository copy. That was setup by creating a file called {{{cvspserver}}} in the directory {{{/etc/xinetd.d}}}, where the file contains:
{{{
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
}
}}}
If that is ever changed, you will need to type {{{service xinetd reload}}} to restart that service.
## To get a copy of the current 'stable' branch (the code used to build the public release but that has been internally updated with bug fixes), insert '-r stable5' before 'dev' in the second command, like this:
Line 56: Line 25:
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. ## {{{
## 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.
Line 58: Line 30:
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'. ## If you need the version used in the 5.1 public release, then use 'release_5_1_0' as the revision tag (instead of 'stable5').
Line 60: Line 32:
## 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 [[ReadOnlyCVSadmin|admin notes]].

Access the read-only CVS source-code repository

The freesurfer CVS repository is now deprecated as we have transitioned to git. Please go to the following page for instructions on how to access the read-only source-code repository: