[BACK]Return to ctm.html CVS log [TXT][DIR] Up to [local] / www

Annotation of www/ctm.html, Revision 1.28

1.24      xsa         1: <!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN"
                      2:        "http://www.w3.org/TR/html4/loose.dtd">
                      3: <html>
                      4: <head>
                      5: <title>CTM</title>
                      6: <link rev="made" href="mailto:www@openbsd.org">
                      7: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                      8: <meta name="resource-type" content="document">
                      9: <meta name="description" content="the OpenBSD/CTM page">
                     10: <meta name="keywords" content="openbsd,ctm">
                     11: <meta name="distribution" content="global">
                     12: <meta name="copyright" content="This document copyright 1996-2004 by OpenBSD.">
                     13: </head>
                     14: <body bgcolor="#FFFFFF" text="#000000" link="#23238E">
1.1       graichen   15:
1.5       flipk      16: <center>
1.13      naddy      17: <img alt="CTM for OpenBSD" src="images/bsdctm.gif" width="401" height="126">
1.5       flipk      18: </center>
1.1       graichen   19:
1.24      xsa        20: <h3><font color="#0000e0">What is CTM?</font></h3>
1.1       graichen   21:
1.24      xsa        22: <p>
1.14      naddy      23: CTM is a system which was designed by Poul-Henning Kamp for making
1.19      naddy      24: changes to a source tree available on a regular basis by email.
1.14      naddy      25: This is a good way to stay up to date with the current source tree or
                     26: CVS repository if you have a slow Internet connection, for instance via modem.
1.1       graichen   27:
1.24      xsa        28: <p>
1.19      naddy      29: OpenBSD CTM distributes all modules of the OpenBSD CVS repository
1.21      pvalchev   30: plus checked out versions of several of these modules.
1.14      naddy      31: CTM uses very low bandwidth for distributing the changes to the tree,
                     32: and compresses them using <tt><b>gzip -9</b></tt>.  In contrast to
                     33: <a href="cvsup.html">CVSup</a>, CTM is written in plain C language
                     34: and therefore available for every platform supported by OpenBSD.
1.19      naddy      35: CTM implements a so called push system, while all other methods to
                     36: get access to the OpenBSD CVS repository are pull systems.
1.14      naddy      37:
                     38: <p>
1.16      horacio    39: For <b>any</b> problems, suggestions, reports and questions regarding CTM,
1.14      naddy      40: contact the CTM maintainer
                     41: <a href="mailto:hgw@d1906.inka.de">Hans G&uuml;nter Weigand</a>.
                     42: <small>(Please do not ask other OpenBSD people for CTM support,
                     43: as they are busy doing other things.  Thank you.)</small>
1.1       graichen   44:
1.24      xsa        45: <h3><font color="#0000e0">How does it work?</font></h3>
1.1       graichen   46:
1.24      xsa        47: <p>
1.14      naddy      48: The basic idea of CTM is that you subscribe to a special mailing list
1.19      naddy      49: for a particular CVS module or source tree. Each day you receive email messages
1.5       flipk      50: containing all the changes to that tree during that period.
1.14      naddy      51: One such set of differences is called a <b>delta</b>.
1.15      naddy      52: Actually, the CTM server makes new deltas every twelve hours.
1.1       graichen   53:
1.26      david      54: <p>
1.13      naddy      55: You begin with a base set, against which later deltas are patched.  To
1.14      naddy      56: begin using CTM you download the latest base set and all deltas
1.13      naddy      57: generated after that.  Once you have processed those you can process
                     58: later deltas you receive from the mailing list. The base sets are split
1.14      naddy      59: into pieces of 1400kB each for easier downloading over bad lines.
1.1       graichen   60:
1.26      david      61: <p>
1.13      naddy      62: Base sets are generated once every 50 relative deltas, so you never
                     63: have to grab more than 50 deltas to catch up.
                     64:
