[OpenBSD]

CVSup


Table of Contents


What Is CVSup?

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(1), CVSup's predecessor.

The OpenBSD Project currently has five main source repositories:

What Is CVS?

CVS is the source code control system used to manage the OpenBSD source tree. It is described in more detail here.

Getting Started Using CVSup

The latest version of CVSup is available at http://www.polstra.com/projects/freeware/CVSup/.

Building CVSup from the sources is not for the fainthearted since it is written in Modula-3. There is a port of the CVSup client (net/cvsup-bin) which provides John's pre-compiled executables for the i386 and sparc architectures that run under FreeBSD and SunOS emulation, respectively, since there is no native port of Modula-3 to OpenBSD yet.

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
        #OpenBSD-xf4

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-supfile

whereas for batch mode, the following might be used:

        cvsup -g -L 2 cvs-supfile

Using CVS to Update Your Source Tree

It is now simple to check out any one of the CVSup'ed repositories. For Korn/Bourne shells:

        # cd /usr
        # CVSROOT=/cvs cvs checkout src

For csh and its derivatives:

        # cd /usr
        # setenv CVSROOT /cvs
        # cvs checkout src

The above will check out 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 src

Or OPENBSD_2_5 for 2.5, etc.

Running CVSup in Checkout Mode

As an alternative to getting the repository and using CVS, you can run CVSup in checkout mode by adding a tag or date keyword to your supfile, either as a *default or as an option to a collection. In particular, you can use this to efficiently update the source and ports trees shipped on the CDROMs.

The following supfile could be used to update your ports tree:

        # Defaults that apply to all the collections
        *default host=cvsup.uk.openbsd.org
        *default base=/var
        *default prefix=/usr
        *default release=cvs
        *default delete use-rel-suffix compress

        # Ports Collection.
        OpenBSD-ports tag=.

Any CVS symbolic tag can be used. A single period "." means HEAD, i.e. the newest revision of all files in the main branch. Take care to specify an existing tag, as CVSup cannot distinguish valid from invalid tags, and an attempt to synchronize an existing source tree to an invalid tag will remove all files.

Alternatively, use the keyword date=[cc.]yy.mm.dd.hh.mm.ss to select a revision by date. All 17 or 19 characters must be given as shown. For the years 2000 and beyond, specify the century cc. For earlier years, specify only the last two digits yy. You may also combine the tag and date keywords.

Available CVSup Servers

The following CVSup servers are available:

cvsup.uk.OpenBSD.org

located in Brighton, UK; maintained by Brian Somers.
Updated every 2 hours.

Available collections:

OpenBSD-src - The src repository
OpenBSD-ports - The ports repository
OpenBSD-www - The www repository
OpenBSD-x11 - The XFree86-3 repository
OpenBSD-xf4 - The XFree86-4 repository
OpenBSD-all - All OpenBSD repositories
cvsup.de.OpenBSD.org

located near Frankfurt am Main, Germany; maintained by Wolfram Schneider.
Updated by CTM.

Available collections:

OpenBSD-src - The src repository
OpenBSD-ports - The ports repository
OpenBSD-www - The www repository
OpenBSD-x11 - The XFree86-3 repository
OpenBSD-all - All OpenBSD repositories
cvsup.hu.OpenBSD.org

located in Hungary; maintained by Mohacsi Janos.
Updated every 4 hours.

Available collections:

OpenBSD-src - The src repository
OpenBSD-ports - The ports repository
OpenBSD-www - The www repository
OpenBSD-x11 - The XFree86-3 repository
OpenBSD-all - All OpenBSD repositories
cvsup2.de.OpenBSD.org

located in Munich, Germany; maintained by Daniel Lang.
Updated every 24 hours.

Available collections:

OpenBSD-src - The src repository
OpenBSD-ports - The ports repository
OpenBSD-www - The www repository
OpenBSD-x11 - The XFree86-3 repository
OpenBSD-xf4 - The XFree86-4 repository
OpenBSD-all - All OpenBSD repositories
cvsup.fr.OpenBSD.org

located in France; maintained by Jean-Claude Christophe.
Updated every 12 hours.

Available collections:

OpenBSD-src - The src repository
OpenBSD-ports - The ports repository
OpenBSD-www - The www repository
OpenBSD-all - All OpenBSD repositories
cvsup.usa.OpenBSD.org

located in West Lafayette, IN, USA; maintained by Will Andrews.
Updated every 2 hours.

Available collections:

OpenBSD-src - The src repository
OpenBSD-ports - The ports repository
OpenBSD-www - The www repository
OpenBSD-x11 - The XFree86-3 repository
OpenBSD-xf4 - The XFree86-4 repository
OpenBSD-all - All OpenBSD repositories
cvsup.kr.OpenBSD.org

located in Seoul, Korea; maintained by Kim Kyung-Hwan.
Updated every 2 hours.

Available collections:

OpenBSD-src - The src repository
OpenBSD-ports - The ports repository
OpenBSD-www - The www repository
OpenBSD-x11 - The XFree86-3 repository
OpenBSD-xf4 - The XFree86-4 repository
OpenBSD-all - All OpenBSD repositories
cvsup.no.OpenBSD.org

located close to the Norwegian Internet eXchange, Norway; maintained by Anders Nordby.
Updated every 3 hours.

Available collections:

OpenBSD-src - The src repository
OpenBSD-ports - The ports repository
OpenBSD-www - The www repository
OpenBSD-x11 - The XFree86-3 repository
OpenBSD-xf4 - The XFree86-4 repository
OpenBSD-all - All OpenBSD repositories
cvsup.pt.OpenBSD.org

located at the University of Coimbra, Portugal; maintained by Joao Pedras.
Updated every 3 hours.

Available collections:

OpenBSD-src - The src repository
OpenBSD-ports - The ports repository
OpenBSD-www - The www repository
OpenBSD-x11 - The XFree86-3 repository
OpenBSD-xf4 - The XFree86-4 repository
OpenBSD-all - All OpenBSD repositories

Note:, If your server is listed on here with inaccurate or unknown information, please contact beck@openbsd.org or brian@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.

Currently (as of March 12, 2001), the CVS repository sizes are

OpenBSD-ports - 47MB
OpenBSD-src - 704MB
OpenBSD-www - 37MB
OpenBSD-x11 - 193MB
OpenBSD-xf4 - 262MB

There is an additional overhead of 33MB for the CVSROOT and sup directories. The overall repository size currently increases at a rate of about 170MB per annum.

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.


OpenBSD www@openbsd.org
$OpenBSD: cvsup.html,v 1.33 2001/05/12 09:56:56 brian Exp $