Annotation of www/ctm.html, Revision 1.2
1.1 graichen 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
2: <HTML>
3: <HEAD>
4: <TITLE>CTM</TITLE>
5: </HEAD>
6: <BODY>
7:
8: <H1>CTM for OpenBSD </H1>
9:
10: <P><FONT SIZE=+1>... get the current OpenBSD source- or cvs-tree daily
11: via email </FONT></P>
12:
13: <P>
14: <HR WIDTH="100%"></P>
15:
16: <H3>WHAT IS CTM ?</H3>
17:
1.2 ! jkatz 18: <P>ctm is a system which was designed by Poul-Henning Kamp for making all
1.1 graichen 19: the changes to the FreeBSD source- and cvs-tree (and some other trees -
20: like the FreeBSD ports-tree) available on a daily (or multiple time per
21: day) basis by email. this is a very good way to stay up to date with the
22: current source- or cvs-tree if you have a bad internet connection - for
23: instance via modem. </P>
24:
25: <P>ctm uses only very low bandwith for distributing the changes to the
26: tree - and it compresses these differences using gzip -9.</P>
27:
28: <H3>HOW DOES IT WORK ?</H3>
29:
30: <P>the basic idea of ctm is - that you subscribe to a special mailinglist
31: to get the daily changes of the OpenBSD source- or cvs-tree and then you'll
32: get a mail each day containing all the changes to the tree (maybe we increase
33: the number of ctm files sent per day in the future) - one such set of differences
34: is called a "delta".</P>
35:
36: <P>if you received your first delta - you have to download all the delta's
37: until the first delta you received by email - this always starts with a
38: big - so called "base delta" - which contains the full source
39: tree you start with. starting from this big one all other deltas only contain
40: the changes to the tree of the day of the delta generation. to avoid that
41: you have to get the base delta and then some hundred relative deltas a
42: new base delta is generated as a startpoint each 100 relative delta's -
43: so that you always have to get less than hundred relative deltas for starting
44: ctm :-)</P>
45:
46: <H3>HOW MUCH BANDWIDTH DOES CTM USE ?</H3>
47:
48: <P>as said above the base delta contains the full source- or cvs-tree so
49: it is really big - you'll have to get it via ftp from the site below. here
50: are the sizes of the current base deltas: ~ 45 mbyte for OpenBSD-src.0001.gz
51: - the base delta for the source-tree ~ 55 mbyte for OpenBSD-cvs.0001.gz
52: - the base delta for the cvs-tree and the size of the relative deltas vary
53: from ~ 10 kbyte to ~ 100 kbyte usually and sometimes they are some (1,2
54: or 3) mbytes - but they are always split into 100 kbyte mails which will
55: automatically assembled from the ctm-programs - the bigger sizes come from
56: bigger changes in the source- or cvs-tree (update of the binutils, import
57: of perl etc.)</P>
58:
59: <H3>HOW DO I USE CTM ?</H3>
60:
61: <P>ctm is very simple to use: </P>
62:
63: <LI>subscribe to the ctm mailinglist you want</LI>
64:
65: <UL>
66: <P><TT>echo subscribe OpenBSD-src | mail majordomo@OpenBSD.org for the
67: source-tree</TT></P>
68: </UL>
69:
70: <P>or</P>
71:
72: <UL>
73: <P><TT>echo subscribe OpenBSD-cvs | mail majordomo@OpenBSD.org for the
74: cvs-tree</TT></P>
75: </UL>
76:
77: <P>you should also subscribe to</P>
78:
79: <UL>
80: <P><TT>echo subscribe ctm-announce | mail majordomo@OpenBSD.org</TT></P>
81: </UL>
82:
83: <P>on this list i'll post announcements for users of ctm and there is also
84: a list for somekind of a log of the ctm delta generation - so you can see
85: what is all in the ctm delta and if the assembling of it succeeded - you
86: should really subscribe to this list if you use ctm using</P>
87:
88: <UL>
89: <P><TT>echo subscribe ctm-log | mail majordomo@OpenBSD.org</TT></P>
90: </UL>
91:
92: <LI>wait until you get your first delta</LI>
93:
94: <LI>unpack and assemble the ctm delta using ctm_rmail (for the sources
95: to all the ctm-programs see below)</LI>
96:
97: <UL>
98: <P><TT>ctm_rmail -p. -d. -b. the_mail_folder_containing_the_ctm_delta_mail</TT></P>
99: </UL>
100:
101: <P>after that you should have the bare ctm delta there (something like
102: OpenBSD-cvs.0015.gz or so)</P>
103:
104: <LI>if you have this - get all the deltas beginning with 0001 up to your
105: first mail-received one via ftp from ftp.cs.tu-berlin.de:/pub/bsd/CTM/OpenBSD
106: also known as ftp6.de.FreeBSD.org:/pub/bsd/CTM/OpenBSD for the tree you
107: subscribed too - i'm very interested in sites all over the world who wan't
108: to mirror this or want to put up the ctm deltas there too</LI>
109:
110: <LI>then run ctm (you can get the sources of ctm which should compile at
111: least on OpenBSD just fine from the same ftp adress - maybe you have to
112: tweak it a bit for other systems - you may need the libmd from the FreeBSD
113: sources there eventually)</LI>
114:
115: <UL>
116: <P><TT>cd where_you_want_your_source_tree_to_be</TT></P>
117:
118: <P><TT>ctm -v -v /where_your_ctm_deltas_are_stored/OpenBSD-src.*</TT></P>
119: </UL>
120:
121: <P>or</P>
122:
123: <UL>
124: <P><TT>cd where_you_want_your_cvs_tree_to_be</TT></P>
125:
126: <P><TT>ctm -v -v /where_your_ctm_deltas_are_stored/OpenBSD-cvs.*</TT></P>
127: </UL>
128:
129: <LI>this will take some time for the base delta - and less time for the
130: relative ones * now you can run ctm_rmail and ctm on every new ctm delta
131: to get up to date</LI>
132:
133: <H3>WHAT SHOULD I CHOOSE - SOURCE- OR CVS-TREE VIA CTM ?</H3>
134:
135: <P>this simply depends on your diskspace - the better is the cvs-tree -
136: because you can make modifications to the local checked out copy (ctm can't
137: yet handle modifications in files it want to update) - but the drawback
138: is a _lot_ of diskspace - you need currently ~ 240 mbyte for the full cvs-tree
139: and ~ 200 mbyte for the checked out source tree plus ~ 100 mbyte for the
140: obj files while "make build" if you have enough space then go
141: for the cvs-tree - then you simply have to check out a local copy of the
142: source tree after the first ctm -v -v command using cd /usr cvs -q checkout
143: -PA src and after each new applied ctm relative delta you have to run cd
144: /usr cvs -q update -PAd src to get your local copy up to date if you don't
145: have enough space so you can use ctm for getting the checked out copy of
146: the source tree - but then you have to think about the handling of local
147: modifications - at this point someone from the NetBSD people is using a
148: mixture of null and union mounts and some scripts for doing this - if i
149: remember right it was something like this /usr/src-local is null mounted
150: to /usr/src - /usr/src-ctm is union mounted to /usr/src so you have all
151: local modifications in /usr/src-local and you have to run a script which
152: does something like for all files in /usr/src-local diff them against the
153: /usr/src-ctm versions and apply this patch to a fresh ctm applied /usr/src-ctm
154: tree mounted in the above way against a fresh /usr/src-local directory
155: the union mount of /usr/src-ctm guaranties that the /usr/src-ctm tree is
156: not modified which is very importand for the operation of ctm all this
157: is just a rough idea - all in all - it is doable because someone from the
158: NetBSD people is definitely doing it in a way close to this one</P>
159:
160: <H3>HOW STABLE IS CTM FOR OpenBSD ?</H3>
161:
162: <P>i will call this now more than a "public beta" state - i'm
163: using ctm now for more than two months to stay up to date with the OpenBSD
164: cvs-tree without any problems - and also the FreeBSD people use ctm very
165: extensively for years know without any major problems i think (i also use
166: ctm for FreeBSD now for about half a year without any problems) so i think
167: you really can trust ctm - in the last weeks also some other people used
168: it and i haven't heard aboutany problems so far</P>
169:
170: <H3>WHERE CAN I FIND MORE INFORMATION ABOUT CTM FOR OpenBSD ?</H3>
171:
172: <P>here :-) - but you can take all the information from FreeBSD and you
173: have the man-pages for the ctm-programs in the ctm source-package there
174: are some informations about the use and ideas of ctm in the FreeBSD handbook
175: - which you will find under http://www.FreeBSD.org/handbook/ctm.html</P>
176:
177: <P>if you have problems with ctm you may also ask me - i'll try to help
178: you as far as i can and as far as i have enough time (which is a big problem
179: in the moment)</P>
180:
181: <H3>OK - IF YOU GOT HERE ...</H3>
182:
183: <P>... and decided to use ctm from now on - here's the summary of adresses:
184: mailinglists: </P>
185:
186: <LI><TT>echo subscribe OpenBSD-src | majordomo@OpenBSD.org</TT></LI>
187:
188: <LI><TT>echo subscribe OpenBSD-cvs | majordomo@OpenBSD.org</TT></LI>
189:
190: <LI><TT>echo subscribe ctm-announce | majordomo@OpenBSD.org</TT></LI>
191:
192: <LI><TT>echo subscribe ctm-log | majordomo@OpenBSD.org</TT></LI>
193:
194: <P>ftp server:</P>
195:
196: <LI>ftp.cs.tu-berlin.de:/pub/bsd/CTM/OpenBSD</LI>
197:
198: <LI>ftp6.de.FreeBSD.org:/pub/bsd/CTM/OpenBSD</LI>
199:
200: <P>there you'll find the deltas and the sources to ctm (ctm.tar.gz - simply
201: put it into /usr/src/usr.sbin and it should compile fine under OpenBSD)</P>
202:
203: <P>i'll also make any importnat notes and announcements about ctm in</P>
204:
205: <LI>ctm-announce@OpenBSD.org</LI>
206:
207: <LI>misc@OpenBSD.org</LI>
208:
209: <P>and the big ones in</P>
210:
211: <LI>announce@OpenBSD.org</LI>
212:
213: <P>and pleeese - send me a mail if you use ctm for OpenBSD so that i can
214: see how many people are using it !</P>
215:
216: <H3>THANKS ...</H3>
217:
218: <P>... go to: </P>
219:
220: <LI>poul-henning kamp (phk@FreeBSD.org) for making ctm possible and helping
221: me getting the delta generation running</LI>
222:
223: <LI>theo de raadt (deraadt@theos.com) for making OpenBSD possible :-) and
224: giving me all the ressources i needed for creating the ctm deltas on cvs.OpenBSD.org</LI>
225:
226: <LI>wolfram schneider (wosch@FreeBSD.org) for setting up the ftp space
227: for the deltas on ftp.cs.tu-berlin.de</LI>
228:
229: <LI>... and all the others who contributed indirectly</LI>
230:
231: <P>SO - GOOD LUCK WITH CTM FOR OpenBSD wishes</P>
232:
233: <P>t</P>
234:
235: <HR></LI>
236:
237: <ADDRESS><A HREF="mailto:graichen@OpenBSD.org">Thomas Graichen</A></ADDRESS>
238:
239: <P><!-- Created: Mon Oct 28 22:20:54 MET 1996 --><!-- hhmts start -->Last
240: modified: Mon Oct 28 22:24:34 MET <!-- hhmts end --></P>
241:
242: </BODY>
243: </HTML>