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

Diff for /www/Attic/ctm.html between version 1.18 and 1.19

version 1.18, 2001/10/16 19:02:21 version 1.19, 2001/11/02 21:17:19
Line 9 
Line 9 
 <img alt="CTM for OpenBSD" src="images/bsdctm.gif" width="401" height="126">  <img alt="CTM for OpenBSD" src="images/bsdctm.gif" width="401" height="126">
 </center>  </center>
   
 <H3>What is CTM?</H3>  <H3><font color="#0000e0">What is CTM?</font></H3>
   
 <P>  <P>
 CTM is a system which was designed by Poul-Henning Kamp for making  CTM is a system which was designed by Poul-Henning Kamp for making
 changes to a source tree available on a daily basis by email.  changes to a source tree available on a regular basis by email.
 This is a good way to stay up to date with the current source tree or  This is a good way to stay up to date with the current source tree or
 CVS repository if you have a slow Internet connection, for instance via modem.  CVS repository if you have a slow Internet connection, for instance via modem.
   
 <P>  <P>
   OpenBSD CTM distributes all modules of the OpenBSD CVS repository
   plus checked out versions of several of theses modules.
 CTM uses very low bandwidth for distributing the changes to the tree,  CTM uses very low bandwidth for distributing the changes to the tree,
 and compresses them using <tt><b>gzip -9</b></tt>.  In contrast to  and compresses them using <tt><b>gzip -9</b></tt>.  In contrast to
 <a href="cvsup.html">CVSup</a>, CTM is written in plain C language  <a href="cvsup.html">CVSup</a>, CTM is written in plain C language
 and therefore available for every platform supported by OpenBSD.  and therefore available for every platform supported by OpenBSD.
   CTM implements a so called push system, while all other methods to
   get access to the OpenBSD CVS repository are pull systems.
   
 <p>  <p>
 For <b>any</b> problems, suggestions, reports and questions regarding CTM,  For <b>any</b> problems, suggestions, reports and questions regarding CTM,
Line 30 
Line 34 
 <small>(Please do not ask other OpenBSD people for CTM support,  <small>(Please do not ask other OpenBSD people for CTM support,
 as they are busy doing other things.  Thank you.)</small>  as they are busy doing other things.  Thank you.)</small>
   
 <H3>How does it work?</H3>  <H3><font color="#0000e0">How does it work?</font></H3>
   
 <P>  <P>
 The basic idea of CTM is that you subscribe to a special mailing list  The basic idea of CTM is that you subscribe to a special mailing list
 for a particular source tree. Each day you receive an email message  for a particular CVS module or source tree. Each day you receive email messages
 containing all the changes to that tree during that period.  containing all the changes to that tree during that period.
 One such set of differences is called a <b>delta</b>.  One such set of differences is called a <b>delta</b>.
 Actually, the CTM server makes new deltas every twelve hours.  Actually, the CTM server makes new deltas every twelve hours.
Line 53 
Line 57 
 <P>  <P>
 There are currently two kinds of base set files.  For quite a while we  There are currently two kinds of base set files.  For quite a while we
 were making <tt><b>tar.gz</b></tt> files manually, but we are  were making <tt><b>tar.gz</b></tt> files manually, but we are
 switching back to real CTM base deltas.  The latter contain  back to real CTM base deltas.  The latter contain
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=md5&sektion=1">md5(1)</a>  <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=md5&sektion=1">md5(1)</a>
 checksums and are generated automatically, thus are a bit safer.  You  checksums and are generated automatically, thus are a bit safer.  You
 can distinguish these two kinds of base sets by their filename.  An  can distinguish these two kinds of base sets by their filename.  An