1.26      david      65: <p>
1.14      naddy      66: There are currently two kinds of base set files.  For quite a while we
1.13      naddy      67: were making <tt><b>tar.gz</b></tt> files manually, but we are
1.19      naddy      68: back to real CTM base deltas.  The latter contain
1.23      naddy      69: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=md5&amp;sektion=1">md5(1)</a>
1.13      naddy      70: checksums and are generated automatically, thus are a bit safer.  You
1.16      horacio    71: can distinguish these two kinds of base sets by their filename.  An
1.13      naddy      72: example for a <tt><b>tar.gz</b></tt> file is
1.14      naddy      73: <tt><b>OpenBSD-cvs.1450.tar.gz</b></tt>, whereas a CTM base delta
1.13      naddy      74: would be named <tt><b>OpenBSD-cvs.1500A.gz</b></tt>.  See below for
                     75: detailed instructions.
1.1       graichen   76:
1.24      xsa        77: <h3><font color="#0000e0">How much bandwidth does CTM use?</font></h3>
1.1       graichen   78:
1.24      xsa        79: <p>
1.13      naddy      80: You obtain the base set and all relative deltas up to the recent one
                     81: via ftp from the sites listed below.  Sizes are:
1.5       flipk      82:
                     83: <ul>
1.19      naddy      84: <li>Approximately 215MB for OpenBSD-cvs.
                     85: <li>Approximately 40MB for OpenBSD-cvs-x11.
                     86: <li>Approximately 65MB for OpenBSD-cvs-xf4.
                     87: <li>Approximately 83MB for OpenBSD-src.
                     88: <li>Approximately 36MB for OpenBSD-src-x11.
                     89: <li>Approximately 4MB for OpenBSD-ports.
1.14      naddy      90: <br>Keep in mind that these are compressed sizes.  The uncompressed
1.13      naddy      91:     files are about five times as large.
1.14      naddy      92: <li>Relative deltas vary from 10kB to 500kB, and occasionally a couple of
1.13      naddy      93:     megabytes.
1.14      naddy      94: <li>CTM always splits deltas into 100kB mail messages which are reassembled
1.13      naddy      95:     automatically.
1.14      naddy      96: <li>If a delta is larger than 5MB, it is not sent via mail.  Instead,
                     97:     you will receive a notification to get the delta by ftp.  Larger
                     98:     CTM updates are rare, though, usually occurring only after a major
1.28    ! matthieu   99:     import of something like binutils, Perl, gcc, X, etc., or applying a
1.19      naddy     100:     tag to the CVS repository.
1.5       flipk     101: </ul>
1.1       graichen  102:
1.24      xsa       103: <h3><font color="#0000e0">How do I use CTM?</font></h3>
1.1       graichen  104:
1.24      xsa       105: <ul>
                    106: <li>Subscribe to the CTM mailing list for the source set you want.
1.5       flipk     107: <p>
1.14      naddy     108:    There are several mailing lists related to CTM.  There is a list for
                    109:    updates to the CVS repository, a list for the source tree, a list
1.13      naddy     110:    for the X11 part of both, and one for the ports tree, plus
1.14      naddy     111:    a list for log messages from the CTM delta generation runs.
1.5       flipk     112:    <p>
                    113:    The following commands will subscribe you to the appropriate lists:
1.13      naddy     114: <p>
1.19      naddy     115: For the CVS repository (CVSROOT, ports, src and www modules,
                    116: but not X11 and XF4):
1.13      naddy     117: <pre>
                    118:        echo subscribe OpenBSD-cvs | mail majordomo@OpenBSD.org
                    119: </pre>
1.15      naddy     120: For the X11 module of the CVS repository:
1.13      naddy     121: <pre>
                    122:        echo subscribe OpenBSD-cvs-x11 | mail majordomo@OpenBSD.org
                    123: </pre>
1.19      naddy     124: For the XF4 module of the CVS repository:
                    125: <pre>
                    126:        echo subscribe OpenBSD-cvs-xf4 | mail majordomo@OpenBSD.org
                    127: </pre>
                    128: For a checked out copy of the src module:
