diff options
Diffstat (limited to 'share/doc/handbook/ctm.sgml')
-rw-r--r-- | share/doc/handbook/ctm.sgml | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/share/doc/handbook/ctm.sgml b/share/doc/handbook/ctm.sgml new file mode 100644 index 0000000..341c918 --- /dev/null +++ b/share/doc/handbook/ctm.sgml @@ -0,0 +1,199 @@ +<!-- +# This is the sgml version of the ctm.FAQ file. +# +# Converted by Ollivier RObert <roberto@FreeBSD.ORG> +# +# $Id: m_ctm.sgml,v 1.1 1995/04/10 02:35:55 jfieber Exp $ +# +# ---------------------------------------------------------------------------- +# "THE BEER-WARE LICENSE" (Revision 42): +# <phk@login.dknet.dk> wrote this file. As long as you retain this notice you +# can do whatever you want with this stuff. If we meet some day, and you think +# this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp +# ---------------------------------------------------------------------------- +# +--> + +<sect><heading>CTM</heading> + +<p><em>Contributed by &a.phk;. Updated 16-Mar-1995.</em> + + <tt/CTM/ is a method for keeping a remote directory tree in sync with a + central one. It has been developed for usage with FreeBSD's source + trees, though other people may find it useful for other purposes as + time goes by. Little, if any, documentation currently exists at + this time on the process of creating deltas, so talk to &a.phk; + for more information should you wish to use <tt/CTM/ for other things. + + <sect1>Why should I use <tt/CTM/ ? + <p><tt/CTM/ will give you a local copy of the ``FreeBSD-current'' + sources. If you are an active developer on FreeBSD, but have lousy + or non-existent TCP/IP connectivity, <tt/CTM/ was made for you. + You will need to transfer up to four deltas per day (or you can + have them arrive in email automatically), the sizes for which are + always kept as small as possible. This is typically less than 5K, + with the occasional (one in ten) being 10-50K and every now and + then a biggie of 100K+ or more coming around. + + You will also need to make yourself aware of the various caveats in + running ``current'' sources, and for this it is recommended that + you refer to the relevant FAQ which can be found in + <verb> + /usr/share/FAQ/Text/current-policy.FAQ + </verb> + <!-- XXX --> + + <sect1>What do I need to use <tt/CTM/? + + <p>You will need two things: The ``<tt/CTM/'' program and the initial + deltas to feed it (to get up to ``current'' levels). + + The <tt/CTM/ program is in the <tt/FreeBSD-current/ tree from + version 2.0.0 and forward (<tt>/usr/src/usr.sbin/<tt/CTM/</tt>). + If you are running an older version of FreeBSD, you can fetch the + current <tt/CTM/ sources directly from: + + <url + url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm"> + + The ``deltas'' you feed <tt/CTM/ can be had two ways, ftp or email. + If you have general ftp access to the Internet, then the following + ftp sites support access to <tt/CTM/: + + <url url="ftp://freefall.cdrom.com/pub/CTM"> + + Ftp the the relevant directory and fetch the <tt/README/ file, + starting from there. + + If you only have access to electronic mail or are otherwise blocked + from using ftp, then you may wish to your deltas via email: + + Send email to <tt/<majordomo@freebsd.org>/ to subscribe to + the list ``ctm-src-cur''. (If you do not know how to subscribe + yourself using majordomo, send a message first containing the + word ``help'', it will send you back usage instructions.) + + When you begin receiving your <tt/CTM/ updates in the mail, you may + use the <tt/ctm_rmail/ program to unpack and apply them with. You + can actually use the <tt/ctm_rmail/ program directly from a entry + in <tt>/etc/aliases</tt> if you want. Check the <tt/ctm_rmail/ man + page for more details. + + <bf/NOTE/: No matter what method you use to get the <tt/CTM/ + deltas, you should subscribe to the <tt/ctm-announce@freebsd.org/ + mailing list. In the future this will be the only place where + announcements about the operation of the <tt/CTM/ system will be + posted. Send an email to <tt/majordomo@freebsd.org/ with a single + line of ``<tt/subscribe ctm-announce/'' to get added to the list. + + <sect1>Starting off with <tt/CTM/ for the first time: + <p>Before you can start using <tt/CTM/ deltas, you will need to get a + special ``base'' delta that provides a starting point for all + deltas produced subsequently to it. + + You can recognize a base delta by the ``<tt/A/'' appended to the + number (<tt/src-cur.0341A.gz/ for instance). As a rule a base + delta is produced every 100 deltas, the next one will be + <tt/src-cur.0400A.gz/. By the way, they are large! 25 to 30 + Megabytes of <tt/gzip/'ed data is common for a base delta. + + If you do have the 2.0-RELEASE <tt/srcdist/, you can instead + retreive the <tt/src-cur.0372R20.gz/ file, it's only 4Mb and it + will take you to current from the 2.0-RELEASE sources. + + Once you've picked a base delta to start from, you will also need + all deltas with higher numbers following it. + + <sect1>Using <tt/CTM/ in your daily life: + <p>To apply the deltas, simply say + <verb> + cd /where/ever/you/want/the/stuff + ctm -v -v /where/you/store/your/deltas/src-cur.* + </verb> + <tt/CTM/ understands deltas which have been put through <tt/gzip/, + so you don't need to gunzip them first, this saves diskspace. + + Unless it feels very secure about the entire process, <tt/CTM/ will + not touch your tree. To check out a delta you can also use the + ``<tt/-c/'' flag and <tt/CTM/ won't actually touch your tree, but + only check the integrity of the delta, and see if it would apply + cleanly to the tree. + + There are other options to <tt/CTM/ as well, look in the sources. + + I would also be very happy if somebody could help with the ``user + interface'' portions, as I have realized that I can't make up my + mind on what options should do what, how and when... + + That's really all there is to it. Everytime you get a new delta, + you run it through <tt/CTM/. + + Don't remove the deltas if they are hard to download again. You + just might want to keep them around in case something bad happens. + Even if you only have floppy disks, consider using <tt/fdwrite/ to + make a copy. + + + <sect1>Future plans for <tt/CTM/ + <p> + Tons of them: + <itemize> + <item> + Make local modifications to the tree possible. One way to do + it could be this:<p> When <tt/CTM/ wants to edit the file + ``<tt>foo/bar.c</tt>'', it would first check for the existence + of <tt>foo/bar.c#CTM</tt> If this file exists, the delta is + applied to it instead. This way the <tt>foo/bar.c</tt> file + can be edited to suit local needs. + <item> + Make a ``restore file(s)'' option to <tt/CTM/, something like: + <verb> + ctm -r src/sys/i386/wd.c /here/are/my/deltas/src-cur.* + </verb> + would restore <tt/wd.c/ to the current status from the files. + <item> + Clean up the options to <tt/CTM/, they became confusing and + counter intuitive. + </itemize> + + The bad news is that I am very busy, so any help in doing this will + be most welcome. And don't forget to tell me what you want also... + + <sect1>Miscellaneous stuff + <p> + All the ``DES infected'' (e.g. export controlled) source is not + included. You will get the ``international'' version only. If + sufficient interest appears, we will set up a ``<tt/sec-cur/'' + sequence too. + + If you are a frequent or valuable contributor to FreeBSD, I will be + willing to arrange special services, one option is delivery via + <tt/ftp/ or <tt/rcp/ to a machine closer to you. You need to have + earned this, since it takes time to do, but I'll be all the more + happy to do it for you then. + + There is a sequence of deltas for the <tt/ports/ collection too, + but interest has not been all that high yet. Tell me if you want + an email list for that too and we'll consider setting it up. + + If you have commit priviledges or are similary authorized by the + FreeBSD core team, you can also get access to the CVS repository + tree by the same means. Contact &a.phk; + for details. + + + <sect1>Thanks! + <p> + <descrip> + <tag/Bruce Evans/ + for his pointed pen and invaluable comments. + <tag/Soren Schmidt/ + for patience. + <tag/Stephen McKay/ + wrote <tt/ctm_[rs]mail/, much appreciated. + <tag/Jordan Hubbard/ + for being so stubborn that I had to make it better. + <tag/All the users/ + I hope you like it... + </descrip> + |