Line 62 
Line 66 
 would be named <tt><b>OpenBSD-cvs.1500A.gz</b></tt>.  See below for  would be named <tt><b>OpenBSD-cvs.1500A.gz</b></tt>.  See below for
 detailed instructions.  detailed instructions.
   
 <H3>How much bandwidth does CTM use?</H3>  <H3><font color="#0000e0">How much bandwidth does CTM use?</font></H3>
   
 <P>  <P>
 You obtain the base set and all relative deltas up to the recent one  You obtain the base set and all relative deltas up to the recent one
 via ftp from the sites listed below.  Sizes are:  via ftp from the sites listed below.  Sizes are:
   
 <ul>  <ul>
 <li>Approximately 115MB for OpenBSD-cvs.  <li>Approximately 215MB for OpenBSD-cvs.
 <li>Approximately 37MB for OpenBSD-cvs-x11.  <li>Approximately 40MB for OpenBSD-cvs-x11.
 <li>Approximately 56MB for OpenBSD-cvs-xf4.  <li>Approximately 65MB for OpenBSD-cvs-xf4.
 <li>Approximately 65MB for OpenBSD-src.  <li>Approximately 83MB for OpenBSD-src.
 <li>Approximately 35MB for OpenBSD-src-x11.  <li>Approximately 36MB for OpenBSD-src-x11.
 <li>Approximately 2MB for OpenBSD-ports.  <li>Approximately 4MB for OpenBSD-ports.
 <br>Keep in mind that these are compressed sizes.  The uncompressed  <br>Keep in mind that these are compressed sizes.  The uncompressed
     files are about five times as large.      files are about five times as large.
 <li>Relative deltas vary from 10kB to 500kB, and occasionally a couple of  <li>Relative deltas vary from 10kB to 500kB, and occasionally a couple of
Line 84 
Line 88 
 <li>If a delta is larger than 5MB, it is not sent via mail.  Instead,  <li>If a delta is larger than 5MB, it is not sent via mail.  Instead,
     you will receive a notification to get the delta by ftp.  Larger      you will receive a notification to get the delta by ftp.  Larger
     CTM updates are rare, though, usually occurring only after a major      CTM updates are rare, though, usually occurring only after a major
     import of something like binutils, perl, gcc, etc, or applying a      import of something like binutils, Perl, gcc, XFree86, etc., or applying a
     CVS tag to the CVS repository.      tag to the CVS repository.
 </ul>  </ul>
   
 <H3>How do I use CTM?</H3>  <H3><font color="#0000e0">How do I use CTM?</font></H3>
   
 <UL>  <UL>
 <LI>Subscribe to the CTM mailing list for the source set you want.  <LI>Subscribe to the CTM mailing list for the source set you want.
Line 100 
Line 104 
    <p>     <p>
    The following commands will subscribe you to the appropriate lists:     The following commands will subscribe you to the appropriate lists:
 <p>  <p>
 For the CVS repository (without the X11 and XF4 modules):  For the CVS repository (CVSROOT, ports, src and www modules,
   but not X11 and XF4):
 <pre>  <pre>
         echo subscribe OpenBSD-cvs | mail majordomo@OpenBSD.org          echo subscribe OpenBSD-cvs | mail majordomo@OpenBSD.org
 </pre>  </pre>
Line 108 
Line 113 
 <pre>  <pre>
         echo subscribe OpenBSD-cvs-x11 | mail majordomo@OpenBSD.org          echo subscribe OpenBSD-cvs-x11 | mail majordomo@OpenBSD.org
 </pre>  </pre>
 For the source tree (without the X11 and XF4 modules):  For the XF4 module of the CVS repository:
 <pre>  <pre>
           echo subscribe OpenBSD-cvs-xf4 | mail majordomo@OpenBSD.org
   </pre>
   For a checked out copy of the src module:
   <pre>
         echo subscribe OpenBSD-src | mail majordomo@OpenBSD.org          echo subscribe OpenBSD-src | mail majordomo@OpenBSD.org
 </pre>  </pre>
 For the X11 module of the source tree:  For a checked out copy of the X11 module:
 <pre>  <pre>
         echo subscribe OpenBSD-src-x11 | mail majordomo@OpenBSD.org          echo subscribe OpenBSD-src-x11 | mail majordomo@OpenBSD.org
 </pre>  </pre>
 For the ports tree:  For a checked out copy of the ports module:
 <pre>  <pre>
         echo subscribe OpenBSD-ports-ctm | mail majordomo@OpenBSD.org          echo subscribe OpenBSD-ports-ctm | mail majordomo@OpenBSD.org
 </pre>  </pre>
Line 125 
Line 134 
         echo subscribe ctm-log | mail majordomo@OpenBSD.org          echo subscribe ctm-log | mail majordomo@OpenBSD.org
 </pre>  </pre>
   
 There is no mailing list for the XF4 module, yet.  It is available  
 via FTP only.  
   
 <p>  <p>
 <li>Install the CTM program from a package or from the ports  <li>Install the CTM program from a package or from the ports
 collection.  You'll find the port at  collection.  You'll find the port at