1.13      naddy     129: <pre>
                    130:        echo subscribe OpenBSD-src | mail majordomo@OpenBSD.org
                    131: </pre>
1.19      naddy     132: For a checked out copy of the X11 module:
1.13      naddy     133: <pre>
                    134:        echo subscribe OpenBSD-src-x11 | mail majordomo@OpenBSD.org
                    135: </pre>
1.19      naddy     136: For a checked out copy of the ports module:
1.13      naddy     137: <pre>
                    138:        echo subscribe OpenBSD-ports-ctm | mail majordomo@OpenBSD.org
                    139: </pre>
1.14      naddy     140: For the CTM log list:
1.13      naddy     141: <pre>
                    142:        echo subscribe ctm-log | mail majordomo@OpenBSD.org
                    143: </pre>
                    144:
                    145: <p>
1.14      naddy     146: <li>Install the CTM program from a package or from the ports
1.13      naddy     147: collection.  You'll find the port at
                    148: <tt><b>/usr/ports/devel/ctm</b></tt>.
                    149:
                    150: </ul>
                    151: <b>Note:</b> The examples below just cover OpenBSD-cvs for clarity. The
                    152: other source sets are handled in the same fashion.
                    153:
                    154: <p><ul>
                    155:
                    156: <li>Download the base set from an FTP site. You'll find it in the
                    157: subdirectory <tt><b>base/OpenBSD-cvs</b></tt>.  Get all files in
                    158: that directory.  Once you have them all you can create the base set
1.14      naddy     159: file and unpack it with the following commands, depending on the type
                    160: of file you got:
1.13      naddy     161:
                    162: <pre>
                    163:        cat split/OpenBSD-cvs.1500A.gz.* &gt; OpenBSD-cvs.1500A.gz
                    164:        cd target
                    165:        ctm -v -v -v .../OpenBSD-cvs.1500A.gz
                    166: </pre>
                    167: <p>
                    168: or
                    169:
                    170: <pre>
1.19      naddy     171:        cat split/OpenBSD-cvs.1450.tar.gz.* &gt; OpenBSD-cvs.1450.tar.gz
1.13      naddy     172:        cd target
1.19      naddy     173:        tar -xzvf .../OpenBSD-cvs.1450.tar.gz
1.13      naddy     174: </pre>
                    175:
                    176: <p>
                    177: where <tt><b>split</b></tt> is the directory in which you have
                    178: placed the files you downloaded and <tt><b>target</b></tt> is the
1.14      naddy     179: place you have chosen for unpacking the source set.
1.5       flipk     180:
1.14      naddy     181: <p> It is not necessary to keep these base set files around, if
                    182: you're sure you've got a complete tree.  But you can keep the base set
                    183: file(s) for backup purposes.  However, be sure to note the number of
                    184: the base set before continuing.
1.5       flipk     185:
                    186: <p>
1.13      naddy     187: <li>You now need to get the deltas which have been generated since the
1.19      naddy     188: base set.  Go to one of the FTP sites listed below into the subdirectory
1.13      naddy     189: <tt><b>OpenBSD-cvs</b></tt> and download every file whose number is
                    190: <em>larger</em> than the number of the base set you used. Then apply
                    191: these deltas:
1.5       flipk     192:
1.13      naddy     193: <pre>
                    194:        cd target
                    195:        ctm -v -v -v deltas/OpenBSD-cvs.*
                    196: </pre>
1.5       flipk     197:
1.13      naddy     198: <p>
                    199: where <tt><b>target</b></tt> is the directory where your source set
                    200: tree is, and <tt><b>deltas</b></tt> is where you have stored the
                    201: deltas.
