Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

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.

See Also