Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Mar 1995 01:37:55 +0100 (MET)
From:      roberto@blaise.ibp.fr (Ollivier Robert)
To:        doc@freebsd.org (FreeBSD's documentation list)
Subject:   ctm.sgml (again)
Message-ID:  <9503030037.AA01861@blaise.ibp.fr>

next in thread | raw e-mail | index | archive | help
Here is the file now (I was too fast :-))

Comment anyone ?

<!--
# This is the sgml version of the ctm.FAQ file.
#
# It was converted by Ollivier Robert <roberto@FreeBSD.ORG>
#
# $Id$
#
# ----------------------------------------------------------------------------
# "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
# ----------------------------------------------------------------------------
#
# Id ctm.FAQ,v 1.4 1995/03/01 05:41:14 phk Exp
#
-->

<!DOCTYPE linuxdoc PUBLIC "-//Linux//DTD linuxdoc//EN">
  <article>

      <title>Obtaining FreeBSD-current sources using CTM</title>
      <author>Poul-Henning Kamp <tt/&lt;phk@FreeBSD.ORG&gt;/</author>
      <date>1 march 1995</date>

      <abstract>
        <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
        <tt/&lt;phk@FreeBSD.ORG&gt;/ for more information should you wish
        to use <tt/CTM/ for other things.
      </abstract>
    <toc>


    <sect>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

        <tscreen>
          <verb>
            /usr/share/FAQ/current-policy.FAQ
          </verb>
        </tscreen>


    <sect>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:

        <tscreen>
          <verb>
            ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm
          </verb>
        </tscreen>

        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/:

        <tscreen>
          <verb>
            ftp://freefall.cdrom.com/pub/CTM
          </verb>
        </tscreen>

        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/&lt;majordomo@freebsd.org&gt;/ 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.


    <sect>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.


    <sect>Using <tt/CTM/ in your daily life:
      <p>

        To apply the deltas, simply say

        <tscreen>
          <verb>
            cd /where/ever/you/want/the/stuff
            ctm -v -v /where/you/store/your/deltas/src-cur.*
          </verb>
        </tscreen>


        <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.


    <sect>Plans
      <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&num;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...

    <sect>Misc. 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 me <tt/&lt;phk@FreeBSD.org&gt;/
        for details.


    <sect>Thanks!
      <p>
        <descrip>
          <tag/Bruce Evans/
            for his pointed pen and invaluable comments.
          <tag/Soren Schmidt/
            for patience.
          <tag/Stephen McKay/
            wrote <tt/ctm_&lsqb;rs&rsqb;mail/, much appreceiated.
          <tag/Jordan Hubbard/
            for being so stubborn that I had to make it better.
          <tag/All the users/
            I hope you like it...
        </descrip>

    <sect>Comments ?
      <p>
        email <tt/&lt;phk@FreeBSD.org&gt;/
        
        Poul-Henning
  </article>

-- 
Ollivier ROBERT     -=- The daemon is FREE! -=-     roberto@FreeBSD.ORG
   FreeBSD keltia 2.1.0-Development #14: Sun Feb 26 16:31:40 MET 1995



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9503030037.AA01861>