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

File: [local] / www / Attic / ctm.html (download) (as text)

Revision 1.4, Mon Jan 20 09:55:53 1997 UTC (27 years, 4 months ago) by graichen
Branch: MAIN
Changes since 1.3: +3 -3 lines

ftp.cs.tu-berlin.de is now ctm.OpenBSD.org

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
   <TITLE>CTM</TITLE>
</HEAD>
<BODY>

<H1>CTM for OpenBSD </H1>

<P><FONT SIZE=+1>... get the current OpenBSD source- or cvs-tree daily
via email </FONT></P>

<P>
<HR WIDTH="100%"></P>

<H3>WHAT IS CTM ?</H3>

<P>ctm is a system which was designed by Poul-Henning Kamp for making all
the changes to the FreeBSD source- and cvs-tree (and some other trees -
like the FreeBSD ports-tree) available on a daily (or multiple time per
day) basis by email. this is a very good way to stay up to date with the
current source- or cvs-tree if you have a bad internet connection - for
instance via modem. </P>

<P>ctm uses only very low bandwith for distributing the changes to the
tree - and it compresses these differences using gzip -9.</P>

<H3>HOW DOES IT WORK ?</H3>

<P>the basic idea of ctm is - that you subscribe to a special mailinglist
to get the daily changes of the OpenBSD source- or cvs-tree and then you'll
get a mail each day containing all the changes to the tree (maybe we increase
the number of ctm files sent per day in the future) - one such set of differences
is called a &quot;delta&quot;.</P>

<P>if you received your first delta - you have to download all the delta's
until the first delta you received by email - this always starts with a
big - so called &quot;base delta&quot; - which contains the full source
tree you start with. starting from this big one all other deltas only contain
the changes to the tree of the day of the delta generation. to avoid that
you have to get the base delta and then some hundred relative deltas a
new base delta is generated as a startpoint each 100 relative delta's -
so that you always have to get less than hundred relative deltas for starting
ctm :-)</P>

<H3>HOW MUCH BANDWIDTH DOES CTM USE ?</H3>

<P>as said above the base delta contains the full source- or cvs-tree so
it is really big - you'll have to get it via ftp from the site below. here
are the sizes of the current base deltas: ~ 45 mbyte for OpenBSD-src.0001.gz
- the base delta for the source-tree ~ 55 mbyte for OpenBSD-cvs.0001.gz
- the base delta for the cvs-tree and the size of the relative deltas vary
from ~ 10 kbyte to ~ 100 kbyte usually and sometimes they are some (1,2
or 3) mbytes - but they are always split into 100 kbyte mails which will
automatically assembled from the ctm-programs - the bigger sizes come from
bigger changes in the source- or cvs-tree (update of the binutils, import
of perl etc.)</P>

<H3>HOW DO I USE CTM ?</H3>

<P>ctm is very simple to use: </P>

<LI>subscribe to the ctm mailinglist you want</LI>

<UL>
<P><TT>echo subscribe OpenBSD-src | mail majordomo@OpenBSD.org for the
source-tree</TT></P>
</UL>

<P>or</P>

<UL>
<P><TT>echo subscribe OpenBSD-cvs | mail majordomo@OpenBSD.org for the
cvs-tree</TT></P>
</UL>

<P>you should also subscribe to</P>

<UL>
<P><TT>echo subscribe ctm-announce | mail majordomo@OpenBSD.org</TT></P>
</UL>

<P>on this list i'll post announcements for users of ctm and there is also
a list for somekind of a log of the ctm delta generation - so you can see
what is all in the ctm delta and if the assembling of it succeeded - you
should really subscribe to this list if you use ctm using</P>

<UL>
<P><TT>echo subscribe ctm-log | mail majordomo@OpenBSD.org</TT></P>
</UL>

<LI>wait until you get your first delta</LI>

<LI>unpack and assemble the ctm delta using ctm_rmail (for the sources
to all the ctm-programs see below)</LI>

<UL>
<P><TT>ctm_rmail -p. -d. -b. the_mail_folder_containing_the_ctm_delta_mail</TT></P>
</UL>

<P>after that you should have the bare ctm delta there (something like
OpenBSD-cvs.0015.gz or so)</P>

<LI>if you have this - get all the deltas beginning with 0001 up to your
first mail-received one via ftp from ctm.OpenBSD.org:/pub/bsd/CTM/OpenBSD
also known as ftp6.de.FreeBSD.org:/pub/bsd/CTM/OpenBSD for the tree you
subscribed too - i'm very interested in sites all over the world who wan't
to mirror this or want to put up the ctm deltas there too</LI>

<LI>then run ctm (you can get the sources of ctm which should compile at
least on OpenBSD just fine from the same ftp adress - maybe you have to
tweak it a bit for other systems - you may need the libmd from the FreeBSD
sources there eventually)</LI>

<UL>
<P><TT>cd where_you_want_your_source_tree_to_be</TT></P>

<P><TT>ctm -v -v /where_your_ctm_deltas_are_stored/OpenBSD-src.*</TT></P>
</UL>

<P>or</P>

<UL>
<P><TT>cd where_you_want_your_cvs_tree_to_be</TT></P>

<P><TT>ctm -v -v /where_your_ctm_deltas_are_stored/OpenBSD-cvs.*</TT></P>
</UL>

