[OpenBSD]

CVSup


Table of Contents


What Is CVSup?

CVSup is a software package for distributing and updating source trees from a master cvs(1) 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(8) 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. Note that CVS and CVSup are entirely different programs. Although CVS can be used for remote file access, it is not optimized for wholesale source tree distribution over the net, and CVSup can be easily an order of magnitude more efficient for this task.

Getting Started Using CVSup

Building CVSup from the sources can prove cumbersome since it is written in Modula-3. The lang/ezm3 port provides a smaller distribution of the Modula-3 compiler and runtime system for people whose only need for Modula-3 is to build CVSup. Nevertheless, if you only care about running CVSup, it is recommended that you download the cvsup package from the ftp mirror sites instead of building your own from the net/cvsup port. Currently the OpenBSD ports of Ezm3 and consequently CVSup are only available on the i386 platform.

For further information about CVSup, see the author's project homepage.

In order to mirror the OpenBSD repository with 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
        #OpenBSD-xf4

This directs cvsup to refresh all OpenBSD distributions from cvsup.uk.openbsd.org with a umask(2) that permits group write permission to the local repository.

Assuming this file is saved as cvs-supfile, the following command would be used to invoke 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_9 src

Or OPENBSD_2_8 for 2.8, 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 20 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 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.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
cvsup.usa.openbsd.org

located in West Lafayette, Indiana, 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
anoncvs1.usa.openbsd.org

located in Redwood City, California, western USA; maintained by Todd Miller.
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
anoncvs3.usa.openbsd.org

located at the University of Colorado, Boulder, western USA; maintained by Todd Miller.
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 in Oslo, 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 João 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
anoncvs.de.openbsd.org

also known as grappa.unix-ag.uni-kl.de.
located at the University of Kaiserslautern, Germany; maintained by Christian Weisgerber.
Updated every 6 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
rt.fm

located at Lake in the Hills, Illinois, USA; maintained by Joshua Stein.
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
skeleton.phys.spbu.ru

located in St. Petersburg State University, St. Petersburg, Russia; maintained by Dima Veselov.
Updated every 4 hours.

Available collections:

OpenBSD-ports - The ports repository
cvsup.jp.OpenBSD.org

located at Otemachi, Tokyo, Japan; maintained by CVSup Administrator.
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.tw.OpenBSD.org

located at National Chiao-Tung University, Taiwan; maintained by Ying-Chieh Liao.
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
wiretapped.net

located in Sydney Australia; maintained by Grant Bayley.
Updated every 6 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
mirror.osn.de

located in Germany maintained by Armin Wolfermann.
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-xf4 - The XFree86-4 repository
OpenBSD-all - All OpenBSD repositories
cvsup2.de.openbsd.org

also known as openbsd.informatik.uni-erlangen.de.
located at the University of Erlangen, Germany; maintained by Alexander von Gernler.
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.bg.openbsd.org

located in Plovdiv, Bulgaria, maintained by Ventsislav Velkov.
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.open.bsd.lv

located in Riga, Latvia; maintained by Peter Dunaskin.
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

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(8) 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 December 8, 2004), the CVS repository sizes are

OpenBSD-ports - 168MB
OpenBSD-src - 1310MB
OpenBSD-www - 161MB
OpenBSD-x11 - 200MB
OpenBSD-xf4 - 525MB

There is an additional overhead of 271MB for the CVSROOT directory. The overall repository size currently increases at a rate of about 400MB 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.85 2004/12/09 00:10:10 nick Exp $