1130b656e5
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
202 lines
9.0 KiB
Plaintext
202 lines
9.0 KiB
Plaintext
<!--
|
|
# This is the sgml version of the ctm.FAQ file.
|
|
#
|
|
# Converted by Ollivier Robert <roberto@FreeBSD.ORG>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# ----------------------------------------------------------------------------
|
|
# "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<label id="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><heading>Why should I use <tt/CTM/?</heading>
|
|
<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 read <ref id="current" name="Staying current with FreeBSD">.
|
|
|
|
<sect1><heading>What do I need to use <tt/CTM/?</heading>
|
|
|
|
<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 has been part of FreeBSD ever since version 2.0
|
|
was released, and lives in <tt>/usr/src/usr.sbin/<tt/CTM/</tt> if you
|
|
have a copy of the source online.
|
|
|
|
If you are running a pre-2.0 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 e-mail.
|
|
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">
|
|
|
|
or see section <ref id="mirrors-ctm" name="mirrors">.
|
|
|
|
FTP 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 get your deltas via email:
|
|
|
|
Send email to &a.majordomo 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. You
|
|
can actually use the <tt/ctm_rmail/ program directly from a entry
|
|
in <tt>/etc/aliases</tt> if you want to have the process run in a
|
|
fully automated fashion. 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 concerning the operations of the <tt/CTM/ system will be
|
|
posted. Send an email to &a.majordomo with a single
|
|
line of ``<tt/subscribe ctm-announce/'' to get added to the list.
|
|
|
|
<sect1><heading>Starting off with <tt/CTM/ for the first time</heading>
|
|
<p>Before you can start using <tt/CTM/ deltas, you will need to get a
|
|
special ``base'' delta that provides the 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
|
|
retrieve the <tt/src-cur.0372R20.gz/ file, it is 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><heading>Using <tt/CTM/ in your daily life</heading>
|
|
<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 do not need to gunzip them first, this saves disk space.
|
|
|
|
Unless it feels very secure about the entire process, <tt/CTM/ will
|
|
not touch your tree. To verify a delta you can also use the
|
|
``<tt/-c/'' flag and <tt/CTM/ will not actually touch your tree; it will
|
|
merely verify the integrity of the delta and see if it would apply
|
|
cleanly to your current tree.
|
|
|
|
There are other options to <tt/CTM/ as well, look in the sources
|
|
for more details.
|
|
|
|
I would also be very happy if somebody could help with the ``user
|
|
interface'' portions, as I have realized that I cannot make up my
|
|
mind on what options should do what, how and when...
|
|
|
|
That's really all there is to it. Every time you get a new delta,
|
|
just run it through <tt/CTM/ to keep your sources up to date.
|
|
|
|
Do not 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><heading>Future plans for <tt/CTM/</heading>
|
|
<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 do not forget to tell me what you want also...
|
|
|
|
<sect1><heading>Miscellaneous stuff</heading>
|
|
<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 will 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 will consider setting it up.
|
|
|
|
If you have commit privileges or are similarly 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><heading>Thanks!</heading>
|
|
<p>
|
|
<descrip>
|
|
<tag/&a.bde;/
|
|
for his pointed pen and invaluable comments.
|
|
<tag/&a.sos;/
|
|
for patience.
|
|
<tag/Stephen McKay/
|
|
wrote <tt/ctm_[rs]mail/, much appreciated.
|
|
<tag/&a.jkh;/
|
|
for being so stubborn that I had to make it better.
|
|
<tag/All the users/
|
|
I hope you like it...
|
|
</descrip>
|
|
|