<LI>this will take some time for the base delta - and less time for the
relative ones * now you can run ctm_rmail and ctm on every new ctm delta
to get up to date</LI>

<H3>WHAT SHOULD I CHOOSE - SOURCE- OR CVS-TREE VIA CTM ?</H3>

<P>this simply depends on your diskspace - the better is the cvs-tree -
because you can make modifications to the local checked out copy (ctm can't
yet handle modifications in files it want to update) - but the drawback
is a _lot_ of diskspace - you need currently ~ 240 mbyte for the full cvs-tree
and ~ 200 mbyte for the checked out source tree plus ~ 100 mbyte for the
obj files while &quot;make build&quot; if you have enough space then go
for the cvs-tree - then you simply have to check out a local copy of the
source tree after the first ctm -v -v command using cd /usr cvs -q checkout
-PA src and after each new applied ctm relative delta you have to run cd
/usr cvs -q update -PAd src to get your local copy up to date if you don't
have enough space so you can use ctm for getting the checked out copy of
the source tree - but then you have to think about the handling of local
modifications - at this point someone from the NetBSD people is using a
mixture of null and union mounts and some scripts for doing this - if i
remember right it was something like this /usr/src-local is null mounted
to /usr/src - /usr/src-ctm is union mounted to /usr/src so you have all
local modifications in /usr/src-local and you have to run a script which
does something like for all files in /usr/src-local diff them against the
/usr/src-ctm versions and apply this patch to a fresh ctm applied /usr/src-ctm
tree mounted in the above way against a fresh /usr/src-local directory
the union mount of /usr/src-ctm guaranties that the /usr/src-ctm tree is
not modified which is very importand for the operation of ctm all this
is just a rough idea - all in all - it is doable because someone from the
NetBSD people is definitely doing it in a way close to this one</P>

<H3>HOW STABLE IS CTM FOR OpenBSD ?</H3>

<P>i will call this now more than a &quot;public beta&quot; state - i'm
using ctm now for more than two months to stay up to date with the OpenBSD
cvs-tree without any problems - and also the FreeBSD people use ctm very
extensively for years know without any major problems i think (i also use
ctm for FreeBSD now for about half a year without any problems) so i think
you really can trust ctm - in the last weeks also some other people used
it and i haven't heard aboutany problems so far</P>

<H3>WHERE CAN I FIND MORE INFORMATION ABOUT CTM FOR OpenBSD ?</H3>

<P>here :-) - but you can take all the information from FreeBSD and you
have the man-pages for the ctm-programs in the ctm source-package there
are some informations about the use and ideas of ctm in the FreeBSD handbook
- which you will find under http://www.FreeBSD.org/handbook/ctm.html</P>

<P>if you have problems with ctm you may also ask me - i'll try to help
you as far as i can and as far as i have enough time (which is a big problem
in the moment)</P>

<H3>OK - IF YOU GOT HERE ...</H3>

<P>... and decided to use ctm from now on - here's the summary of adresses:
mailinglists: </P>

<LI><TT>echo subscribe OpenBSD-src | mail majordomo@OpenBSD.org</TT></LI>

<LI><TT>echo subscribe OpenBSD-cvs | mail majordomo@OpenBSD.org</TT></LI>

<LI><TT>echo subscribe ctm-announce | mail majordomo@OpenBSD.org</TT></LI>

<LI><TT>echo subscribe ctm-log | mail majordomo@OpenBSD.org</TT></LI>

<P>ftp server:</P>

<LI>ctm.OpenBSD.org:/pub/bsd/CTM/OpenBSD</LI>

<LI>ftp6.de.FreeBSD.org:/pub/bsd/CTM/OpenBSD</LI>

<P>there you'll find the deltas and the sources to ctm (ctm.tar.gz - simply
put it into /usr/src/usr.sbin and it should compile fine under OpenBSD)</P>

<P>i'll also make any importnat notes and announcements about ctm in</P>

<LI>ctm-announce@OpenBSD.org</LI>

<LI>misc@OpenBSD.org</LI>

<P>and the big ones in</P>

<LI>announce@OpenBSD.org</LI>

<P>and pleeese - send me a mail if you use ctm for OpenBSD so that i can
see how many people are using it !</P>

<H3>THANKS ...</H3>

<P>... go to: </P>

<LI>poul-henning kamp (phk@FreeBSD.org) for making ctm possible and helping
me getting the delta generation running</LI>

<LI>theo de raadt (deraadt@theos.com) for making OpenBSD possible :-) and
giving me all the ressources i needed for creating the ctm deltas on cvs.OpenBSD.org</LI>

<LI>wolfram schneider (wosch@FreeBSD.org) for setting up the ftp space
for the deltas on ctm.OpenBSD.org</LI>

<LI>... and all the others who contributed indirectly</LI>

<P>SO - GOOD LUCK WITH CTM FOR OpenBSD wishes</P>

<P>t</P>

<HR></LI>

<ADDRESS><A HREF="mailto:graichen@OpenBSD.org">Thomas Graichen</A></ADDRESS>

<P><!-- Created: Mon Oct 28 22:20:54 MET 1996 --><!-- hhmts start -->Last
modified: Mon Oct 28 22:24:34 MET <!-- hhmts end --></P>

</BODY>
</HTML>