CVSup is a software package for distributing and updating source trees from a master CVS repository on a remote server host. The OpenBSD sources are maintained in a CVS repository on a central development machine in Canada. With CVSup, OpenBSD users can easily keep their own source trees up to date.
CVSup uses the so-called pull model of updating. Under the pull model, each client asks the server for updates, if and when they are wanted. The server waits passively for update requests from its clients. Thus all updates are instigated by the client. The server never sends unsolicited updates. Users must either run the CVSup client manually to get an update, or they must set up a cron job to run it automatically on a regular basis.
The term CVSup, capitalized just so, refers to the entire software package. Its main components are the client cvsup which runs on each user's machine, and the server cvsupd which runs at each of the OpenBSD CVSup mirror sites.
CVSup is intended to be both faster and more flexible than sup, CVSup's predecessor.
The OpenBSD Project currently has four main source repositories:
CVS is the source code control system used to manage the OpenBSD source tree. It is described in more detail here.
The latest version of CVSup is available at http://www.polstra.com/projects/freeware/CVSup/.
The following configuration file might be used:
# Defaults that apply to all the collections *default release=cvs *default delete use-rel-suffix *default umask=002 *default host=cvsup.uk.OpenBSD.org *default base=/cvs *default prefix=/cvs # If your network link is a T1 or faster, comment out the following line. *default compress OpenBSD-all #OpenBSD-src #OpenBSD-www #OpenBSD-ports #OpenBSD-x11
This directs cvsup to refresh all OpenBSD distributions from cvsup.uk.OpenBSD.org with a umask that permits group write permission to the local repository.
Assuming this file is saved as cvs-supfile, the following command would be used to envoke the cvsup GUI:
cvsup cvs-supfilewhereas for batch mode, the following might be used:
cvsup -g -L 2 cvs-supfile
It is now simple to checkout any one of the CVSup'd repositories:
# cd /usr # CVSROOT=/cvs cvs checkout src
# cd /usr # setenv CVSROOT /cvs # cvs checkout src
The above will checkout the most current sources. Many of you will only want the release sources, especially if you are patching your system. To checkout release sources you must specify a tag along with your command. For example:
# cd /usr # cvs checkout -rOPENBSD_2_6 srcOr OPENBSD_2_5 for 2.5, etc.
Available collections:
OpenBSD-src | - The src repository | |
OpenBSD-ports | - The ports repository | |
OpenBSD-www | - The www repository | |
OpenBSD-x11 | - The x11 repository | |
OpenBSD-all | - All OpenBSD repositories |
Note:, If your server is listed on here with inaccurate or unknown information, please contact beck@openbsd.org
You may want to use `traceroute' to find out which server is nearest you. Problems with a server should be reported to the maintainer of the server in question.
IMPORTANT NOTE: There are a few issues relating to cryptographic software that everyone should be aware of:
The OpenBSD project is looking for more CVSup servers -- if you are interested, please contact Brian Somers for configuration details.