This is an old revision of the document!
CVS Repository
Synchronet source code and some third-party dependencies are stored in a version control database (repository) using a ubiquitous software system called CVS.
Anonymous access, for current source code or previous releases by label, is available to the following repositories:
cvs.synchro.net:/cvsroot/sbbs
cvs-mirror.synchro.net:/cvsroot/sbbs
Required modules for building Synchronet:
src-sbbs3
(alias for several modules)- One of the following module aliases (for required third-party libraries):
lib-win32
(for Windows)lib
(for all other supported platforms)
Required modules for running Synchronet (if you don't already have Synchronet installed):
run-sbbs3
(alias for several modules)
Example labels (for checking-out a specific release):
sbbs300c
sbbs310k
sbbs314a
sbbs315a
sbbs316c
NOTE: If you really want to build an old release, you'll probably have better luck downloading a source archive (e.g. ssrc314a.zip
or ssrc314a.tgz
) from ftp://vert.synchro.net/ and building that instead as some deprecated files may have been removed from the CVS repository since.
Examples
CVS command-line example (for non-Windows OSes):
cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs co src-sbbs3 lib
CVS command-line example (for Windows):
cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs co src-sbbs3 lib-win32
Login
If you have not already done so, you will need to login to the CVS repository at least once (the install/GNUmakefile
for logs-in for you when installing on *nix using CVS):
cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs login
Changes
In October of 2011, the /lib
and /include
modules in the Synchronet CVS repository were deprecated (and removed on October 26th) and a new top level module (/3rdp
) was introduced which includes pre-built third-party libraries and header files for Win32 builds and source archives (e.g. tarballs) and build files for *nix builds.
The lib
and lib-win32
module aliases actually refer to sub-directories of the /3rdp
module.
Updating
To update your Synchronet source files from CVS, execute from the parent of your Synchronet src
directory (e.g. /sbbs
):
cvs update -d src 3rdp
To update your Synchronet executable script and module files from CVS, after backing-up your exec directory, execute from your Synchronet exec
directory (e.g. /sbbs/exec
):
cvs update -d
Checking Status
To get a list of locally-modified files (in the current working directory), run a dummy checkout with the command:
cvs -qn update
Example:
$ cvs -qn update U ftpsrvr.c M jsexec.c M smbutil.c M xtrn.cpp
In this example, the file ftpsrvr.c
was touched but contains no changes while the files jsexec.c
, smbutil.c
, and xtrn.cpp
have local modifications.
A normal cvs update
while merge in up-stream changes (changes made by others in the repository), but its possible those changes may conflict in which case the file status will be displayed as C
and those merge-conflicts must be resolved using an editor (or the local file deleted and checked-out again from the repository).
For a detailed status of all the CVS-tracked files in the current working directory, use the cvs status
command.