1.5       flipk     202:
1.13      naddy     203: <p>
1.25      xsa       204: <li>Wait until you get your first delta from the mailing list.
1.13      naddy     205: <p>
1.25      xsa       206: <li>Unpack, assemble, and apply the CTM delta using <tt><b>ctm_rmail</b></tt>.
1.13      naddy     207: <p>
                    208:
                    209: <pre>
                    210:        ctm_rmail -p /tmp -d deltas -b target folder
                    211: </pre>
1.5       flipk     212:
                    213: <p>
1.13      naddy     214: where <tt><b>folder</b></tt> is the mail folder containing the delta
1.14      naddy     215: mail.  This will decode the CTM delta and save it in the
1.13      naddy     216: <tt><b>deltas</b></tt> directory.  The delta will be a file of the
                    217: form <tt><b>OpenBSD-cvs.<var>XXXX</var>.gz</b></tt>, where <var>XXXX</var>
                    218: is the number of the delta.  Then the delta will be applied to the
                    219: directory tree located at <tt><b>target</b></tt>, the place where you
1.14      naddy     220: unpacked the base set.
1.5       flipk     221:
                    222: <p>
1.13      naddy     223: Repeat this last step every time you receive a delta from the
1.19      naddy     224: mailing list.  If you like, you can automate this step using procmail,
                    225: maildrop, or any similar program from the
                    226: <a href="ports.html">ports collection</a>.
1.13      naddy     227: </ul>
1.5       flipk     228:
                    229: <p>
1.19      naddy     230: Here is the list of FTP servers carrying CTM deltas:
1.10      deraadt   231:
                    232: <ul>
1.15      naddy     233: <li>The primary FTP server can be reached at:
                    234: <p>
1.27      nick      235: <a href="ftp://togetic.kd85.com:/pub/OpenBSD-ctm/">
                    236:      ftp://togetic.kd85.com:/pub/OpenBSD-ctm/
1.15      naddy     237: </a>.
                    238: <p>
                    239: This server is automatically updated by the CTM delta generation process.
                    240: Base sets are
                    241: available as big single files in the <tt><b>base</b></tt> directory.
                    242: The split files are in <tt><b>base-split</b></tt>.
1.10      deraadt   243: </ul>
                    244:
                    245: <ul>
                    246: <li><a href="ftp://ctm.se.OpenBSD.org:/pub/OpenBSD-ctm/">
                    247:      ftp://ctm.se.OpenBSD.org:/pub/OpenBSD-ctm/
1.5       flipk     248: </a>
1.15      naddy     249: <p>
                    250: This server is updated by CTM deltas received from the mailing lists.  It
                    251: additionally has the split base deltas in the <tt><b>base</b></tt>
1.19      naddy     252: subdirectory, mirrored from
1.27      nick      253: <a href="ftp://togetic.kd85.com:/pub/OpenBSD-ctm/">
                    254:      ftp://togetic.kd85.com:/pub/OpenBSD-ctm/
1.19      naddy     255: </a>.
1.5       flipk     256: </ul>
                    257:
1.14      naddy     258: <ul>
1.15      naddy     259: <li><a href="ftp://ctm.OpenBSD.org:/pub/OpenBSD-ctm/">
                    260:      ftp://ctm.OpenBSD.org:/pub/OpenBSD-ctm/
                    261: </a>
                    262: <p>
                    263: is identical to
                    264: <p>
                    265: <li><a href="ftp://ctm.ca.OpenBSD.org:/pub/OpenBSD-ctm/">
                    266:      ftp://ctm.ca.OpenBSD.org:/pub/OpenBSD-ctm/
                    267: </a>
                    268: <p>
                    269: and is a mirror of
                    270: <a href="ftp://ctm.se.OpenBSD.org:/pub/OpenBSD-ctm/">
                    271:      ftp://ctm.se.OpenBSD.org
                    272: </a>
                    273: .
1.14      naddy     274: </ul>
                    275:
1.5       flipk     276: <p>
1.14      naddy     277: <b>NOTE:</b> <a href="mailto:hgw@d1906.inka.de">I'm</a> very interested
                    278:       in finding other sites around the world that would like to
                    279:       mirror these deltas.