Line 154 
Line 160 
 or  or
   
 <pre>  <pre>
         cat split/OpenBSD-cvs.1500.tar.gz.* &gt; OpenBSD-cvs.1500.tar.gz          cat split/OpenBSD-cvs.1450.tar.gz.* &gt; OpenBSD-cvs.1450.tar.gz
         cd target          cd target
         tar -xzvf .../OpenBSD-cvs.1500.tar.gz          tar -xzvf .../OpenBSD-cvs.1450.tar.gz
 </pre>  </pre>
   
 <p>  <p>
Line 171 
Line 177 
   
 <p>  <p>
 <li>You now need to get the deltas which have been generated since the  <li>You now need to get the deltas which have been generated since the
 base set.  Go to the FTP site in the subdirectory  base set.  Go to one of the FTP sites listed below into the subdirectory
 <tt><b>OpenBSD-cvs</b></tt> and download every file whose number is  <tt><b>OpenBSD-cvs</b></tt> and download every file whose number is
 <em>larger</em> than the number of the base set you used. Then apply  <em>larger</em> than the number of the base set you used. Then apply
 these deltas:  these deltas:
Line 207 
Line 213 
   
 <p>  <p>
 Repeat this last step every time you receive a delta from the  Repeat this last step every time you receive a delta from the
 mailing list.  If you like, you can automate this step using procmail  mailing list.  If you like, you can automate this step using procmail,
 or any similar program.  maildrop, or any similar program from the
   <a href="ports.html">ports collection</a>.
 </ul>  </ul>
   
 <p>  <p>
 The addresses of the FTP servers carrying CTM deltas are:  Here is the list of FTP servers carrying CTM deltas:
   
 <ul>  <ul>
 <li>The primary FTP server can be reached at:  <li>The primary FTP server can be reached at:
Line 234 
Line 241 
 <p>  <p>
 This server is updated by CTM deltas received from the mailing lists.  It  This server is updated by CTM deltas received from the mailing lists.  It
 additionally has the split base deltas in the <tt><b>base</b></tt>  additionally has the split base deltas in the <tt><b>base</b></tt>
 subdirectory.  subdirectory, mirrored from
   <a href="ftp://openbsd.rug.ac.be:/pub/OpenBSD-ctm/">
        ftp://openbsd.rug.ac.be:/pub/OpenBSD-ctm/
   </a>.
 </ul>  </ul>
   
 <ul>  <ul>
Line 261 
Line 271 
       mirror these deltas.        mirror these deltas.
 <p>  <p>
   
 <h3>Should I choose the source tree or the CVS repository?</h3>  <h3><font color="#0000e0">Should I choose the source tree or the CVS repository?</font></h3>
   
 <P>  <P>
 This depends on your diskspace, among other factors.  Since CTM  This depends on your diskspace, among other factors.  Since CTM
 doesn't deal very well with files which have been modified locally,  doesn't deal very well with files which have been modified locally,
 the "better" choice is probably the <a href="anoncvs.html">CVS</a>  the better choice is surely the <a href="anoncvs.html">CVS</a>
 repository.  You can check out your working copy of the source tree  repository.  You can check out your working copy of the source tree
 from your CVS repository then, and keep your local modifications in  from your CVS repository then, can track a stable branch,
   and keep your local modifications in
 your source tree.  CVS is smart enough to merge in your local changes.  your source tree.  CVS is smart enough to merge in your local changes.
 You can also use the full range of CVS commands except <tt><b>cvs  You can also use the full range of CVS commands except commands like
 commit</b></tt>.  <tt><b>cvs commit</b></tt> and <tt><b>cvs tag</b></tt>.
   
 <p>  <p>
 The drawback, however, is the amount of diskspace it takes.  A  The drawback, however, is the amount of diskspace it takes.  A
 checked-out source tree takes about 350MB or so, but if you have your  checked-out source tree takes about 370MB or so, but if you have your
 own CVS repository you need more than 1Gb for it, <b>plus</b> another  own CVS repository you need more than 1Gb for it, <b>plus</b> another
 350MB for the checked out tree.  370MB for the checked out tree.
 This doesn't count the 100MB or more (depending on the architecture)  This doesn't count the 100MB or more (depending on the architecture)
 you will need to do a build, i.e. compile the sources.  you will need for generated files during a build, i.e. compiling the sources.
   
 <p>  <p>
 If you just get the source tree, you will need to deal with local  If you just get the source tree, you will need to deal with local
