2666 lines
78 KiB
XML
2666 lines
78 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!--
|
|
The FreeBSD Documentation Project
|
|
|
|
$FreeBSD$
|
|
-->
|
|
|
|
<appendix id="mirrors">
|
|
<title>Obtaining &os;</title>
|
|
|
|
<sect1 id="mirrors-cdrom">
|
|
<title>CDROM and DVD Publishers</title>
|
|
|
|
<sect2>
|
|
<title>CD and DVD Sets</title>
|
|
|
|
<para>&os; CD and DVD sets are available from many online
|
|
retailers:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<address>
|
|
<otheraddr>&os; Mall, Inc.</otheraddr>
|
|
<street>2420 Sand Creek Rd C-1 #347</street>
|
|
<city>Brentwood</city>,
|
|
<state>CA</state>
|
|
<postcode>94513</postcode>
|
|
<country>USA</country>
|
|
Phone: <phone>+1 925 240-6652</phone>
|
|
Fax: <fax>+1 925 674-0821</fax>
|
|
Email: <email>info@freebsdmall.com</email>
|
|
WWW: <otheraddr><ulink
|
|
url="http://www.freebsdmall.com/"></ulink></otheraddr>
|
|
</address>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<address>
|
|
<otheraddr>Dr. Hinner EDV</otheraddr>
|
|
<street>Kochelseestr. 11</street>
|
|
<postcode>D-81371</postcode> <city>München</city>
|
|
<country>Germany</country>
|
|
Phone: <phone>(0177) 428 419 0</phone>
|
|
WWW: <otheraddr><ulink
|
|
url="http://www.hinner.de/linux/freebsd.html"></ulink></otheraddr>
|
|
</address>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<address>
|
|
<otheraddr>Linux Distro UK</otheraddr>
|
|
<street>42 Wharfedale Road</street>
|
|
<city>Margate</city>
|
|
<postcode>CT9 2TB</postcode>
|
|
<country>United Kingdom</country>
|
|
WWW: <otheraddr><ulink
|
|
url="https://linux-distro.co.uk/"></ulink></otheraddr>
|
|
</address>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<address>
|
|
<otheraddr>The Linux Emporium</otheraddr>
|
|
<street>The Techno Centre, Puma Way</street>
|
|
<city>Parkside</city>
|
|
<postcode>CV1 2TT</postcode>
|
|
<country>United Kingdom</country>
|
|
Phone: <phone>+44 (0)247 615 8121</phone>
|
|
Fax: <fax>+44 1491 837016</fax>
|
|
WWW: <otheraddr><ulink
|
|
url="http://www.linuxemporium.co.uk/products/bsd/"></ulink></otheraddr>
|
|
</address>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<address>
|
|
<otheraddr>LinuxCenter.Ru</otheraddr>
|
|
<street>Galernaya Street, 55</street>
|
|
<city>Saint-Petersburg</city>
|
|
<postcode>190000</postcode>
|
|
<country>Russia</country>
|
|
Phone: <phone>+7-812-3125208</phone>
|
|
Email: <email>info@linuxcenter.ru</email>
|
|
WWW: <otheraddr><ulink
|
|
url="http://linuxcenter.ru/shop/freebsd"></ulink></otheraddr>
|
|
</address>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="mirrors-ftp">
|
|
<title>FTP Sites</title>
|
|
|
|
<para>The official sources for &os; are available via anonymous
|
|
FTP from a worldwide set of mirror sites. The site
|
|
<ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/"></ulink> is well
|
|
connected and allows a large number of connections to it, but
|
|
you are probably better off finding a <quote>closer</quote>
|
|
mirror site (especially if you decide to set up some sort of
|
|
mirror site).</para>
|
|
|
|
<para>Additionally, &os; is available via anonymous FTP from the
|
|
following mirror sites. If you choose to obtain &os; via
|
|
anonymous FTP, please try to use a site near you. The mirror
|
|
sites listed as <quote>Primary Mirror Sites</quote> typically
|
|
have the entire &os; archive (all the currently available
|
|
versions for each of the architectures) but you will probably
|
|
have faster download times from a site that is in your country
|
|
or region. The regional sites carry the most recent versions
|
|
for the most popular architecture(s) but might not carry the
|
|
entire &os; archive. All sites provide access via anonymous FTP
|
|
but some sites also provide access via other methods. The
|
|
access methods available for each site are provided in
|
|
parentheses after the hostname.</para>
|
|
|
|
&chap.mirrors.ftp.index.inc;
|
|
|
|
&chap.mirrors.lastmod.inc;
|
|
|
|
&chap.mirrors.ftp.inc;
|
|
</sect1>
|
|
|
|
<sect1 id="anoncvs">
|
|
<title>Anonymous CVS (Deprecated)</title>
|
|
|
|
<sect2>
|
|
<title>Warning</title>
|
|
|
|
<warning>
|
|
<para>CVS has been deprecated by the project, and its use is
|
|
not recommended.
|
|
<ulink url="&url.books.handbook;/svn.html">Subversion</ulink>
|
|
should be used instead.</para>
|
|
</warning>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="ctm">
|
|
<title>Using CTM</title>
|
|
|
|
<indexterm>
|
|
<primary>CTM</primary>
|
|
</indexterm>
|
|
|
|
<para><application>CTM</application> is a method for keeping a
|
|
remote directory tree in sync with a central one. It has been
|
|
developed for usage with &os;'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 contact the
|
|
&a.ctm-users.name; mailing list for more information and if you
|
|
wish to use <application>CTM</application> for other
|
|
things.</para>
|
|
|
|
<sect2>
|
|
<title>Why Should I Use <application>CTM</application>?</title>
|
|
|
|
<para><application>CTM</application> will give you a local copy
|
|
of the &os; source trees. There are a number of
|
|
<quote>flavors</quote> of the tree available. Whether you
|
|
wish to track the entire CVS tree or just one of the branches,
|
|
<application>CTM</application> can provide you the
|
|
information. If you are an active developer on &os;, but have
|
|
lousy or non-existent TCP/IP connectivity, or simply wish to
|
|
have the changes automatically sent to you,
|
|
<application>CTM</application> was made for you. You will
|
|
need to obtain up to three deltas per day for the most active
|
|
branches. However, you should consider having them sent by
|
|
automatic email. The sizes of the updates are always kept as
|
|
small as possible. This is typically less than 5K, with an
|
|
occasional (one in ten) being 10-50K and every now and then a
|
|
large 100K+ or more coming around.</para>
|
|
|
|
<para>You will also need to make yourself aware of the various
|
|
caveats related to working directly from the development
|
|
sources rather than a pre-packaged release. This is
|
|
particularly true if you choose the <quote>current</quote>
|
|
sources. It is recommended that you read <link
|
|
linkend="current">Staying current with &os;</link>.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>What Do I Need to Use
|
|
<application>CTM</application>?</title>
|
|
|
|
<para>You will need two things: The
|
|
<application>CTM</application> program, and the initial deltas
|
|
to feed it (to get up to <quote>current</quote>
|
|
levels).</para>
|
|
|
|
<para>The <application>CTM</application> program has been part
|
|
of &os; ever since version 2.0 was released, and lives in
|
|
<filename>/usr/src/usr.sbin/ctm</filename> if you have a copy
|
|
of the source available.</para>
|
|
|
|
<para>The <quote>deltas</quote> you feed
|
|
<application>CTM</application> 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
|
|
<application>CTM</application>:</para>
|
|
|
|
<para><ulink
|
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/"></ulink></para>
|
|
|
|
<para>or see section <link
|
|
linkend="mirrors-ctm">mirrors</link>.</para>
|
|
|
|
<para>FTP the relevant directory and fetch the
|
|
<filename>README</filename> file, starting from there.</para>
|
|
|
|
<para>If you wish to get your deltas via email:</para>
|
|
|
|
<para>Subscribe to one of the
|
|
<application>CTM</application> distribution lists.
|
|
&a.ctm-src-cur.name; supports the entire Subversion tree.
|
|
&a.ctm-src-cur.name; supports the head of the development
|
|
branch. &a.ctm-src-9.name; supports the 9.X release branch,
|
|
etc.. (If you do not know how to subscribe yourself to a
|
|
list, click on the list name above or go to
|
|
&a.mailman.lists.link; and click on the list that you wish to
|
|
subscribe to. The list page should contain all of the
|
|
necessary subscription instructions.)</para>
|
|
|
|
<para>When you begin receiving your
|
|
<application>CTM</application> updates in the mail, you may
|
|
use the <command>ctm_rmail</command> program to unpack and
|
|
apply them. You can actually use the
|
|
<command>ctm_rmail</command> program directly from a entry in
|
|
<filename>/etc/aliases</filename> if you want to have the
|
|
process run in a fully automated fashion. Check the
|
|
<command>ctm_rmail</command> manual page for more
|
|
details.</para>
|
|
|
|
<note>
|
|
<para>No matter what method you use to get the
|
|
<application>CTM</application> deltas, you should subscribe
|
|
to the &a.ctm-announce.name; mailing list. In the future,
|
|
this will be the only place where announcements concerning
|
|
the operations of the <application>CTM</application> system
|
|
will be posted. Click on the list name above and follow the
|
|
instructions to subscribe to the list.</para>
|
|
</note>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Using <application>CTM</application> for the First
|
|
Time</title>
|
|
|
|
<para>Before you can start using <application>CTM</application>
|
|
deltas, you will need to get to a starting point for the
|
|
deltas produced subsequently to it.</para>
|
|
|
|
<para>First you should determine what you already have.
|
|
Everyone can start from an <quote>empty</quote> directory.
|
|
You must use an initial <quote>Empty</quote> delta to start
|
|
off your <application>CTM</application> supported tree. At
|
|
some point it is intended that one of these
|
|
<quote>started</quote> deltas be distributed on the CD for
|
|
your convenience, however, this does not currently
|
|
happen.</para>
|
|
|
|
<para>Since the trees are many tens of megabytes, you should
|
|
prefer to start from something already at hand. If you have a
|
|
-RELEASE CD, you can copy or extract an initial source from
|
|
it. This will save a significant transfer of data.</para>
|
|
|
|
<para>You can recognize these <quote>starter</quote> deltas by
|
|
the <literal>X</literal> appended to the number
|
|
(<filename>src-cur.3210XEmpty.gz</filename> for instance).
|
|
The designation following the <literal>X</literal> corresponds
|
|
to the origin of your initial <quote>seed</quote>.
|
|
<filename>Empty</filename> is an empty directory. As a rule a
|
|
base transition from <literal>Empty</literal> is produced
|
|
every 100 deltas. By the way, they are large! 70 to 80
|
|
Megabytes of <command>gzip</command>'d data is common for the
|
|
<filename>XEmpty</filename> deltas.</para>
|
|
|
|
<para>Once you have picked a base delta to start from, you will
|
|
also need all deltas with higher numbers following it.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Using <application>CTM</application> in Your Daily
|
|
Life</title>
|
|
|
|
<para>To apply the deltas, simply say:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /where/ever/you/want/the/stuff</userinput>
|
|
&prompt.root; <userinput>ctm -v -v /where/you/store/your/deltas/src-xxx.*</userinput></screen>
|
|
|
|
<para><application>CTM</application> understands deltas which
|
|
have been put through <command>gzip</command>, so you do not
|
|
need to <command>gunzip</command> them first, this saves disk
|
|
space.</para>
|
|
|
|
<para>Unless it feels very secure about the entire process,
|
|
<application>CTM</application> will not touch your tree. To
|
|
verify a delta you can also use the <option>-c</option> flag
|
|
and <application>CTM</application> 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.</para>
|
|
|
|
<para>There are other options to <application>CTM</application>
|
|
as well, see the manual pages or look in the sources for more
|
|
information.</para>
|
|
|
|
<para>That is really all there is to it. Every time you get a
|
|
new delta, just run it through <application>CTM</application>
|
|
to keep your sources up to date.</para>
|
|
|
|
<para>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 <command>fdwrite</command> to make a
|
|
copy.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Keeping Your Local Changes</title>
|
|
|
|
<para>As a developer one would like to experiment with and
|
|
change files in the source tree.
|
|
<application>CTM</application> supports local modifications in
|
|
a limited way: before checking for the presence of a file
|
|
<filename>foo</filename>, it first looks for
|
|
<filename>foo.ctm</filename>. If this file exists,
|
|
<application>CTM</application> will operate on it instead of
|
|
<filename>foo</filename>.</para>
|
|
|
|
<para>This behavior gives us a simple way to maintain local
|
|
changes: simply copy the files you plan to modify to the
|
|
corresponding file names with a <filename>.ctm</filename>
|
|
suffix. Then you can freely hack the code, while
|
|
<application>CTM</application> keeps the
|
|
<filename>.ctm</filename> file up-to-date.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Other Interesting <application>CTM</application>
|
|
Options</title>
|
|
|
|
<sect3>
|
|
<title>Finding Out Exactly What Would Be Touched by an
|
|
Update</title>
|
|
|
|
<para>You can determine the list of changes that
|
|
<application>CTM</application> will make on your source
|
|
repository using the <option>-l</option> option to
|
|
<application>CTM</application>.</para>
|
|
|
|
<para>This is useful if you would like to keep logs of the
|
|
changes, pre- or post- process the modified files in any
|
|
manner, or just are feeling a tad paranoid.</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Making Backups Before Updating</title>
|
|
|
|
<para>Sometimes you may want to backup all the files that
|
|
would be changed by a <application>CTM</application>
|
|
update.</para>
|
|
|
|
<para>Specifying the <option>-B backup-file</option> option
|
|
causes <application>CTM</application> to backup all files
|
|
that would be touched by a given
|
|
<application>CTM</application> delta to
|
|
<filename>backup-file</filename>.</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Restricting the Files Touched by an Update</title>
|
|
|
|
<para>Sometimes you would be interested in restricting the
|
|
scope of a given <application>CTM</application> update, or
|
|
may be interested in extracting just a few files from a
|
|
sequence of deltas.</para>
|
|
|
|
<para>You can control the list of files that
|
|
<application>CTM</application> would operate on by
|
|
specifying filtering regular expressions using the
|
|
<option>-e</option> and <option>-x</option> options.</para>
|
|
|
|
<para>For example, to extract an up-to-date copy of
|
|
<filename>lib/libc/Makefile</filename> from your collection
|
|
of saved <application>CTM</application> deltas, run the
|
|
commands:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /where/ever/you/want/to/extract/it/</userinput>
|
|
&prompt.root; <userinput>ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*</userinput></screen>
|
|
|
|
<para>For every file specified in a
|
|
<application>CTM</application> delta, the
|
|
<option>-e</option> and <option>-x</option> options are
|
|
applied in the order given on the command line. The file is
|
|
processed by <application>CTM</application> only if it is
|
|
marked as eligible after all the <option>-e</option> and
|
|
<option>-x</option> options are applied to it.</para>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Future Plans for <application>CTM</application></title>
|
|
|
|
<para>Tons of them:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Use some kind of authentication into the
|
|
<application>CTM</application> system, so as to allow
|
|
detection of spoofed <application>CTM</application>
|
|
updates.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Clean up the options to
|
|
<application>CTM</application>, they became confusing and
|
|
counter intuitive.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Miscellaneous Stuff</title>
|
|
|
|
<para>There is a sequence of deltas for the
|
|
<literal>ports</literal> collection too, but interest has not
|
|
been all that high yet.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="mirrors-ctm">
|
|
<title>CTM Mirrors</title>
|
|
|
|
<para><link linkend="ctm">CTM</link>/&os; is available via
|
|
anonymous FTP from the following mirror sites. If you choose
|
|
to obtain <application>CTM</application> via anonymous FTP,
|
|
please try to use a site near you.</para>
|
|
|
|
<para>In case of problems, please contact the &a.ctm-users.name;
|
|
mailing list.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>California, Bay Area, official source</term>
|
|
|
|
<listitem>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>South Africa, backup server for old deltas</term>
|
|
|
|
<listitem>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/"></ulink></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Taiwan/R.O.C.</term>
|
|
|
|
<listitem>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><ulink
|
|
url="ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>If you did not find a mirror near to you or the mirror is
|
|
incomplete, try to use a search engine such as <ulink
|
|
url="http://www.alltheweb.com/">alltheweb</ulink>.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="svn">
|
|
<title>Using <application>Subversion</application></title>
|
|
|
|
<indexterm>
|
|
<primary>Subversion</primary>
|
|
</indexterm>
|
|
|
|
<sect2 id="svn-intro">
|
|
<title>Introduction</title>
|
|
|
|
<para>As of July 2012, &os; uses <ulink
|
|
url="http://subversion.apache.org/">Subversion</ulink>
|
|
(<emphasis>svn</emphasis>) as the primary version control
|
|
system for storing all of &os;'s source code, documentation,
|
|
and the Ports Collection.</para>
|
|
|
|
<note>
|
|
<para>Subversion is generally a developer tool. Most users
|
|
should use <link
|
|
linkend="updating-upgrading-freebsdupdate">FreeBSD
|
|
Update</link> to update the &os; base system, and <link
|
|
linkend="updating-upgrading-portsnap">Portsnap</link> to
|
|
update the &os; Ports Collection.</para>
|
|
</note>
|
|
|
|
<para>In <application>Subversion</application>, URLs are used to
|
|
designate a repository, taking the form of
|
|
<replaceable>protocol://hostname/path</replaceable>. Mirrors
|
|
may support different protocols as specified below. The first
|
|
component of the path is the &os; repository to access. There
|
|
are three different repositories, <literal>base</literal> for
|
|
the &os; base system source code, <literal>ports</literal> for
|
|
the Ports Collection, and <literal>doc</literal> for
|
|
documentation. For example, the URL
|
|
<literal>svn://svn0.us-east.FreeBSD.org/ports/head/</literal>
|
|
specifies the main branch of the ports repository on the
|
|
<hostid role="fqdn">svn0.us-east.FreeBSD.org</hostid> mirror,
|
|
using the <literal>svn</literal> protocol.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="svn-install">
|
|
<title>Installation</title>
|
|
|
|
<para><application>Subversion</application> must be installed
|
|
before it can be used to check out the contents of any of the
|
|
repositories. If a copy of the ports tree is already present,
|
|
one can install <application>Subversion</application> like
|
|
this:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /usr/ports/devel/subversion</userinput>
|
|
&prompt.root; <userinput>make install clean</userinput></screen>
|
|
|
|
<para>If the ports tree is not available,
|
|
<application>Subversion</application> can be installed as a
|
|
package:</para>
|
|
|
|
<screen>&prompt.root; <userinput>pkg_add -r subversion</userinput></screen>
|
|
|
|
<para>If <application>pkgng</application> is being used to
|
|
manage packages, <application>Subversion</application> can be
|
|
installed with it instead:</para>
|
|
|
|
<screen>&prompt.root; <userinput>pkg install devel/subversion</userinput></screen>
|
|
</sect2>
|
|
|
|
<sect2 id="svn-usage">
|
|
<title>Running <application>Subversion</application></title>
|
|
|
|
<para>The <command>svn</command> command is used to fetch a
|
|
clean copy of the sources into a local directory. The files
|
|
in this directory are called a <emphasis>local working
|
|
copy</emphasis>.</para>
|
|
|
|
<warning>
|
|
<para>If the local directory already exists but was not
|
|
created by <command>svn</command>, rename or delete it
|
|
before the checkout. Checkout over an existing
|
|
non-<command>svn</command> directory can cause conflicts
|
|
between the existing files and those brought in from the
|
|
repository.</para>
|
|
</warning>
|
|
|
|
<para>A checkout from a given repository is performed with a
|
|
command like this:</para>
|
|
|
|
<screen>&prompt.root; <userinput>svn checkout <replaceable>svn-mirror</replaceable>/<replaceable>repository</replaceable>/<replaceable>branch</replaceable> <replaceable>lwcdir</replaceable></userinput></screen>
|
|
|
|
<para>where:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><replaceable>svn-mirror</replaceable> is a URL for one
|
|
of the <link linkend="svn-mirrors">Subversion mirror
|
|
sites</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><replaceable>repository</replaceable> is one of the
|
|
Project repositories, i.e., <literal>base</literal>,
|
|
<literal>ports</literal>, or
|
|
<literal>doc</literal>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><replaceable>branch</replaceable> depends on the
|
|
repository used. <literal>ports</literal> and
|
|
<literal>doc</literal> are mostly updated in the
|
|
<literal>head</literal> branch, while
|
|
<literal>base</literal> maintains the latest version of
|
|
-CURRENT under <literal>head</literal> and the respective
|
|
latest versions of the -STABLE branches under
|
|
<literal>stable/8</literal> (for
|
|
8.<replaceable>x</replaceable>) and
|
|
<literal>stable/9</literal>
|
|
(9.<replaceable>x</replaceable>).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><replaceable>lwcdir</replaceable> is the target
|
|
directory where the contents of the specified branch
|
|
should be placed. This is usually
|
|
<filename class="directory">/usr/ports</filename> for
|
|
<literal>ports</literal>,
|
|
<filename class="directory">/usr/src</filename> for
|
|
<literal>base</literal>, and
|
|
<filename class="directory">/usr/doc</filename> for
|
|
<literal>doc</literal>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>This example checks out the Ports Collection from the
|
|
western US repository using the <acronym>HTTPS</acronym>
|
|
protocol, placing the local working copy in
|
|
<filename class="directory">/usr/ports</filename>. If
|
|
<filename class="directory">/usr/ports</filename> is already
|
|
present but was not created by <command>svn</command>,
|
|
remember to rename or delete it before the checkout.</para>
|
|
|
|
<screen>&prompt.root; <userinput>svn checkout <replaceable>https://svn0.us-west.FreeBSD.org</replaceable>/ports/head /usr/ports</userinput></screen>
|
|
|
|
<para>Because the initial checkout has to download the full
|
|
branch of the remote repository, it can take a while. Please
|
|
be patient.</para>
|
|
|
|
<para>After the initial checkout, the local working copy can be
|
|
updated by running:</para>
|
|
|
|
<screen>&prompt.root; <userinput>svn update <replaceable>lwcdir</replaceable></userinput></screen>
|
|
|
|
<para>To update
|
|
<filename class="directory">/usr/ports</filename> created in
|
|
the example above, use:</para>
|
|
|
|
<screen>&prompt.root; <userinput>svn update /usr/ports</userinput></screen>
|
|
|
|
<para>The update is much quicker than a checkout, only
|
|
transferring files that have changed.</para>
|
|
|
|
<para>An alternate way of updating the local working copy after
|
|
checkout is provided by the <filename>Makefile</filename> in
|
|
the <filename class="directory">/usr/ports</filename>,
|
|
<filename class="directory">/usr/src</filename>, and
|
|
<filename class="directory">/usr/doc</filename> directories.
|
|
Set <makevar>SVN_UPDATE</makevar> and use the
|
|
<maketarget>update</maketarget> target. For example, to
|
|
update <filename class="directory">/usr/src</filename>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
|
&prompt.root; <userinput>make update SVN_UPDATE=yes</userinput></screen>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>For More Information</title>
|
|
|
|
<para>For other information about using
|
|
<application>Subversion</application>, please see the
|
|
<quote>Subversion Book</quote>, titled
|
|
<ulink url="http://svnbook.red-bean.com/">Version Control with
|
|
Subversion</ulink>, or the
|
|
<ulink url="http://subversion.apache.org/docs/">Subversion
|
|
Documentation</ulink>.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="svn-mirrors">
|
|
<title><application>Subversion</application> Mirror Sites</title>
|
|
|
|
<indexterm>
|
|
<primary>Subversion Repository</primary>
|
|
<secondary>Mirror Sites</secondary>
|
|
</indexterm>
|
|
|
|
<para>All mirrors carry all repositories.</para>
|
|
|
|
<para>The master &os; <application>Subversion</application>
|
|
server, <hostid role="fqdn">svn.FreeBSD.org</hostid>, is
|
|
publicly accessible, read-only. That may change in the future,
|
|
so users are encouraged to use one of the official mirrors. To
|
|
view the &os; <application>Subversion</application> repositories
|
|
through a browser, use <ulink
|
|
url="http://svnweb.FreeBSD.org/">http://svnweb.FreeBSD.org/</ulink>.</para>
|
|
|
|
<note>
|
|
<para>The &os; svn mirror network is still in its early days,
|
|
and will likely change. Do not count on this list of mirrors
|
|
being static. In particular, the SSL certificates of the
|
|
servers will likely change at some point.</para>
|
|
</note>
|
|
|
|
<informaltable>
|
|
<tgroup cols="4">
|
|
<colspec colwidth="3*"/>
|
|
<colspec colwidth="1*"/>
|
|
<colspec colwidth="2*"/>
|
|
<colspec colwidth="10*"/>
|
|
<thead>
|
|
<row>
|
|
<entry>Name</entry>
|
|
|
|
<entry>Protocols</entry>
|
|
|
|
<entry>Location</entry>
|
|
|
|
<entry>SSL fingerprint</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><hostid
|
|
role="fqdn">svn0.us-west.FreeBSD.org</hostid></entry>
|
|
|
|
<entry>svn, <ulink
|
|
url="http://svn0.us-west.FreeBSD.org/">http</ulink>,
|
|
<ulink
|
|
url="https://svn0.us-west.FreeBSD.org/">https</ulink></entry>
|
|
|
|
<entry>USA, California</entry>
|
|
|
|
<entry>SHA1
|
|
<literal>79:35:8F:CA:6D:34:D9:30:44:D1:00:AF:33:4D:E6:11:44:4D:15:EC</literal></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><hostid
|
|
role="fqdn">svn0.us-east.FreeBSD.org</hostid></entry>
|
|
|
|
<entry>svn, <ulink
|
|
url="http://svn0.us-east.FreeBSD.org/">http</ulink>,
|
|
<ulink
|
|
url="https://svn0.us-east.FreeBSD.org/">https</ulink></entry>
|
|
|
|
<entry>USA, New Jersey</entry>
|
|
|
|
<entry>SHA1
|
|
<literal>06:D1:23:DE:5E:7A:F7:2B:7A:7E:74:95:5F:54:8D:5C:B0:D6:2E:8F</literal></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para><acronym>HTTPS</acronym> is the preferred protocol,
|
|
providing protection against another computer pretending to be
|
|
the &os; mirror (commonly known as a <quote>man in the
|
|
middle</quote> attack) or otherwise trying to send bad content
|
|
to the end user.</para>
|
|
|
|
<para>On the first connection to an <acronym>HTTPS</acronym>
|
|
mirror, the user will be asked to verify the server
|
|
<emphasis>fingerprint</emphasis>:</para>
|
|
|
|
<screen>Error validating server certificate for 'https://svn0.us-west.freebsd.org:443':
|
|
- The certificate is not issued by a trusted authority. Use the
|
|
fingerprint to validate the certificate manually!
|
|
Certificate information:
|
|
- Hostname: svnmir.ysv.FreeBSD.org
|
|
- Valid: from Fri, 24 Aug 2012 22:04:04 GMT until Sat, 24 Aug 2013 22:04:04 GMT
|
|
- Issuer: clusteradm, FreeBSD.org, CA, US
|
|
- Fingerprint: 79:35:8f:ca:6d:34:d9:30:44:d1:00:af:33:4d:e6:11:44:4d:15:ec
|
|
(R)eject, accept (t)emporarily or accept (p)ermanently?</screen>
|
|
|
|
<para>Compare the fingerprint shown to those listed in the table
|
|
above. If the fingerprint matches, the server security
|
|
certificate can be accepted temporarily or permanently. A
|
|
temporary certificate will expire after a single session with
|
|
the server, and the verification step will be repeated on the
|
|
next connection. Accepting the certificate permanently will
|
|
store the authentication credentials in
|
|
<filename class="directory">~/.subversion/auth/</filename> and
|
|
the user will not be asked to verify the fingerprint again until
|
|
the certificate expires.</para>
|
|
|
|
<para>If <acronym>HTTPS</acronym> cannot be used due to firewall
|
|
or other problems, <literal>SVN</literal> is the next choice,
|
|
with slightly faster transfers. When neither can be used, use
|
|
<acronym>HTTP</acronym>.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="cvsup">
|
|
<title>Using CVSup (Deprecated)</title>
|
|
|
|
<sect2 id="cvsup-intro">
|
|
<title>Introduction</title>
|
|
|
|
<warning>
|
|
<para><command>cvsup</command> has been deprecated by the
|
|
project, and its use is not recommended.
|
|
<application>Subversion</application> should be used
|
|
instead.</para>
|
|
</warning>
|
|
|
|
<para><application>CVSup</application> is a software package for
|
|
distributing and updating source trees from a master CVS
|
|
repository on a remote server host. The &os; sources are
|
|
maintained in a CVS repository on a central development
|
|
machine in California. With <application>CVSup</application>,
|
|
&os; users can easily keep their own source trees up to
|
|
date.</para>
|
|
|
|
<para><application>CVSup</application> uses the so-called
|
|
<emphasis>pull</emphasis> model of updating. Under the pull
|
|
model, each client asks the server for updates, if and when
|
|
they are wanted. The server waits passively for update
|
|
requests from its clients. Thus all updates are instigated by
|
|
the client. The server never sends unsolicited updates.
|
|
Users must either run the <application>CVSup</application>
|
|
client manually to get an update, or they must set up a
|
|
<command>cron</command> job to run it automatically on a
|
|
regular basis.</para>
|
|
|
|
<para>The term <application>CVSup</application>, capitalized
|
|
just so, refers to the entire software package. Its main
|
|
components are the client <command>cvsup</command> which runs
|
|
on each user's machine, and the server
|
|
<command>cvsupd</command> which runs at each of the &os;
|
|
mirror sites.</para>
|
|
|
|
<note>
|
|
<para>The <application>csup</application> utility is a rewrite
|
|
of the <application>CVSup</application> software in C. Its
|
|
biggest advantage is, that it is faster and does not depend
|
|
on the Modula-3 language, thus you do not need to install it
|
|
as a requirement. Moreover you can use it out-of-the-box,
|
|
since it is included in the base system. If you decided to
|
|
use <application>csup</application>, just skip the steps on
|
|
the installation of <application>CVSup</application> and
|
|
substitute the references of
|
|
<application>CVSup</application> with
|
|
<application>csup</application> while following the
|
|
remainder of this article.</para>
|
|
</note>
|
|
</sect2>
|
|
|
|
<sect2 id="cvsup-install">
|
|
<title>Installation</title>
|
|
|
|
<para>The easiest way to install
|
|
<application>CVSup</application> is to use the precompiled
|
|
<filename role="package">net/cvsup</filename> package from the
|
|
&os; <link linkend="ports">packages collection</link>. If you
|
|
prefer to build <application>CVSup</application> from source,
|
|
you can use the <filename role="package">net/cvsup</filename>
|
|
port instead. But be forewarned: the <filename
|
|
role="package">net/cvsup</filename> port depends on the
|
|
Modula-3 system, which takes a substantial amount of time and
|
|
disk space to download and build.</para>
|
|
|
|
<note>
|
|
<para>If you are going to be using
|
|
<application>CVSup</application> on a machine which will not
|
|
have <application>&xorg;</application> installed, such as a
|
|
server, be sure to use the port which does not include the
|
|
<application>CVSup</application> <acronym>GUI</acronym>,
|
|
<filename
|
|
role="package">net/cvsup-without-gui</filename>.</para>
|
|
</note>
|
|
</sect2>
|
|
|
|
<sect2 id="cvsup-config">
|
|
<title>CVSup Configuration</title>
|
|
|
|
<para><application>CVSup</application>'s operation is controlled
|
|
by a configuration file called the
|
|
<filename>supfile</filename>. There are some sample
|
|
<filename>supfiles</filename> in the directory <ulink
|
|
url="file://localhost/usr/share/examples/cvsup/"><filename>/usr/share/examples/cvsup/</filename></ulink>.</para>
|
|
|
|
<para>The information in a <filename>supfile</filename> answers
|
|
the following questions for
|
|
<application>CVSup</application>:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><link linkend="cvsup-config-files">Which files do you
|
|
want to receive?</link></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><link linkend="cvsup-config-vers">Which versions of
|
|
them do you want?</link></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><link linkend="cvsup-config-where">Where do you want
|
|
to get them from?</link></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><link linkend="cvsup-config-dest">Where do you want to
|
|
put them on your own machine?</link></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><link linkend="cvsup-config-status">Where do you want
|
|
to put your status files?</link></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>In the following sections, we will construct a typical
|
|
<filename>supfile</filename> by answering each of these
|
|
questions in turn. First, we describe the overall structure
|
|
of a <filename>supfile</filename>.</para>
|
|
|
|
<para>A <filename>supfile</filename> is a text file. Comments
|
|
begin with <literal>#</literal> and extend to the end of the
|
|
line. Lines that are blank and lines that contain only
|
|
comments are ignored.</para>
|
|
|
|
<para>Each remaining line describes a set of files that the user
|
|
wishes to receive. The line begins with the name of a
|
|
<quote>collection</quote>, a logical grouping of files defined
|
|
by the server. The name of the collection tells the server
|
|
which files you want. After the collection name come zero or
|
|
more fields, separated by white space. These fields answer
|
|
the questions listed above. There are two types of fields:
|
|
flag fields and value fields. A flag field consists of a
|
|
keyword standing alone, e.g., <literal>delete</literal> or
|
|
<literal>compress</literal>. A value field also begins with a
|
|
keyword, but the keyword is followed without intervening white
|
|
space by <literal>=</literal> and a second word. For example,
|
|
<literal>release=cvs</literal> is a value field.</para>
|
|
|
|
<para>A <filename>supfile</filename> typically specifies more
|
|
than one collection to receive. One way to structure a
|
|
<filename>supfile</filename> is to specify all of the relevant
|
|
fields explicitly for each collection. However, that tends to
|
|
make the <filename>supfile</filename> lines quite long, and it
|
|
is inconvenient because most fields are the same for all of
|
|
the collections in a <filename>supfile</filename>.
|
|
<application>CVSup</application> provides a defaulting
|
|
mechanism to avoid these problems. Lines beginning with the
|
|
special pseudo-collection name <literal>*default</literal> can
|
|
be used to set flags and values which will be used as defaults
|
|
for the subsequent collections in the
|
|
<filename>supfile</filename>. A default value can be
|
|
overridden for an individual collection, by specifying a
|
|
different value with the collection itself. Defaults can also
|
|
be changed or augmented in mid-supfile by additional
|
|
<literal>*default</literal> lines.</para>
|
|
|
|
<para>With this background, we will now proceed to construct a
|
|
<filename>supfile</filename> for receiving and updating the
|
|
main source tree of
|
|
<link linkend="current">&os;-CURRENT</link>.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><anchor id="cvsup-config-files"/>Which files do you
|
|
want to receive?</para>
|
|
|
|
<para>The files available via
|
|
<application>CVSup</application> are organized into named
|
|
groups called <quote>collections</quote>. The collections
|
|
that are available are described in the
|
|
<link linkend="cvsup-collec">following section</link>. In
|
|
this example, we wish to receive the entire main source
|
|
tree for the &os; system. There is a single large
|
|
collection <literal>src-all</literal> which will give us
|
|
all of that. As a first step toward constructing our
|
|
<filename>supfile</filename>, we simply list the
|
|
collections, one per line (in this case, only one
|
|
line):</para>
|
|
|
|
<programlisting>src-all</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><anchor id="cvsup-config-vers"/>Which version(s) of
|
|
them do you want?</para>
|
|
|
|
<para>With <application>CVSup</application>, you can receive
|
|
virtually any version of the sources that ever existed.
|
|
That is possible because the
|
|
<application>cvsupd</application> server works directly
|
|
from the CVS repository, which contains all of the
|
|
versions. You specify which one of them you want using
|
|
the <literal>tag=</literal> and <option>date=</option>
|
|
value fields.</para>
|
|
|
|
<warning>
|
|
<para>Be very careful to specify any
|
|
<literal>tag=</literal> fields correctly. Some tags are
|
|
valid only for certain collections of files. If you
|
|
specify an incorrect or misspelled tag,
|
|
<application>CVSup</application> will delete files which
|
|
you probably do not want deleted. In particular, use
|
|
<emphasis>only </emphasis> <literal>tag=.</literal> for
|
|
the <literal>ports-*</literal> collections.</para>
|
|
</warning>
|
|
|
|
<para>The <literal>tag=</literal> field names a symbolic tag
|
|
in the repository. There are two kinds of tags, revision
|
|
tags and branch tags. A revision tag refers to a specific
|
|
revision. Its meaning stays the same from day to day. A
|
|
branch tag, on the other hand, refers to the latest
|
|
revision on a given line of development, at any given
|
|
time. Because a branch tag does not refer to a specific
|
|
revision, it may mean something different tomorrow than it
|
|
means today.</para>
|
|
|
|
<para><xref linkend="cvs-tags"/> contains branch tags that
|
|
users might be interested in. When specifying a tag in
|
|
<application>CVSup</application>'s configuration file, it
|
|
must be preceded with <literal>tag=</literal>
|
|
(<literal>RELENG_8</literal> will become
|
|
<literal>tag=RELENG_8</literal>).
|
|
Keep in mind that only the <literal>tag=.</literal> is
|
|
relevant for the Ports Collection.</para>
|
|
|
|
<warning>
|
|
<para>Be very careful to type the tag name exactly as
|
|
shown. <application>CVSup</application> cannot
|
|
distinguish between valid and invalid tags. If you
|
|
misspell the tag, <application>CVSup</application> will
|
|
behave as though you had specified a valid tag which
|
|
happens to refer to no files at all. It will delete
|
|
your existing sources in that case.</para>
|
|
</warning>
|
|
|
|
<para>When you specify a branch tag, you normally receive
|
|
the latest versions of the files on that line of
|
|
development. If you wish to receive some past version,
|
|
you can do so by specifying a date with the
|
|
<option>date=</option> value field. The &man.cvsup.1;
|
|
manual page explains how to do that.</para>
|
|
|
|
<para>For our example, we wish to receive &os;-CURRENT. We
|
|
add this line at the beginning of our
|
|
<filename>supfile</filename>:</para>
|
|
|
|
<programlisting>*default tag=.</programlisting>
|
|
|
|
<para>There is an important special case that comes into
|
|
play if you specify neither a <literal>tag=</literal>
|
|
field nor a <literal>date=</literal> field. In that case,
|
|
you receive the actual RCS files directly from the
|
|
server's CVS repository, rather than receiving a
|
|
particular version. Developers generally prefer this mode
|
|
of operation. By maintaining a copy of the repository
|
|
itself on their systems, they gain the ability to browse
|
|
the revision histories and examine past versions of files.
|
|
This gain is achieved at a large cost in terms of disk
|
|
space, however.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><anchor id="cvsup-config-where"/>Where do you want to
|
|
get them from?</para>
|
|
|
|
<para>We use the <literal>host=</literal> field to tell
|
|
<command>cvsup</command> where to obtain its updates. Any
|
|
of the
|
|
<link linkend="cvsup-mirrors">CVSup mirror sites</link>
|
|
will do, though you should try to select one that is close
|
|
to you in cyberspace. In this example we will use a
|
|
fictional &os; distribution site,
|
|
<hostid role="fqdn">cvsup99.FreeBSD.org</hostid>:</para>
|
|
|
|
<programlisting>*default host=cvsup99.FreeBSD.org</programlisting>
|
|
|
|
<para>You will need to change the host to one that actually
|
|
exists before running <application>CVSup</application>.
|
|
On any particular run of <command>cvsup</command>, you can
|
|
override the host setting on the command line, with
|
|
<option>-h
|
|
<replaceable>hostname</replaceable></option>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><anchor id="cvsup-config-dest"/>Where do you want to
|
|
put them on your own machine?</para>
|
|
|
|
<para>The <literal>prefix=</literal> field tells
|
|
<command>cvsup</command> where to put the files it
|
|
receives. In this example, we will put the source files
|
|
directly into our main source tree,
|
|
<filename>/usr/src</filename>. The
|
|
<filename>src</filename> directory is already implicit in
|
|
the collections we have chosen to receive, so this is the
|
|
correct specification:</para>
|
|
|
|
<programlisting>*default prefix=/usr</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><anchor id="cvsup-config-status"/>Where should
|
|
<command>cvsup</command> maintain its status files?</para>
|
|
|
|
<para>The <application>CVSup</application> client maintains
|
|
certain status files in what is called the
|
|
<quote>base</quote> directory. These files help
|
|
<application>CVSup</application> to work more efficiently,
|
|
by keeping track of which updates you have already
|
|
received. We will use the standard base directory,
|
|
<filename>/var/db</filename>:</para>
|
|
|
|
<programlisting>*default base=/var/db</programlisting>
|
|
|
|
<para>If your base directory does not already exist, now
|
|
would be a good time to create it. The
|
|
<command>cvsup</command> client will refuse to run if the
|
|
base directory does not exist.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Miscellaneous <filename>supfile</filename>
|
|
settings:</para>
|
|
|
|
<para>There is one more line of boiler plate that normally
|
|
needs to be present in the
|
|
<filename>supfile</filename>:</para>
|
|
|
|
<programlisting>*default release=cvs delete use-rel-suffix compress</programlisting>
|
|
|
|
<para><literal>release=cvs</literal> indicates that the
|
|
server should get its information out of the main &os; CVS
|
|
repository. This is virtually always the case, but there
|
|
are other possibilities which are beyond the scope of this
|
|
discussion.</para>
|
|
|
|
<para><literal>delete</literal> gives
|
|
<application>CVSup</application> permission to delete
|
|
files. You should always specify this, so that
|
|
<application>CVSup</application> can keep your source tree
|
|
fully up-to-date. <application>CVSup</application> is
|
|
careful to delete only those files for which it is
|
|
responsible. Any extra files you happen to have will be
|
|
left strictly alone.</para>
|
|
|
|
<para><literal>use-rel-suffix</literal> is ... arcane. If
|
|
you really want to know about it, see the &man.cvsup.1;
|
|
manual page. Otherwise, just specify it and do not worry
|
|
about it.</para>
|
|
|
|
<para><literal>compress</literal> enables the use of
|
|
gzip-style compression on the communication channel. If
|
|
your network link is T1 speed or faster, you probably
|
|
should not use compression. Otherwise, it helps
|
|
substantially.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Putting it all together:</para>
|
|
|
|
<para>Here is the entire <filename>supfile</filename> for
|
|
our example:</para>
|
|
|
|
<programlisting>*default tag=.
|
|
*default host=cvsup99.FreeBSD.org
|
|
*default prefix=/usr
|
|
*default base=/var/db
|
|
*default release=cvs delete use-rel-suffix compress
|
|
|
|
src-all</programlisting>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<sect3 id="cvsup-refuse-file">
|
|
<title>The <filename>refuse</filename> File</title>
|
|
|
|
<para>As mentioned above, <application>CVSup</application>
|
|
uses a <emphasis>pull method</emphasis>. Basically, this
|
|
means that you connect to the
|
|
<application>CVSup</application> server, and it says,
|
|
<quote>Here is what you can download from me...</quote>, and
|
|
your client responds
|
|
<quote>OK, I will take this, this, this, and this.</quote>
|
|
In the default configuration, the
|
|
<application>CVSup</application> client will take every file
|
|
associated with the collection and tag you chose in the
|
|
configuration file. In order to download a partial tree,
|
|
use the <filename>refuse</filename> file.</para>
|
|
|
|
<para>The <filename>refuse</filename> file tells
|
|
<application>CVSup</application> that it should not take
|
|
every single file from a collection; in other words, it
|
|
tells the client to <emphasis>refuse</emphasis> certain
|
|
files from the server. The <filename>refuse</filename> file
|
|
can be found (or, if you do not yet have one, should be
|
|
placed) in
|
|
<filename><replaceable>base</replaceable>/sup/</filename>.
|
|
<replaceable>base</replaceable> is defined in your
|
|
<filename>supfile</filename>; our defined
|
|
<replaceable>base</replaceable> is
|
|
<filename>/var/db</filename>, which means that by default
|
|
the <filename>refuse</filename> file is
|
|
<filename>/var/db/sup/refuse</filename>.</para>
|
|
|
|
<para>The <filename>refuse</filename> file has a very simple
|
|
format; it simply contains the names of files or directories
|
|
that you do not wish to download. For example:</para>
|
|
|
|
<programlisting>bin/
|
|
usr.bin/</programlisting>
|
|
|
|
<para>Users who are on
|
|
slow links or pay by the minute for their Internet
|
|
connection will be able to save time as they will
|
|
no longer need to download files that they will never use.
|
|
For more information on <filename>refuse</filename> files
|
|
and other neat features of <application>CVSup</application>,
|
|
please view its manual page.</para>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Running <application>CVSup</application></title>
|
|
|
|
<para>You are now ready to try an update. The command line for
|
|
doing this is quite simple:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cvsup <replaceable>supfile</replaceable></userinput></screen>
|
|
|
|
<para>where
|
|
<filename><replaceable>supfile</replaceable></filename> is of
|
|
course the name of the <filename>supfile</filename> you have
|
|
just created. Assuming you are running under X11,
|
|
<command>cvsup</command> will display a GUI window with some
|
|
buttons to do the usual things. Press the
|
|
<guibutton>go</guibutton> button, and watch it run.</para>
|
|
|
|
<para>Since you are updating your actual
|
|
<filename>/usr/src</filename> tree in this example, you will
|
|
need to run the program as <username>root</username> so that
|
|
<command>cvsup</command> has the permissions it needs to
|
|
update your files. Having just created your configuration
|
|
file, and having never used this program before, that might
|
|
understandably make you nervous. There is an easy way to do a
|
|
trial run without touching your precious files. Just create
|
|
an empty directory somewhere convenient, and name it as an
|
|
extra argument on the command line:</para>
|
|
|
|
<screen>&prompt.root; <userinput>mkdir /var/tmp/dest</userinput>
|
|
&prompt.root; <userinput>cvsup supfile /var/tmp/dest</userinput></screen>
|
|
|
|
<para>The directory you specify will be used as the destination
|
|
directory for all file updates.
|
|
<application>CVSup</application> will examine your usual files
|
|
in <filename>/usr/src</filename>, but it will not modify or
|
|
delete any of them. Any file updates will instead land in
|
|
<filename>/var/tmp/dest/usr/src</filename>.
|
|
<application>CVSup</application> will also leave its base
|
|
directory status files untouched when run this way. The new
|
|
versions of those files will be written into the specified
|
|
directory. As long as you have read access to
|
|
<filename>/usr/src</filename>, you do not even need to be
|
|
<username>root</username> to perform this kind of trial
|
|
run.</para>
|
|
|
|
<para>If you are not running X11 or if you just do not like
|
|
GUIs, you should add a couple of options to the command line
|
|
when you run <command>cvsup</command>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cvsup -g -L 2 <replaceable>supfile</replaceable></userinput></screen>
|
|
|
|
<para>The <option>-g</option> tells
|
|
<application>CVSup</application> not to use its GUI. This is
|
|
automatic if you are not running X11, but otherwise you have
|
|
to specify it.</para>
|
|
|
|
<para>The <option>-L 2</option> tells
|
|
<application>CVSup</application> to print out the
|
|
details of all the file updates it is doing. There are three
|
|
levels of verbosity, from <option>-L 0</option> to
|
|
<option>-L 2</option>. The default is 0, which means total
|
|
silence except for error messages.</para>
|
|
|
|
<para>There are plenty of other options available. For a brief
|
|
list of them, type <command>cvsup -H</command>. For more
|
|
detailed descriptions, see the manual page.</para>
|
|
|
|
<para>Once you are satisfied with the way updates are working,
|
|
you can arrange for regular runs of
|
|
<application>CVSup</application> using &man.cron.8;.
|
|
Obviously, you should not let <application>CVSup</application>
|
|
use its GUI when running it from &man.cron.8;.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="cvsup-collec">
|
|
<title><application>CVSup</application> File Collections</title>
|
|
|
|
<para>The file collections available via
|
|
<application>CVSup</application> are organized hierarchically.
|
|
There are a few large collections, and they are divided into
|
|
smaller sub-collections. Receiving a large collection is
|
|
equivalent to receiving each of its sub-collections. The
|
|
hierarchical relationships among collections are reflected by
|
|
the use of indentation in the list below.</para>
|
|
|
|
<para>The most commonly used collection is
|
|
<literal>src-all</literal>. </para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><literal>cvs-all release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>The main &os; CVS repository, including the
|
|
cryptography code.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><literal>distrib release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Files related to the distribution and
|
|
mirroring of &os;.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<literal>projects-all release=cvs</literal>
|
|
</term>
|
|
|
|
<listitem>
|
|
<para>Sources for the &os; projects
|
|
repository.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-all release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>The main &os; sources, including the
|
|
cryptography code.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><literal>src-base
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Miscellaneous files at the top of
|
|
<filename>/usr/src</filename>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-bin
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>User utilities that may be needed in
|
|
single-user mode
|
|
(<filename>/usr/src/bin</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-cddl
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Utilities and libraries covered by the
|
|
CDDL license
|
|
(<filename>/usr/src/cddl</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-contrib
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Utilities and libraries from outside the
|
|
&os; project, used relatively unmodified
|
|
(<filename>/usr/src/contrib</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<literal>src-crypto release=cvs</literal>
|
|
</term>
|
|
|
|
<listitem>
|
|
<para>Cryptography utilities and libraries
|
|
from outside the &os; project, used
|
|
relatively unmodified
|
|
|
|
(<filename>/usr/src/crypto</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<literal>src-eBones release=cvs</literal>
|
|
</term>
|
|
|
|
<listitem>
|
|
<para>Kerberos and DES
|
|
(<filename>/usr/src/eBones</filename>). Not
|
|
used in current releases of &os;.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-etc
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>System configuration files
|
|
(<filename>/usr/src/etc</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-games
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Games
|
|
(<filename>/usr/src/games</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-gnu
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Utilities covered by the GNU Public
|
|
License
|
|
(<filename>/usr/src/gnu</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-include
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Header files
|
|
(<filename>/usr/src/include</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-kerberos5
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Kerberos5 security package
|
|
(<filename>/usr/src/kerberos5</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-kerberosIV
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>KerberosIV security package
|
|
(<filename>/usr/src/kerberosIV</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-lib
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Libraries
|
|
(<filename>/usr/src/lib</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-libexec
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>System programs normally executed by
|
|
other programs
|
|
(<filename>/usr/src/libexec</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-release
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Files required to produce a &os;
|
|
release
|
|
(<filename>/usr/src/release</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-rescue
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Statically linked programs for emergency
|
|
recovery; see &man.rescue.8;
|
|
(<filename>/usr/src/rescue</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<literal>src-sbin release=cvs</literal>
|
|
</term>
|
|
|
|
<listitem>
|
|
<para>System utilities for single-user mode
|
|
(<filename>/usr/src/sbin</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-secure
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Cryptographic libraries and commands
|
|
(<filename>/usr/src/secure</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-share
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Files that can be shared across multiple
|
|
systems
|
|
(<filename>/usr/src/share</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-sys
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>The kernel
|
|
(<filename>/usr/src/sys</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-sys-crypto
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Kernel cryptography code
|
|
(<filename>/usr/src/sys/crypto</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-tools
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>Various tools for the maintenance of
|
|
&os;
|
|
(<filename>/usr/src/tools</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-usrbin
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>User utilities
|
|
(<filename>/usr/src/usr.bin</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>src-usrsbin
|
|
release=cvs</literal></term>
|
|
|
|
<listitem>
|
|
<para>System utilities
|
|
(<filename>/usr/src/usr.sbin</filename>).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>distrib release=self</literal></term>
|
|
|
|
<listitem>
|
|
<para>The <application>CVSup</application> server's own
|
|
configuration files. Used by
|
|
<application>CVSup</application> mirror sites.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>gnats release=current</literal></term>
|
|
|
|
<listitem>
|
|
<para>The GNATS bug-tracking database.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>mail-archive release=current</literal></term>
|
|
|
|
<listitem>
|
|
<para>&os; mailing list archive.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>For More Information</title>
|
|
|
|
<para>For the <application>CVSup</application> FAQ and other
|
|
information about <application>CVSup</application>, see
|
|
<ulink url="http://www.cvsup.org">The
|
|
CVSup Home Page</ulink>.</para>
|
|
|
|
<para>Most &os;-related discussion of
|
|
<application>CVSup</application> takes place on the
|
|
&a.hackers;. New versions of the software are announced
|
|
there, as well as on the &a.announce;.</para>
|
|
|
|
<para>For questions or bug reports about
|
|
<application>CVSup</application> take a look at the
|
|
<ulink url="http://www.cvsup.org/faq.html#bugreports">
|
|
CVSup FAQ</ulink>.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="cvsup-mirrors">
|
|
<title>CVSup Sites</title>
|
|
|
|
<para><link linkend="cvsup">CVSup</link> servers for &os; are
|
|
running at the following sites:</para>
|
|
|
|
&chap.mirrors.cvsup.index.inc;
|
|
|
|
&chap.mirrors.lastmod.inc;
|
|
|
|
&chap.mirrors.cvsup.inc;
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="cvs-tags">
|
|
<title>CVS Tags</title>
|
|
|
|
<warning>
|
|
<para>CVS has been deprecated by the project, and its use is not
|
|
recommended. <application>Subversion</application> should be
|
|
used instead.</para>
|
|
</warning>
|
|
|
|
<para>When obtaining or updating sources using
|
|
<application>cvs</application> or
|
|
<application>CVSup</application>, a revision tag must be
|
|
specified. A revision tag refers to either a particular line of
|
|
&os; development, or a specific point in time. The first type
|
|
are called <quote>branch tags</quote>, and the second type are
|
|
called <quote>release tags</quote>.</para>
|
|
|
|
<sect2>
|
|
<title>Branch Tags</title>
|
|
|
|
<para>All of these, with the exception of
|
|
<literal>HEAD</literal> (which is always a valid tag), only
|
|
apply to the <filename>src/</filename> tree. The
|
|
<filename>ports/</filename>, <filename>doc/</filename>, and
|
|
<filename>www/</filename> trees are not branched.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>HEAD</term>
|
|
|
|
<listitem>
|
|
<para>Symbolic name for the main line, or &os;-CURRENT.
|
|
Also the default when no revision is specified.</para>
|
|
|
|
<para>In <application>CVSup</application>, this tag is
|
|
represented by a <literal>.</literal> (not punctuation,
|
|
but a literal <literal>.</literal> character).</para>
|
|
|
|
<note>
|
|
<para>In CVS, this is the default when no revision tag
|
|
is specified. It is usually <emphasis>not</emphasis>
|
|
a good idea to checkout or update to CURRENT sources
|
|
on a STABLE machine, unless that is your
|
|
intent.</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_9</term>
|
|
|
|
<listitem>
|
|
<para>The line of development for &os;-9.X, also known
|
|
as &os; 9-STABLE</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_9_1</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-9.1, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_9_0</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-9.0, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_8</term>
|
|
|
|
<listitem>
|
|
<para>The line of development for &os;-8.X, also known
|
|
as &os; 8-STABLE</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_8_3</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-8.3, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_8_2</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-8.2, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_8_1</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-8.1, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_8_0</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-8.0, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_7</term>
|
|
|
|
<listitem>
|
|
<para>The line of development for &os;-7.X, also known
|
|
as &os; 7-STABLE</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_7_4</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-7.4, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_7_3</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-7.3, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_7_2</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-7.2, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_7_1</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-7.1, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_7_0</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-7.0, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_6</term>
|
|
|
|
<listitem>
|
|
<para>The line of development for &os;-6.X, also known
|
|
as &os; 6-STABLE</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_6_4</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-6.4, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_6_3</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-6.3, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_6_2</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-6.2, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_6_1</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-6.1, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_6_0</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-6.0, used only for
|
|
security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5</term>
|
|
|
|
<listitem>
|
|
<para>The line of development for &os;-5.X, also known
|
|
as &os; 5-STABLE.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_5</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-5.5, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_4</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-5.4, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_3</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-5.3, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_2</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-5.2 and
|
|
&os;-5.2.1, used only for security advisories and other
|
|
critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_1</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-5.1, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_0</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-5.0, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4</term>
|
|
|
|
<listitem>
|
|
<para>The line of development for &os;-4.X, also known
|
|
as &os; 4-STABLE.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_11</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-4.11, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_10</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-4.10, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_9</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-4.9, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_8</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-4.8, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_7</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-4.7, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_6</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-4.6 and &os;-4.6.2,
|
|
used only for security advisories and other
|
|
critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_5</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-4.5, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_4</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-4.4, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_3</term>
|
|
|
|
<listitem>
|
|
<para>The release branch for &os;-4.3, used only
|
|
for security advisories and other critical fixes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_3</term>
|
|
|
|
<listitem>
|
|
<para>The line of development for &os;-3.X, also known
|
|
as 3.X-STABLE.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_2_2</term>
|
|
|
|
<listitem>
|
|
<para>The line of development for &os;-2.2.X, also known
|
|
as 2.2-STABLE. This branch is mostly obsolete.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Release Tags</title>
|
|
|
|
<para>These tags refer to a specific point in time when a
|
|
particular version of &os; was released. The release
|
|
engineering process is documented in more detail by the
|
|
<ulink url="&url.base;/releng/">Release Engineering
|
|
Information</ulink> and
|
|
<ulink url="&url.articles.releng;/release-proc.html">Release
|
|
Process</ulink> documents. The
|
|
<filename class="directory">src</filename> tree uses tag names
|
|
that start with <literal>RELENG_</literal> tags. The
|
|
<filename class="directory">ports</filename> and
|
|
<filename class="directory">doc</filename> trees use tags
|
|
whose names begin with <literal>RELEASE</literal> tags.
|
|
Finally, the <filename class="directory">www</filename> tree
|
|
is not tagged with any special name for releases.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>RELENG_9_1_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 9.1</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_9_0_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 9.0</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_8_3_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 8.3</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_8_2_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 8.2</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_8_1_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 8.1</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_8_0_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 8.0</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_7_4_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 7.4</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_7_3_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 7.3</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_7_2_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 7.2</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_7_1_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 7.1</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_7_0_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 7.0</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_6_4_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 6.4</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_6_3_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 6.3</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_6_2_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 6.2</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_6_1_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 6.1</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_6_0_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 6.0</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_5_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 5.5</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_4_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 5.4</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_11_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.11</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_3_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 5.3</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_10_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.10</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_2_1_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 5.2.1</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_2_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 5.2</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_9_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.9</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_1_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 5.1</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_8_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.8</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_5_0_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 5.0</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_7_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.7</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_6_2_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.6.2</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_6_1_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.6.1</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_6_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.6</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_5_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.5</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_4_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.4</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_3_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.3</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_2_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.2</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_1_1_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.1.1</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_1_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.1</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_4_0_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os; 4.0</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_3_5_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-3.5</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_3_4_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-3.4</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_3_3_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-3.3</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_3_2_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-3.2</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_3_1_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-3.1</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_3_0_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-3.0</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_2_2_8_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-2.2.8</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_2_2_7_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-2.2.7</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_2_2_6_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-2.2.6</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_2_2_5_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-2.2.5</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_2_2_2_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-2.2.2</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_2_2_1_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-2.2.1</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RELENG_2_2_0_RELEASE</term>
|
|
|
|
<listitem>
|
|
<para>&os;-2.2.0</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="mirrors-rsync">
|
|
<title><application>rsync</application> Sites</title>
|
|
|
|
<para>The following sites make &os; available through the rsync
|
|
protocol. The <application>rsync</application> utility works in
|
|
much the same way as the &man.rcp.1; command,
|
|
but has more options and uses the rsync remote-update protocol
|
|
which transfers only the differences between two sets of files,
|
|
thus greatly speeding up the synchronization over the network.
|
|
This is most useful if you are a mirror site for the
|
|
&os; FTP server, or the CVS repository. The
|
|
<application>rsync</application> suite is available for many
|
|
operating systems, on &os;, see the
|
|
<filename role="package">net/rsync</filename>
|
|
port or use the package.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Czech Republic</term>
|
|
|
|
<listitem>
|
|
<para>rsync://ftp.cz.FreeBSD.org/</para>
|
|
|
|
<para>Available collections:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>ftp: A partial mirror of the &os; FTP
|
|
server.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&os;: A full mirror of the &os; FTP server.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Netherlands</term>
|
|
|
|
<listitem>
|
|
<para>rsync://ftp.nl.FreeBSD.org/</para>
|
|
|
|
<para>Available collections:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>&os;: A full mirror of the &os; FTP server.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Russia</term>
|
|
|
|
<listitem>
|
|
<para>rsync://ftp.mtu.ru/</para>
|
|
|
|
<para>Available collections:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>&os;: A full mirror of the &os; FTP server.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&os;-gnats: The GNATS bug-tracking
|
|
database.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>&os;-Archive: The mirror of &os; Archive
|
|
FTP server.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Sweden</term>
|
|
|
|
<listitem>
|
|
<para>rsync://ftp4.se.freebsd.org/</para>
|
|
|
|
<para>Available collections:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>&os;: A full mirror of the &os; FTP server.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Taiwan</term>
|
|
|
|
<listitem>
|
|
<para>rsync://ftp.tw.FreeBSD.org/</para>
|
|
|
|
<para>rsync://ftp2.tw.FreeBSD.org/</para>
|
|
|
|
<para>rsync://ftp6.tw.FreeBSD.org/</para>
|
|
|
|
<para>Available collections:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>&os;: A full mirror of the &os; FTP server.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>United Kingdom</term>
|
|
|
|
<listitem>
|
|
<para>rsync://rsync.mirrorservice.org/</para>
|
|
|
|
<para>Available collections:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>ftp.freebsd.org: A full mirror of the &os;
|
|
FTP server.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>United States of America</term>
|
|
|
|
<listitem>
|
|
<para>rsync://ftp-master.FreeBSD.org/</para>
|
|
|
|
<para>This server may only be used by &os; primary mirror
|
|
sites.</para>
|
|
<para>Available collections:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>&os;: The master archive of the &os; FTP
|
|
server.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>acl: The &os; master ACL list.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>rsync://ftp13.FreeBSD.org/</para>
|
|
|
|
<para>Available collections:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>&os;: A full mirror of the &os; FTP server.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect1>
|
|
</appendix>
|