1.5       flipk     280: <p>
1.1       graichen  281:
1.19      naddy     282: <h3><font color="#0000e0">Should I choose the source tree or the CVS repository?</font></h3>
1.1       graichen  283:
1.24      xsa       284: <p>
1.14      naddy     285: This depends on your diskspace, among other factors.  Since CTM
                    286: doesn't deal very well with files which have been modified locally,
1.19      naddy     287: the better choice is surely the <a href="anoncvs.html">CVS</a>
1.16      horacio   288: repository.  You can check out your working copy of the source tree
1.19      naddy     289: from your CVS repository then, can track a stable branch,
                    290: and keep your local modifications in
1.16      horacio   291: your source tree.  CVS is smart enough to merge in your local changes.
1.19      naddy     292: You can also use the full range of CVS commands except commands like
                    293: <tt><b>cvs commit</b></tt> and <tt><b>cvs tag</b></tt>.
1.5       flipk     294:
                    295: <p>
1.14      naddy     296: The drawback, however, is the amount of diskspace it takes.  A
1.19      naddy     297: checked-out source tree takes about 370MB or so, but if you have your
1.14      naddy     298: own CVS repository you need more than 1Gb for it, <b>plus</b> another
1.19      naddy     299: 370MB for the checked out tree.
1.13      naddy     300: This doesn't count the 100MB or more (depending on the architecture)
1.19      naddy     301: you will need for generated files during a build, i.e. compiling the sources.
1.5       flipk     302:
                    303: <p>
                    304: If you just get the source tree, you will need to deal with local
                    305: modifications.  One way to do this is to use the <b>union</b> filesystem,