Line 319 
Line 330 
   
 <p>  <p>
 The commands <tt><b>ls -W</b></tt> and <tt><b>rm -W</b></tt> will be  The commands <tt><b>ls -W</b></tt> and <tt><b>rm -W</b></tt> will be
 useful too, as objects named "whiteouts" in <tt><b>/usr/src</b></tt> will also hide  useful too, as objects named "whiteouts" in <tt><b>/usr/src</b></tt>
 files in <tt><b>src-ctm</b></tt>.  will also hide files in <tt><b>src-ctm</b></tt>.
   
 <p>  <p>
 If you get the CVS repository, you can use the <tt><b>cvs checkout</b></tt>  If you get the CVS repository, you can use the <tt><b>cvs checkout</b></tt>
Line 332 
Line 343 
 To get an initial src repository:  To get an initial src repository:
 <pre>  <pre>
         cd /usr          cd /usr
         cvs -qd YOUR_CVS_REPOSITORY checkout -A src          cvs -qd YOUR_CVS_REPOSITORY checkout -PA src
 </pre>  </pre>
 <p>  <p>
 and after each CTM update:  and after each CTM update:
Line 341 
Line 352 
         cvs -q update -PAd          cvs -q update -PAd
 </pre>  </pre>
   
 <H3>How stable is CTM for OpenBSD?</H3>  <H3><font color="#0000e0">How stable is CTM for OpenBSD?</font></H3>
   
 CTM has been in use for over four years for OpenBSD, and for FreeBSD  CTM has been in use for over five years for OpenBSD, and for FreeBSD
 for an even longer period of time.  CTM is very reliable and stable.  for an even longer period of time.  CTM is very reliable and stable.
   
 <h3>What does the future hold for CTM?</h3>  <h3><font color="#0000e0">What does the future hold for CTM?</font></h3>
   
 There are numerous (small) changes and optimizations possible.  There are numerous (small) changes and optimizations possible.
 Among them:  Among them:
Line 366 
Line 377 
      new features, like signing CTM deltas with PGP.       new features, like signing CTM deltas with PGP.
 </ul>  </ul>
   
 <H3>More information</H3>  Mail <a href="mailto:hgw@d1906.inka.de">me</a> your opinions and wishes!
   
   <H3><font color="#0000e0">More information</font></H3>
   
 If you want to learn more about CTM, a good place to start with is the  If you want to learn more about CTM, a good place to start with is the
 FreeBSD Handbook:  FreeBSD Handbook:
   
Line 379 
Line 392 
   
 There are also man pages for all of the CTM utilities.  There are also man pages for all of the CTM utilities.
   
 <h3>Summary:</h3>  <h3><font color="#0000e0">Summary:</font></h3>
   
 <p>  <p>
   
 <ul>  <ul>
 <li> Mailing lists:  <li> Mailing lists:
   
    <ul>     <ul>
    <li><tt>echo subscribe OpenBSD-cvs | mail majordomo@OpenBSD.org</tt>     <li><tt>echo subscribe OpenBSD-cvs | mail majordomo@OpenBSD.org</tt>
    <li><tt>echo subscribe OpenBSD-cvs-x11 | mail majordomo@OpenBSD.org</tt>     <li><tt>echo subscribe OpenBSD-cvs-x11 | mail majordomo@OpenBSD.org</tt>
      <li><tt>echo subscribe OpenBSD-cvs-xf4 | mail majordomo@OpenBSD.org</tt>
    <li><tt>echo subscribe OpenBSD-src | mail majordomo@OpenBSD.org</tt>     <li><tt>echo subscribe OpenBSD-src | mail majordomo@OpenBSD.org</tt>
    <li><tt>echo subscribe OpenBSD-src-x11 | mail majordomo@OpenBSD.org</tt>     <li><tt>echo subscribe OpenBSD-src-x11 | mail majordomo@OpenBSD.org</tt>
    <li><tt>echo subscribe OpenBSD-ports-ctm | mail majordomo@OpenBSD.org</tt>     <li><tt>echo subscribe OpenBSD-ports-ctm | mail majordomo@OpenBSD.org</tt>
Line 410 
Line 423 
 </ul>  </ul>
   
 <p>  <p>
 Important notes and announcements about CTM will be posted to:  Important notes and announcements about CTM will be posted to the
 <ul>  announce@OpenBSD.org mailing list.
 <li> announce@OpenBSD.org  
 <li> misc@OpenBSD.org  
 </ul>  
   
 <p>  <p>
   
 <H3>Acknowledgements</H3>  <H3><font color="#0000e0">Acknowledgements</font></H3>
   
 <ul>  <ul>
 <li> Poul-Henning Kamp (phk@FreeBSD.org) for making CTM possible and helping  <li> Poul-Henning Kamp (phk@FreeBSD.org) for making CTM possible and helping

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19