1.23      naddy     306: (see <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mount_union&amp;sektion=8">mount_union(8)</a>)
1.16      horacio   307: although there have been reports that the <b>union</b> filesystem can be
                    308: unstable if both the upper and lower layers reside on the same physical
                    309: filesystem.  If you place your upper and lower layers on separate
                    310: filesystems you should have no problems.  A sample of this is as follows:
1.5       flipk     311:
                    312: <p>
1.14      naddy     313: Suppose your CTM-updated tree is in <tt><b>/usr/src-ctm</b></tt>, and
1.13      naddy     314: your real source tree, the one you make your modifications to and do
                    315: your builds from, is in <tt><b>/usr/src</b></tt>.
                    316: <tt><b>/usr/src</b></tt> should be initially an empty directory.  The
                    317: following command will set up the union mount:
                    318:
                    319: <pre>
                    320:        mount -t union -o -b /usr/src-ctm /usr/src
                    321: </pre>
                    322:
                    323: <p>
1.14      naddy     324: Modifications made to files in <tt><b>/usr/src</b></tt> will become a
                    325: file contained within <tt><b>/usr/src</b></tt>, hiding the one in
                    326: <tt><b>src-ctm</b></tt>.  If changes are made via CTM to the
                    327: underlying <tt><b>src-ctm</b></tt> tree, those changes will <b>not</b>
                    328: be seen if there is a file in the upper layer hiding it.
1.5       flipk     329:
                    330: <p>
                    331: You should periodically unmount the
                    332: union and search for files which are local to the union filesystem.
1.13      naddy     333:
                    334: <pre>
                    335:        umount /usr/src
                    336:        find /usr/src -type f
                    337: </pre>
                    338:
                    339: <p>
                    340: The commands <tt><b>ls -W</b></tt> and <tt><b>rm -W</b></tt> will be
1.19      naddy     341: useful too, as objects named "whiteouts" in <tt><b>/usr/src</b></tt>
                    342: will also hide files in <tt><b>src-ctm</b></tt>.
1.13      naddy     343:
                    344: <p>
1.14      naddy     345: If you get the CVS repository, you can use the <tt><b>cvs checkout</b></tt>
                    346: command to check out a source tree from it.  Each time you update
                    347: with CTM you can use the <tt><b>cvs update</b></tt> command to
                    348: update your source repository.
1.13      naddy     349:
                    350: <p>
1.14      naddy     351: To get an initial src repository:
1.13      naddy     352: <pre>
                    353:        cd /usr
1.20      chris     354:        cvs -qd YOUR_CVS_REPOSITORY checkout -P src
1.13      naddy     355: </pre>
                    356: <p>
1.14      naddy     357: and after each CTM update:
1.13      naddy     358: <pre>
                    359:        cd /usr/src
1.20      chris     360:        cvs -q update -Pd
1.13      naddy     361: </pre>
1.5       flipk     362:
1.24      xsa       363: <h3><font color="#0000e0">How stable is CTM for OpenBSD?</font></h3>
1.5       flipk     364:
1.19      naddy     365: CTM has been in use for over five years for OpenBSD, and for FreeBSD
1.14      naddy     366: for an even longer period of time.  CTM is very reliable and stable.
                    367:
1.19      naddy     368: <h3><font color="#0000e0">What does the future hold for CTM?</font></h3>
1.14      naddy     369:
                    370: There are numerous (small) changes and optimizations possible.
1.15      naddy     371: Among them:
1.14      naddy     372:
                    373: <ul>
1.15      naddy     374: <li> CTM never sends a delta bigger than 5MB via mail.  This could be
1.14      naddy     375:      changed in two ways: The maximum delta size could be increased,
                    376:      or a queue could be installed, from which only a certain number
1.15      naddy     377:      of messages are mailed out daily.  E. g., if a delta is 6MB in
1.14      naddy     378:      size, it is split into 96 mail messages.  These are put into a
                    379:      queue.  On the first day, the first 50 messages are sent, on the
                    380:      second day the remaining 46, plus the first 4 messages of the
                    381:      following delta.
1.15      naddy     382: <li> The CTM software could be rewritten, or at least fixed in a
1.22      miod      383:      better manner.  Its C implementation is not an example of good
1.15      naddy     384:      programming.  That would also be a nice opportunity for adding
                    385:      new features, like signing CTM deltas with PGP.
1.14      naddy     386: </ul>
1.5       flipk     387:
1.19      naddy     388: Mail <a href="mailto:hgw@d1906.inka.de">me</a> your opinions and wishes!
                    389:
1.24      xsa       390: <h3><font color="#0000e0">More information</font></h3>
1.5       flipk     391:
1.14      naddy     392: If you want to learn more about CTM, a good place to start with is the
1.13      naddy     393: FreeBSD Handbook:
1.5       flipk     394:
                    395: <ul>
                    396: <li> <a href="http://www.FreeBSD.org/handbook/ctm.html">
                    397:          http://www.FreeBSD.org/handbook/ctm.html
                    398:      </a>
                    399: </ul>
                    400:
1.14      naddy     401: There are also man pages for all of the CTM utilities.
1.5       flipk     402:
1.19      naddy     403: <h3><font color="#0000e0">Summary:</font></h3>
1.5       flipk     404:
                    405: <p>
                    406: <ul>
                    407: <li> Mailing lists:
                    408:
                    409:    <ul>
1.13      naddy     410:    <li><tt>echo subscribe OpenBSD-cvs | mail majordomo@OpenBSD.org</tt>
                    411:    <li><tt>echo subscribe OpenBSD-cvs-x11 | mail majordomo@OpenBSD.org</tt>
1.19      naddy     412:    <li><tt>echo subscribe OpenBSD-cvs-xf4 | mail majordomo@OpenBSD.org</tt>
1.13      naddy     413:    <li><tt>echo subscribe OpenBSD-src | mail majordomo@OpenBSD.org</tt>
                    414:    <li><tt>echo subscribe OpenBSD-src-x11 | mail majordomo@OpenBSD.org</tt>
                    415:    <li><tt>echo subscribe OpenBSD-ports-ctm | mail majordomo@OpenBSD.org</tt>
                    416:    <li><tt>echo subscribe ctm-log | mail majordomo@OpenBSD.org</tt>
1.5       flipk     417:    </ul>
1.15      naddy     418: <p>
1.14      naddy     419: <li> FTP (for base sets and relative deltas):
1.5       flipk     420:
                    421:    <ul>
1.27      nick      422:    <li> <a href="ftp://togetic.kd85.com:/pub/OpenBSD-ctm/">
                    423:         ftp://togetic.kd85.com:/pub/OpenBSD-ctm/</a>
1.18      jufi      424:    <li> <a href="ftp://ctm.OpenBSD.org:/pub/OpenBSD-ctm/">
                    425:         ftp://ctm.OpenBSD.org:/pub/OpenBSD-ctm/</a>
                    426:    <li> <a href="ftp://ctm.ca.OpenBSD.org:/pub/OpenBSD-ctm/">
                    427:         ftp://ctm.ca.OpenBSD.org:/pub/OpenBSD-ctm/</a>
                    428:    <li> <a href="ftp://ctm.se.OpenBSD.org:/pub/OpenBSD-ctm/">
                    429:         ftp://ctm.se.OpenBSD.org:/pub/OpenBSD-ctm/</a>
1.5       flipk     430:    </ul>
                    431: </ul>
                    432:
                    433: <p>
1.19      naddy     434: Important notes and announcements about CTM will be posted to the
                    435: announce@OpenBSD.org mailing list.
1.5       flipk     436:
                    437: <p>
                    438:
1.24      xsa       439: <h3><font color="#0000e0">Acknowledgements</font></h3>
1.5       flipk     440:
1.13      naddy     441: <ul>
1.14      naddy     442: <li> Poul-Henning Kamp (phk@FreeBSD.org) for making CTM possible and helping
1.13      naddy     443:      getting the delta generation running
1.5       flipk     444:
                    445: <li> Theo de Raadt (deraadt@theos.com) for making OpenBSD possible and
1.14      naddy     446:      initially providing the resources needed for creating the CTM
1.13      naddy     447:      deltas on cvs.OpenBSD.org (now they are generated elsewhere), and
1.10      deraadt   448:      for the nameserver magic
                    449:
                    450: <li> Todd C. Miller (millert@OpenBSD.org) for setting up and
1.14      naddy     451:      maintaining the CTM mailinglists
1.10      deraadt   452:
                    453: <li> Bob Beck (beck@OpenBSD.org), Artur Grabowski (art@OpenBSD.org),
                    454:      Magnus Holmberg (mho@OpenBSD.org) and
                    455:      Wolfram Schneider (wosch@FreeBSD.org) for setting up the ftp space
1.14      naddy     456:      for the base sets and deltas on ctm.*OpenBSD.org
1.1       graichen  457:
1.14      naddy     458: <li> Thomas Graichen (graichen@OpenBSD.org) for starting CTM for
1.13      naddy     459:      OpenBSD and maintaining it all those years
1.1       graichen  460:
1.14      naddy     461: <li> Wim Vandeputte (wvdputte@OpenBSD.org) for hosting CTM now
1.1       graichen  462:
1.13      naddy     463: <li> ... and all the others who contributed indirectly
                    464: </ul>
1.1       graichen  465:
                    466:
1.13      naddy     467: <p>
1.5       flipk     468: OpenBSD/CTM logo designed for the OpenBSD Project by
                    469:    <a href="mailto:flipk@openbsd.org">Phillip F Knaack</a>.
1.12      jufi      470: <p>
                    471: <hr>
                    472: <a href="index.html"><img height="24" width="24" src="back.gif" border="0" alt="OpenBSD" /></a>
                    473: <a href="mailto:www@openbsd.org">www@openbsd.org</a>
1.13      naddy     474: <br>
1.28    ! matthieu  475: <small>$OpenBSD: ctm.html,v 1.27 2005/05/10 22:38:37 nick Exp $</small>
1.1       graichen  476:
1.12      jufi      477: </body>
                    478: </html>