aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/articles
diff options
context:
space:
mode:
Diffstat (limited to 'en_US.ISO8859-1/articles')
-rw-r--r--en_US.ISO8859-1/articles/Makefile1
-rw-r--r--en_US.ISO8859-1/articles/bsdl-gpl/article.sgml6
-rw-r--r--en_US.ISO8859-1/articles/committers-guide/article.sgml967
-rw-r--r--en_US.ISO8859-1/articles/contributors/contrib.additional.sgml47
-rw-r--r--en_US.ISO8859-1/articles/contributors/contrib.committers.sgml8
-rw-r--r--en_US.ISO8859-1/articles/contributors/contrib.corealumni.sgml36
-rw-r--r--en_US.ISO8859-1/articles/hubs/article.sgml8
-rw-r--r--en_US.ISO8859-1/articles/linux-users/article.sgml2
-rw-r--r--en_US.ISO8859-1/articles/portbuild/article.sgml4
-rw-r--r--en_US.ISO8859-1/articles/pxe/Makefile28
-rw-r--r--en_US.ISO8859-1/articles/pxe/article.sgml300
-rw-r--r--en_US.ISO8859-1/articles/pxe/dhcpd.conf23
-rw-r--r--en_US.ISO8859-1/articles/pxe/install.cfg203
-rw-r--r--en_US.ISO8859-1/articles/pxe/loader.rc11
-rw-r--r--en_US.ISO8859-1/articles/pxe/pkgmaker.sh9
-rw-r--r--en_US.ISO8859-1/articles/pxe/post36
-rw-r--r--en_US.ISO8859-1/articles/pxe/pre7
17 files changed, 186 insertions, 1510 deletions
diff --git a/en_US.ISO8859-1/articles/Makefile b/en_US.ISO8859-1/articles/Makefile
index 11ad6fc5ae..46e8e20a27 100644
--- a/en_US.ISO8859-1/articles/Makefile
+++ b/en_US.ISO8859-1/articles/Makefile
@@ -47,7 +47,6 @@ SUBDIR+= port-mentor-guidelines
SUBDIR+= portbuild
SUBDIR+= pr-guidelines
SUBDIR+= problem-reports
-SUBDIR+= pxe
SUBDIR+= rc-scripting
SUBDIR+= relaydelay
SUBDIR+= releng
diff --git a/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml b/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml
index 634fa7950b..08e29d1c62 100644
--- a/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml
+++ b/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml
@@ -297,7 +297,7 @@
fork.</para>
<para>The GPL explicitly disallows revoking the license. It has
- occurred , however, that a company (Mattel) purchased a GPL
+ occurred, however, that a company (Mattel) purchased a GPL
copyright (cphack), revoked the entire copyright, went to court,
and prevailed [2]. That is, they legally revoked the entire
distribution and all derivative works based on the
@@ -561,10 +561,10 @@
[2] http://archives.cnn.com/2000/TECH/computing/03/28/cyberpatrol.mirrors/
-[3] Open Source: the Unauthorized White Papers, Donald K. Rosenberg, IDG Books,
+[3] Open Source: the Unauthorized White Papers, Donald K. Rosenberg, IDG Books,
2000. Quotes are from page 114, ``Effects of the GNU GPL''.
-[4] In the "What License to Use?" section of
+[4] In the "What License to Use?" section of
http://www.oreilly.com/catalog/opensources/book/brian.html
This whitepaper is a condensation of an original work available at
diff --git a/en_US.ISO8859-1/articles/committers-guide/article.sgml b/en_US.ISO8859-1/articles/committers-guide/article.sgml
index 895fcf23a0..58707becd6 100644
--- a/en_US.ISO8859-1/articles/committers-guide/article.sgml
+++ b/en_US.ISO8859-1/articles/committers-guide/article.sgml
@@ -99,11 +99,12 @@
</row>
<row>
- <entry><emphasis><literal>ports/</literal> CVS Root</emphasis></entry>
+ <entry><emphasis><literal>ports/</literal> Subversion
+ Root</emphasis></entry>
<entry>
- <hostid
- role="fqdn">pcvs.FreeBSD.org</hostid><literal>:</literal><filename>/home/pcvs</filename>
- (see also <xref linkend="vcs.operations"/>).</entry>
+ <literal>svn+ssh://</literal><hostid
+ role="fqdn">svn.FreeBSD.org</hostid><filename>/ports</filename>
+ (see also <xref linkend="subversion-primer"/>).</entry>
</row>
<row>
@@ -268,827 +269,21 @@
</sect1>
- <sect1 id="vcs.operations">
- <title>Version Control System Operations</title>
+ <sect1 id="subversion-primer">
+ <title>Subversion Primer</title>
<para>It is assumed that you are already familiar with the basic
operation of the version control systems in use. Traditionally
this was CVS. Subversion is used for the <literal>src</literal>
- tree as of May 2008 and the <literal>doc/www</literal> tree as
- of May 2012. Subversion is covered in <xref
- linkend="subversion-primer"/>.</para>
-
- <para>The &a.cvsadm; are the <quote>owners</quote> of the
- repository and are responsible for direct modification of it for
- the purposes of cleanup or fixing some unfortunate abuse of the
- version control system by a committer. Should you cause some
- repository accident, say a bad import or a bad tag creation,
- mail the responsible part of &a.cvsadm;, as stated in the table
- below, (or call one of them) and report the problem. For very
- important issues affecting the entire tree&mdash;not just a
- specific area&mdash;you can contact the &a.cvsadm;. Please do
- <emphasis>not</emphasis> contact the &a.cvsadm; for repocopies
- or other things that the more specific teams can handle.</para>
-
- <para><anchor id="repomeisters"/>The only ones able to directly
- fiddle the repository bits on the repository hosts are the
- repomeisters. To enforce this, there are no login shells
- available on the repository machines, except to the
- repomeisters.</para>
-
- <note>
- <para>Depending on the affected area of the repository, you
- should send your request for a repocopy to one of the
- following email addresses. Email sent to these addresses will
- be forwarded to the appropriate repomeisters.</para>
-
- <itemizedlist>
- <listitem><para>pcvs@ - regarding <filename class="directory">
- /home/pcvs</filename>, the ports
- repository</para></listitem>
-
- <listitem><para>projcvs@ - regarding <filename
- class="directory"> /home/projcvs</filename>, the
- third party projects repository</para></listitem>
- </itemizedlist>
- </note>
-
- <para>The &os; repositories are currently split into two distinct
- parts, namely <literal>ports</literal> and
- <literal>projects</literal>. These are combined under a single
- <literal>CVSROOT</literal> when distributed via
- <application>CVSup</application> for the convenience of our
- users. The <literal>src</literal> tree is automatically
- exported to CVS for compatibility reasons only (e.g.,
- <application>CVSup</application>). The <quote>official</quote>
- <literal>src</literal> repository is not stored in
- <application>CVS</application> but in Subversion. The official
- and exported trees are not necessarily equal.</para>
-
- <para>The CVS repositories are hosted on the repository machines.
- Currently, each of the repositories above reside on the same
- physical machine, <hostid
- role="hostname">ncvs.FreeBSD.org</hostid>, but to allow for
- the possibility of placing each on a separate machine in the
- future, there is a separate hostname for each that committers
- should use. Additionally, each repository is stored in a
- separate directory. The following table summarizes the
- situation.</para>
-
- <table frame="none" id="cvs-repositories-and-hosts">
- <title>&os; CVS Repositories, Hosts and Directories</title>
-
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Repository</entry>
- <entry>Host</entry>
- <entry>Directory</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>ports</entry>
- <entry>pcvs.FreeBSD.org</entry>
- <entry>/home/pcvs</entry>
- </row>
-
- <row>
- <entry>projects</entry>
- <entry>projcvs.FreeBSD.org</entry>
- <entry>/home/projcvs</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>CVS operations are done remotely by setting the
- <envar>CVSROOT</envar> environment variable to the appropriate
- host and top-level directory (for example, <hostid
- role="fqdn">pcvs.FreeBSD.org</hostid><literal>:</literal><filename>/home/pcvs</filename>),
- and doing the appropriate check-out/check-in operations. Many
- committers define aliases which expand to the correct
- <application>cvs</application> invocation for the appropriate
- repository. For example, a &man.tcsh.1; user may add the
- following to their <filename>.cshrc</filename> for this
- purpose:</para>
-
- <programlisting>alias pcvs cvs -d <replaceable>user</replaceable>@pcvs.FreeBSD.org:/home/pcvs
-alias projcvs cvs -d <replaceable>user</replaceable>@projcvs.FreeBSD.org:/home/projcvs</programlisting>
-
- <para>This way they can do all CVS operations locally and use
- <command><replaceable>X</replaceable>cvs commit</command> for
- committing to the official CVS repository.
- Refer to the &man.cvs.1; manual page for usage.</para>
-
- <note>
- <para>Please do <emphasis>not</emphasis> use <command>cvs
- checkout</command> or <command>update</command> with the
- official repository machine set as the CVS Root for keeping
- your source tree up to date. Remote CVS is not optimized for
- network distribution and requires a big work/administrative
- overhead on the server side. Please use our advanced
- <command>cvsup</command> distribution method for obtaining the
- repository bits, and only do the actual
- <command>commit</command> operation on the repository host.
- We provide an extensive cvsup replication network for this
- purpose, as well as give access to
- <hostid>cvsup-master</hostid> if you really need to stay
- current to the latest changes. <hostid>cvsup-master</hostid>
- has got the horsepower to deal with this, the repository
- master server does not. &a.kuriyama; is in charge of
- <hostid>cvsup-master</hostid>.</para>
- </note>
-
- <para>If you need to use CVS <command>add</command> and
- <command>delete</command> operations in a manner that is
- effectively a &man.mv.1; operation, then a repository copy is in
- order rather than using CVS <command>add</command> and
- <command>delete</command>. In a repository copy, a <link
- linkend="repomeisters">repomeister</link> will copy the
- file(s) to their new name and/or location and let you know when
- it is done. The purpose of a repository copy is to preserve
- file change history, or logs. We in the FreeBSD Project greatly
- value the change history that a version control system gives to
- the project.</para>
-
- <para>CVS reference information, tutorials, and FAQs can be found
- at: <ulink url="http://www.cvshome.org/docs/"></ulink>. The
- information in <ulink
- url="http://cvsbook.red-bean.com/cvsbook.html">Karl Fogel's
- chapters from <quote>Open Source Development with
- CVS</quote></ulink> is also very useful.</para>
-
- <para>&a.des; also supplied the following <quote>mini
- primer</quote> for CVS.</para>
-
- <orderedlist>
- <listitem>
- <para>Check out a module with the <command>co</command> or
- <command>checkout</command> command.</para>
-
- <screen>&prompt.user; <userinput>cvs checkout shazam</userinput></screen>
-
- <para>This checks out a copy of the
- <filename>shazam</filename> module. If there is no
- <filename>shazam</filename> module in the modules file, it
- looks for a top-level directory named
- <filename>shazam</filename> instead.</para>
-
- <table frame="none">
- <title>Useful <command>cvs checkout</command>
- options</title>
-
- <tgroup cols="2">
- <tbody>
- <row>
- <entry><option>-P</option></entry>
- <entry>Do not create empty directories</entry>
- </row>
-
- <row>
- <entry><option>-l</option></entry>
- <entry>Check out a single level, no
- subdirectories</entry>
- </row>
-
- <row>
- <entry><option>-r<replaceable>rev</replaceable></option></entry>
- <entry>Check out revision, branch or tag
- <replaceable>rev</replaceable></entry>
- </row>
-
- <row>
- <entry><option>-D<replaceable>date</replaceable></option></entry>
- <entry>Check out the sources as they were on date
- <replaceable>date</replaceable></entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>Practical FreeBSD examples:</para>
-
- <itemizedlist>
- <listitem>
- <para>Check out the <filename>Tools</filename> module,
- which corresponds to
- <filename>ports/Tools</filename>:</para>
-
- <screen>&prompt.user; <userinput>cvs co Tools</userinput></screen>
-
- <para>You now have a directory named
- <filename>ports/Tools</filename> with subdirectories
- <filename>portbuild</filename>,
- <filename>scripts</filename>, and
- <filename>CVS</filename>.</para>
- </listitem>
-
- <listitem>
- <para>Check out the same files, but with full path:</para>
-
- <screen>&prompt.user; <userinput>cvs co ports/Tools</userinput></screen>
-
- <para>You now have a directory named
- <filename>ports</filename>, with subdirectories
- <filename>CVS</filename> and <filename>Tools</filename>.
- The <filename>ports/Tools</filename> directory has
- subdirectories <filename>CVS</filename> and
- <filename>scripts</filename>, etc.</para>
- </listitem>
-
- <listitem>
- <para>Check out the directory <filename>Tools</filename>,
- but none of the subdirectories:</para>
-
- <screen>&prompt.user; <userinput>cvs co -l Tools</userinput></screen>
-
- <para>You now have a directory named
- <filename>Tools</filename> with just one subdirectory
- named <filename>CVS</filename>.</para>
- </listitem>
-
- <listitem>
- <para>Check out the <filename>Tools</filename> module as
- it was when support for &os;&nbsp;5.X was
- dropped:</para>
-
- <screen>&prompt.user; <userinput>cvs co -rRELEASE_5_EOL Tools</userinput></screen>
-
- <para>You will not be able to commit modifications, since
- <literal>RELEASE_5_EOL</literal> is a point in time, not
- a branch.</para>
- </listitem>
-
- <listitem>
- <para>Check out the <filename>Tools</filename> module as
- it was on March 25th, 2009:</para>
-
- <screen>&prompt.user; <userinput>cvs co -D'2009-03-25' Tools</userinput></screen>
-
- <para>You will not be able to commit modifications.</para>
- </listitem>
-
- <listitem>
- <para>Check out the <filename>Tools</filename> module as
- it was one week ago:</para>
-
- <screen>&prompt.user; <userinput>cvs co -D'last week' Tools</userinput></screen>
-
- <para>You will not be able to commit modifications.</para>
- </listitem>
- </itemizedlist>
-
- <para>Note that cvs stores metadata in subdirectories named
- <filename>CVS</filename>. Similarly, Subversion stores
- metadata in subdirectories named
- <filename>.svn</filename>.</para>
-
- <para>Arguments to <option>-D</option> and <option>-r</option>
- are sticky, which means cvs will remember them later, e.g.,
- when you do a <command>cvs update</command>.</para>
- </listitem>
-
- <listitem>
- <para>Check the status of checked-out files with the
- <command>status</command> command.</para>
-
- <screen>&prompt.user; <userinput>cvs status shazam</userinput></screen>
-
- <para>This displays the status of the file
- <filename>shazam</filename> or of every file in the
- <filename>shazam</filename> directory. For every file, the
- status is given as one of:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <tbody>
- <row>
- <entry>Up-to-date</entry>
- <entry>File is up-to-date and unmodified.</entry>
- </row>
-
- <row>
- <entry>Needs Patch</entry>
- <entry>File is unmodified, but there is a newer
- revision in the repository.</entry>
- </row>
-
- <row>
- <entry>Locally Modified</entry>
- <entry>File is up-to-date, but modified.</entry>
- </row>
-
- <row>
- <entry>Needs Merge</entry>
- <entry>File is modified, and there is a newer revision
- in the repository.</entry>
- </row>
-
- <row>
- <entry>File had conflicts on merge</entry>
- <entry>There were conflicts the last time this file
- was updated, and they have not been resolved
- yet.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>You will also see the local revision and date,
- the revision number of the newest applicable version
- (<quote>newest applicable</quote> because if you have a
- sticky date, tag or branch, it may not be the actual newest
- revision), and any sticky tags, dates or options.</para>
- </listitem>
-
- <listitem>
- <para>Once you have checked something out, you can update it
- with the <command>update</command> command.</para>
-
- <screen>&prompt.user; <userinput>cvs update shazam</userinput></screen>
-
- <para>This updates the file <filename>shazam</filename> or the
- contents of the <filename>shazam</filename> directory to the
- latest version along the branch you checked out. If you
- checked out a <quote>point in time</quote>, it does nothing
- unless the tags have moved in the repository or some other
- weird stuff is going on.</para>
-
- <para>Useful options, in addition to those listed above for
- <command>checkout</command>:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <tbody>
- <row>
- <entry><option>-d</option></entry>
- <entry>Check out any additional missing
- directories.</entry>
- </row>
-
- <row>
- <entry><option>-A</option></entry>
- <entry>Update to head of main branch.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>If you checked out a module with <option>-r</option> or
- <option>-D</option>, running <command>cvs update</command>
- with a different <option>-r</option> or <option>-D</option>
- argument or with <option>-A</option> will select a new
- branch, revision or date. The <option>-A</option> option
- clears all sticky tags, dates or revisions whereas
- <option>-r</option> and <option>-D</option> set new
- ones.</para>
-
- <para>Theoretically, specifying <literal>HEAD</literal> as the
- argument to <option>-r</option> will give you the same
- result as <option>-A</option>, but that is just
- theory.</para>
-
- <para>The <option>-d</option> option is useful if:</para>
-
- <itemizedlist>
- <listitem>
- <para>somebody has added subdirectories to the module
- you have checked out after you checked it out.</para>
- </listitem>
-
- <listitem>
- <para>you checked out with <option>-l</option>, and later
- change your mind and want to check out the
- subdirectories as well.</para>
- </listitem>
-
- <listitem>
- <para>you deleted some subdirectories and want to check
- them all back out.</para>
- </listitem>
- </itemizedlist>
-
- <para><emphasis>Watch the output of the <command>cvs
- update</command> with care.</emphasis> The letter in
- front of each filename indicates what was done with
- it:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <tbody>
- <row>
- <entry><literal>U</literal></entry>
- <entry>The file was updated without trouble.</entry>
- </row>
-
- <row>
- <entry><literal>P</literal></entry>
- <entry>The file was updated without trouble (you will
- only see this when working against a remote
- repository).</entry>
- </row>
-
- <row>
- <entry><literal>M</literal></entry>
- <entry>The file had been modified, and was merged
- without conflicts.</entry>
- </row>
-
- <row>
- <entry><literal>C</literal></entry>
- <entry>The file had been modified, and was merged with
- conflicts.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Merging is what happens if you check out a copy of some
- file, modify it, then someone else commits a change, and you
- run <command>cvs update</command>. CVS notices that you have
- made local changes, and tries to merge your changes with the
- changes between the version you originally checked out and
- the one you updated to. If the changes are to separate
- portions of the file, it will almost always work fine
- (though the result might not be syntactically or
- semantically correct).</para>
-
- <para>CVS will print an <literal>M</literal> in front of every
- locally modified file even if there is no newer version in
- the repository, so <command>cvs update</command> is handy
- for getting a summary of what you have changed
- locally.</para>
-
- <para>If you get a <literal>C</literal>, then your changes
- conflicted with the changes in the repository (the changes
- were to the same lines, or neighboring lines, or you changed
- the local file so much that <command>cvs</command> can not
- figure out how to apply the repository's changes). You will
- have to go through the file manually and resolve the
- conflicts; they will be marked with rows of
- <literal>&lt;</literal>, <literal>=</literal> and
- <literal>&gt;</literal> signs. For every conflict, there
- will be a marker line with seven <literal>&lt;</literal>
- signs and the name of the file, followed by a chunk of what
- your local file contained, followed by a separator line with
- seven <literal>=</literal> signs, followed by the
- corresponding chunk in the repository version, followed by a
- marker line with seven <literal>&gt;</literal> signs and the
- revision number you updated to.</para>
- </listitem>
-
- <listitem>
- <para>View differences between the local version and the
- repository version with the <command>diff</command>
- command.</para>
-
- <screen>&prompt.user; <userinput>cvs diff shazam</userinput></screen>
-
- <para>shows you every modification you have made to the
- <filename>shazam</filename> file or module.</para>
-
- <table frame="none">
- <title>Useful <command>cvs diff</command> options</title>
-
- <tgroup cols="2">
- <tbody>
- <row>
- <entry><option>-u</option></entry>
- <entry>Uses the unified diff format.</entry>
- </row>
-
- <row>
- <entry><option>-c</option></entry>
- <entry>Uses the context diff format.</entry>
- </row>
-
- <row>
- <entry><option>-N</option></entry>
- <entry>Shows missing or added files.</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>You always want to use <option>-u</option>, since
- unified diffs are much easier to read than almost any other
- diff format (in some circumstances, context diffs generated
- with the <option>-c</option> option may be better, but they
- are much bulkier). A unified diff consists of a series of
- hunks. Each hunk begins with a line that starts with two
- <literal>@</literal> signs and specifies where in the file
- the differences are and how many lines they span. This is
- followed by a number of lines; some (preceded by a blank)
- are context; some (preceded by a <literal>-</literal> sign)
- are outtakes and some (preceded by a <literal>+</literal>)
- are additions.</para>
-
- <para>You can also diff against a different version than the
- one you checked out by specifying a version with
- <option>-r</option> or <option>-D</option> as in
- <command>checkout</command> or <command>update</command>, or
- even view the diffs between two arbitrary versions (without
- regard for what you have locally) by specifying
- <emphasis>two</emphasis> versions with <option>-r</option>
- or <option>-D</option>.</para>
- </listitem>
-
- <listitem>
- <para>View log entries with the <command>log</command>
- command.</para>
-
- <screen>&prompt.user; <userinput>cvs log shazam</userinput></screen>
-
- <para>If <filename>shazam</filename> is a file, this will
- print a <emphasis>header</emphasis> with information about
- this file, such as where in the repository this file is
- stored, which revision is the <literal>HEAD</literal> for
- this file, what branches this file is in, and any tags that
- are valid for this file. Then, for each revision of this
- file, a log message is printed. This includes the date and
- time of the commit, who did the commit, how many lines were
- added and/or deleted, and finally the log message that the
- committer who did the change wrote.</para>
-
- <para>If <filename>shazam</filename> is a directory, then the
- log information described above is printed for each file in
- the directory in turn. Unless you give the
- <option>-l</option> to <command>log</command>, the log for
- all subdirectories of <filename>shazam</filename> is printed
- too, in a recursive manner.</para>
-
- <para>Use the <command>log</command> command to view the
- history of one or more files, as it is stored in the CVS
- repository. You can even use it to view the log message of
- a specific revision, if you add the
- <option>-r<replaceable>rev</replaceable></option> to the
- <command>log</command> command:</para>
-
- <screen>&prompt.user; <userinput>cvs log -r1.2 shazam</userinput></screen>
-
- <para>This will print only the log message for revision
- <literal>1.2</literal> of file <filename>shazam</filename>
- if it is a file, or the log message for revision
- <literal>1.2</literal> of each file under
- <filename>shazam</filename> if it is a directory.</para>
- </listitem>
-
- <listitem>
- <para>See who did what with the <command>annotate</command>
- command. This command shows you each line of the specified
- file or files, along with which user most recently changed
- that line.</para>
-
- <screen>&prompt.user; <userinput>cvs annotate shazam</userinput></screen>
- </listitem>
-
- <listitem>
- <para>Add new files with the <command>add</command>
- command.</para>
-
- <para>Create the file, <command>cvs add</command> it, then
- <command>cvs commit</command> it.</para>
-
- <para>Similarly, you can add new directories by creating them
- and then <command>cvs add</command>ing them. Note that you
- do not need to commit directories.</para>
- </listitem>
-
- <listitem>
- <para>Remove obsolete files with the <command>remove</command>
- command.</para>
-
- <para>Remove the file, then <command>cvs rm</command> it, then
- <command>cvs commit</command> it.</para>
- </listitem>
-
- <listitem>
- <para>Commit with the <command>commit</command> or
- <command>checkin</command> command.</para>
-
- <table frame="none">
- <title>Useful <command>cvs commit</command> options</title>
-
- <tgroup cols="2">
- <tbody>
- <row>
- <entry><option>-f</option></entry>
- <entry>Force a commit of an unmodified file.</entry>
- </row>
-
- <row>
- <entry><option>-m<replaceable>msg</replaceable></option></entry>
- <entry>Specify a commit message on the command line
- rather than invoking an editor.</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>The following are some Subversion examples related to
- the src repository. More (in-depth) information can be
- found in the Subversion Primer at <xref
- linkend="subversion-primer"/> and <ulink
- url="http://wiki.freebsd.org/SubversionMissing">List of
- things missing in Subversion when compared to CVS</ulink>.
- The notes at <ulink
- url="http://people.freebsd.org/~peter/svn_notes.txt"></ulink>
- might also be useful. Subversion is also described in-depth
- in <ulink url="http://svnbook-red-bean.com/">Version Control
- with Subversion</ulink>.</para>
-
- <itemizedlist>
- <listitem>
- <para>Check out the <literal>head</literal> branch:</para>
-
- <screen>&prompt.user; <userinput>svn co svn+ssh://svn.freebsd.org/base/head /usr/src</userinput></screen>
- </listitem>
- </itemizedlist>
-
- <para>Good commit messages are important. They tell others why
- you did the changes you did, not just right here and now,
- but months or years from now when someone wonders why some
- seemingly illogical or inefficient piece of code sneaked
- into your source file. It is also an invaluable aid to
- deciding which changes to MFC and which not to MFC.</para>
-
- <para>Commit messages should be clear, concise and provide
- a reasonable summary to give an indication of what was
- changed and why.</para>
-
- <para>Commit messages should provide enough information to
- enable a third party to decide if the change is relevant to
- them and if they need to read the change itself.</para>
-
- <para>Avoid committing several unrelated changes in one go. It
- makes merging difficult, and also makes it harder to
- determine which change is the culprit if a bug crops
- up.</para>
-
- <para>Avoid committing style or whitespace fixes and
- functionality fixes in one go. It makes merging difficult,
- and also makes it harder to understand just what functional
- changes were made. In the case of documentation files, it
- can make the job of the translation teams more complicated,
- as it becomes difficult for them to determine exactly what
- content changes need to be translated.</para>
-
- <para>Avoid committing changes to multiple files in one go
- with a generic, vague message. Instead, commit each file (or
- small, related groups of files) with tailored commit
- messages.</para>
-
- <para>Before committing, <emphasis>always</emphasis>:</para>
-
- <itemizedlist>
- <listitem>
- <para>verify which branch you are committing to, using
- <command>svn status</command>. This is only needed for
- the src tree, as the other trees are not branched.</para>
- </listitem>
-
- <listitem>
- <para>review your diffs, using the diff command of the
- version control system.</para>
- </listitem>
- </itemizedlist>
-
- <para>Also, ALWAYS specify which files to commit explicitly on
- the command line, so you do not accidentally commit other
- files than the ones you intended &mdash; a commit operation
- without any arguments usually will commit every modification
- in your current working directory and every
- subdirectory.</para>
- </listitem>
- </orderedlist>
-
- <para>Additional tips and tricks:</para>
-
- <orderedlist>
- <listitem>
-
- <para>You can place commonly used options in your
- <filename>~/.cvsrc</filename>, like this:</para>
-
- <programlisting>cvs -z3
-diff -Nu
-update -Pd
-checkout -P</programlisting>
-
- <para>This example says:</para>
-
- <itemizedlist>
- <listitem>
- <para>always use compression level 3 when talking to a
- remote server. This is a life-saver when working over a
- slow connection.</para>
- </listitem>
-
- <listitem>
- <para>always use the <option>-N</option> (show added or
- removed files) and <option>-u</option> (unified diff
- format) options to &man.diff.1;.</para>
- </listitem>
-
- <listitem>
- <para>always use the <option>-P</option> (prune empty
- directories) and <option>-d</option> (check out new
- directories) options when updating.</para>
- </listitem>
-
- <listitem>
- <para>always use the <option>-P</option> (prune empty
- directories) option when checking out.</para>
- </listitem>
- </itemizedlist>
- </listitem>
-
- <listitem>
- <para>Use Eivind Eklund's <command>cdiff</command> script to
- view unidiffs. It is a wrapper for &man.less.1; that adds
- ANSI color codes to make hunk headers, outtakes and
- additions stand out; context and garbage are unmodified. It
- also expands tabs properly (tabs often look wrong in diffs
- because of the extra character in front of each
- line).</para>
-
- <para><filename
- role="package">textproc/cdiff</filename></para>
-
- <para>Simply use it instead of &man.more.1; or
- &man.less.1;:</para>
-
- <screen>&prompt.user; <userinput>cvs diff -Nu shazam | cdiff</userinput></screen>
-
- <para>Alternatively some editors like &man.vim.1; (<filename
- role="package">editors/vim</filename>) have color support
- and when used as a pager with color syntax highlighting
- switched on will highlight many types of file, including
- diffs, patches, and CVS/RCS logs.</para>
-
- <screen>&prompt.user; <userinput>echo "syn on" &gt;&gt; ~/.vimrc </userinput>
-&prompt.user; <userinput>cvs diff -Nu shazam | vim -</userinput>
-&prompt.user; <userinput>cvs log shazam | vim -</userinput> </screen>
- </listitem>
-
- <listitem>
- <para>CVS is old, arcane, crufty and buggy, and sometimes
- exhibits non-deterministic behavior which some claim as
- proof that it is actually merely the Newtonian manifestation
- of a sentient transdimensional entity. It is not humanly
- possible to know its every quirk inside out, so do not be
- afraid to ask the resident AI (&a.cvsadm;) for help.</para>
- </listitem>
-
- <listitem>
- <para>Do not leave the <command>cvs commit</command> command
- in commit message editing mode for too long (more than
- 2&ndash;3 minutes). It locks the directory you are working
- with and will prevent other developers from committing into
- the same directory. If you have to type a long commit
- message, type it before executing <command>cvs
- commit</command> and insert it into the commit message or
- save it in a file before committing and use the
- <option>-F</option> option of CVS to read the commit message
- from that file, i.e.,</para>
-
- <screen>&prompt.user; <userinput>vi logmsg</userinput>
-&prompt.user; <userinput>cvs ci -F logmsg shazam</userinput></screen>
-
- <para>This is the fastest way of passing a commit message to
- CVS but you should be careful when editing the
- <filename>logmsg</filename> file before the commit, because
- CVS will not give you a chance to edit the message when you
- do the actual commit.</para>
- </listitem>
-
- <listitem>
- <para>Speed up your CVS operation considerably by using a
- persistent ssh connection to the repository machine. First,
- put this configuration into your
- <filename>~/.ssh/config</filename>:</para>
-
- <programlisting>Host pcvs.FreeBSD.org
- ControlPath /home/<replaceable>user</replaceable>/.ssh/cvs.cpath
-Host projcvs.FreeBSD.org
- ControlPath /home/<replaceable>user</replaceable>/.ssh/cvs.cpath</programlisting>
-
- <para>Now open the persistent connection to the
- repoman:</para>
-
- <screen>&prompt.user; <userinput>ssh -fNM ncvs.FreeBSD.org</userinput></screen>
-
- <para>The CVS commands should now respond faster, as they are
- reusing existing connection with the repository. Note that
- all the hostnames are case sensitive.</para>
- </listitem>
- </orderedlist>
- </sect1>
+ tree as of May 2008, the <literal>doc/www</literal> tree as of
+ May 2012 and the <literal>ports</literal> tree as of July 2012.
+ </para>
- <sect1 id="subversion-primer">
- <title>Subversion Primer</title>
+ <para><ulink url="http://wiki.freebsd.org/SubversionMissing">There
+ is a list of things missing in Subversion when compared to CVS
+ </ulink>. The notes at <ulink
+ url="http://people.freebsd.org/~peter/svn_notes.txt"></ulink>
+ might also be useful.</para>
<sect2 id="svn-intro">
<title>Introduction</title>
@@ -1114,6 +309,11 @@ Host projcvs.FreeBSD.org
<literal>head/<replaceable>lang</replaceable>/htdocs/</literal>.</para>
</note>
+ <para>The &os; <literal>ports</literal> repository switched
+ from <acronym>CVS</acronym> to Subversion on July 14th, 2012.
+ The first real <acronym>SVN</acronym> commit is
+ <emphasis>r300894</emphasis>.</para>
+
<para>There are mechanisms in place to automatically merge
changes back from the Subversion repository to the
<acronym>CVS</acronym> one, so regular users should not notice
@@ -1186,12 +386,19 @@ Host projcvs.FreeBSD.org
<screen>&prompt.user; <userinput>svn checkout svn+ssh://svn.freebsd.org/doc/head /usr/doc</userinput></screen>
+ <para>For the <literal>ports</literal> tree, use:</para>
+
+ <screen>&prompt.user; <userinput>svn checkout svn+ssh://svn.freebsd.org/ports/head /usr/ports</userinput></screen>
+
<note>
<para>Though the remaining examples in this document are
written with the workflow of working with the
<literal>src</literal> tree in mind, the underlying
concepts are the same for working with the
- <literal>doc</literal> tree.</para>
+ <literal>doc</literal> and the <literal>ports</literal>
+ tree.
+ Ports related Subversion operations are listed in
+ <xref linkend="ports"/>.</para>
</note>
<para>The above command will check out a
@@ -1460,6 +667,39 @@ Host projcvs.FreeBSD.org
</listitem>
</itemizedlist>
</sect3>
+
+ <sect3>
+ <title>&os; Ports Tree Branches and Layout</title>
+
+ <para>In <literal>svn+ssh://svn.freebsd.org/ports</literal>,
+ <emphasis>ports</emphasis> refers repository root of the
+ ports tree.</para>
+
+ <para>In general, most &os; port work will be done within
+ the <filename>head/</filename> branch of the ports tree
+ which is the actual ports tree used to install software.
+ Some other key locations are:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>/branches/RELENG_<replaceable>n_n_n
+ </replaceable></emphasis> which corresponds to
+ <literal>RELENG_<replaceable>n_n_n</replaceable></literal>
+ is used to merge back security updates in preparation
+ for a release.</para>
+ </listitem>
+ <listitem>
+ <para><emphasis>/tags/RELEASE_<replaceable>n_n_n</replaceable></emphasis>
+ which corresponds to <literal>RELEASE_<replaceable>n_n_n</replaceable></literal>
+ represents a release tag of the ports tree.</para>
+ </listitem>
+ <listitem>
+ <para><emphasis>/tags/RELEASE_<replaceable>n</replaceable>_EOL</emphasis>
+ represents the end of life tag of a specific &os;
+ branch.</para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
</sect2>
<sect2 id="svn-daily-use">
@@ -1613,6 +853,13 @@ Host projcvs.FreeBSD.org
in a single operation:</para>
<screen>&prompt.user; <userinput>svn commit <replaceable>lib/libfetch</replaceable> <replaceable>usr/bin/fetch</replaceable></userinput></screen>
+
+ <para>There is also a commit wrapper for the ports tree
+ to handle the properties and sanity checking your
+ changes:</para>
+
+ <screen>&prompt.user; <userinput>/usr/ports/Tools/scripts/psvn commit
+ </userinput></screen>
</sect3>
<sect3 id="subversion-primer-add-remove">
@@ -1621,6 +868,9 @@ Host projcvs.FreeBSD.org
<note>
<para>Before adding files, get a copy of <ulink
url="http://people.freebsd.org/~peter/auto-props.txt">auto-props.txt</ulink>
+ (there is also a <ulink
+ url="http://people.freebsd.org/~beat/cvs2svn/auto-props.txt">
+ ports tree specific version</ulink>)
and add it to <filename>~/.subversion/config</filename>
according to the instructions in the file. If you added
something before you've read this, you may use
@@ -1628,7 +878,8 @@ Host projcvs.FreeBSD.org
files, fix your config file and re-add them again. The
initial config file is created when you first run a svn
command, even something as simple as <command>svn
- help</command>.</para>
+ help</command>.
+ </para>
</note>
<para>As with <acronym>CVS</acronym>, files are added to a
@@ -2728,6 +1979,9 @@ $target - head/$source:$P,$Q,$R</screen>
<para>In commit logs etc., <quote>rev 179872</quote> should be
spelled <quote>r179872</quote> as per convention.</para>
+ <para>Don't remove and re-add the same file in a single commit
+ as this will break the CVS exporter.</para>
+
<para>Speeding up checkouts and minimising network traffic is
possible with the following recipe:</para>
@@ -4291,7 +3545,7 @@ $target - head/$source:$P,$Q,$R</screen>
<procedure>
<step>
- <para>Remove the port's files via <command>cvs remove</command>.</para>
+ <para>Remove the port's files via <command>svn remove</command>.</para>
</step>
<step>
@@ -4333,20 +3587,20 @@ $target - head/$source:$P,$Q,$R</screen>
<para>This is essentially the reverse of deleting a port.</para>
<procedure>
<step>
- <para>Figure out when the port was removed. Use the ports
- <ulink url="http://www.freebsd.org/cgi/cvsweb.cgi/ports/">cvsweb</ulink>
- and then navigate to
- <replaceable>category</replaceable>/<replaceable>portname</replaceable>/<filename>Attic</filename>/ .
+ <para>Figure out when the port was removed. Use this
+ <ulink url="http://people.freebsd.org/~crees/removed_ports/index.xml">list</ulink>
+ and then copy the last living revision of the port:
+
+ <screen>&prompt.user; <userinput>cd /usr/ports/<replaceable>category
+ </replaceable></userinput>
+&prompt.user; <userinput>svn cp 'svn+ssh://svn.freebsd.org/ports/<replaceable>category</replaceable>/<replaceable>portname</replaceable>/@{<replaceable>YYYY-MM-DD</replaceable>}' <replaceable>portname</replaceable>
+ </userinput></screen>
+
Pick a date that is before the removal but after the last true
commit.</para>
</step>
<step>
- <para>In the proper directory:
-<command>cvs update -D <replaceable>datespec</replaceable></command>.</para>
- </step>
-
- <step>
<para>Perform whatever changes are necessary to make the port
work again. If it was deleted because the distfiles are
no longer available you will need to volunteer to host them
@@ -4354,7 +3608,8 @@ $target - head/$source:$P,$Q,$R</screen>
</step>
<step>
- <para><command>cvs add</command> the updated files.</para>
+ <para><command>svn add</command> or <command>svn remove</command>
+ any appropriate files.</para>
</step>
<step>
@@ -4369,7 +3624,7 @@ $target - head/$source:$P,$Q,$R</screen>
</step>
<step>
- <para><command>cvs commit</command> these changes, preferably in
+ <para><command>svn commit</command> these changes, preferably in
one step.</para>
</step>
</procedure>
@@ -4406,42 +3661,27 @@ $target - head/$source:$P,$Q,$R</screen>
<qandaentry>
<question>
- <para>When do we <emphasis>not</emphasis> need a
- repository copy?</para>
- </question>
-
- <answer>
- <para>When there is no history to preserve. If a port is
- added into a wrong category and is moved immediately,
- it suffices to simply <command>cvs remove</command> the
- old one and <command>addport</command> the new
- one.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question>
<para>What do I need to do?</para>
</question>
<answer>
- <para>File a PR in <application>GNATS</application>, listing the
- reasons for the repository copy request. Assign it to
- <literal>portmgr</literal> and set <varname>state</varname> to
- <literal>repocopy</literal>. In a few days,
- <literal>portmgr</literal> will do
- a repository copy from the old to the new location, and
- reassign the PR back to you. Once everything is done, perform the
- following:</para>
+ <para>With Subversion, a repo copy can be done by any
+ committer:</para>
<itemizedlist>
<listitem>
- <para>When a port has been repo copied:</para>
+ <para>Doing a repo copy:</para>
<procedure>
<step>
- <para>Do a force commit on the files of the copied port,
- stating repository copy was performed.</para>
+ <para>First make sure that you were using an up to
+ date port stree and the target directory does not
+ exist.</para>
+ </step>
+
+ <step>
+ <para>Use <command>svn move</command> or <command>svn
+ copy</command> to do the repo copy.</para>
</step>
<step>
@@ -4481,6 +3721,11 @@ $target - head/$source:$P,$Q,$R</screen>
<filename>ports/MOVED</filename>, if you remove the
original port.</para>
</step>
+
+ <step>
+ <para>Commit all changes on one commit. A forced commit
+ is no longer needed with Subversion.</para>
+ </step>
</procedure>
</listitem>
@@ -4958,7 +4203,7 @@ bak/packages packages from last complete &lt;major_version&gt; run on &lt;arch&
<answer>
<para>No, <filename>INDEX</filename> is no longer stored
- in the CVS repository. The file can either be generated
+ in the SVN repository. The file can either be generated
by running <command>make index</command>, or a pre-generated
version can be downloaded with <command>make
fetchindex</command>.</para>
diff --git a/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml b/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml
index 2c3cdd4c52..90af09b5b2 100644
--- a/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml
+++ b/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml
@@ -1478,11 +1478,6 @@
</listitem>
<listitem>
- <para>Bryan Drewery
- <email>bryan@shatow.net</email></para>
- </listitem>
-
- <listitem>
<para>Byung-Hee HWANG
<email> bh@izb.knu.ac.kr</email></para>
</listitem>
@@ -2608,6 +2603,11 @@
</listitem>
<listitem>
+ <para>Dmitry Pryadko
+ <email>d.pryadko@rambler-co.ru</email></para>
+ </listitem>
+
+ <listitem>
<para>Dmitry Semkin
<email>ds@tic-tac.ru</email></para>
</listitem>
@@ -5307,6 +5307,11 @@
</listitem>
<listitem>
+ <para>Kubilay Kocak
+ <email>koobs.freebsd@gmail.com</email></para>
+ </listitem>
+
+ <listitem>
<para>KUNISHIMA Takeo
<email>kunishi@c.oka-pu.ac.jp</email></para>
</listitem>
@@ -5929,6 +5934,11 @@
</listitem>
<listitem>
+ <para>Lukasz Stelmach
+ <email>lukasz.stelmach@iem.pw.edu.pl</email></para>
+ </listitem>
+
+ <listitem>
<para>Lupe Christoph
<email>lupe@lupe-christoph.de</email></para>
</listitem>
@@ -6058,6 +6068,11 @@
</listitem>
<listitem>
+ <para>Marcello Silva Coutinho
+ <email>marcellocoutinho@gmail.com</email></para>
+ </listitem>
+
+ <listitem>
<para>Marcelo/Porks Rossi
<email>marcelorossi@gmail.com</email></para>
</listitem>
@@ -6286,6 +6301,11 @@
</listitem>
<listitem>
+ <para>Martin Neubauer
+ <email>m.ne@gmx.net</email></para>
+ </listitem>
+
+ <listitem>
<para>Martin Otto
<email>gamato@users.sf.net</email></para>
</listitem>
@@ -7324,11 +7344,6 @@
</listitem>
<listitem>
- <para>Niclas Zeising
- <email>niclas.zeising@gmail.com</email></para>
- </listitem>
-
- <listitem>
<para>Nikola Lecic
<email>nikola.lecic@anthesphoria.net</email></para>
</listitem>
@@ -8717,6 +8732,11 @@
</listitem>
<listitem>
+ <para>Rodrigo Osorio
+ <email>rodrigo@bebik.net</email></para>
+ </listitem>
+
+ <listitem>
<para>Roger Hardiman
<email>roger@cs.strath.ac.uk</email></para>
</listitem>
@@ -8887,6 +8907,11 @@
</listitem>
<listitem>
+ <para>RyoTa SimaMoto
+ <email>liangtai.s4@gmail.com </email></para>
+ </listitem>
+
+ <listitem>
<para>Ryuichiro IMURA
<email>imura@af.airnet.ne.jp</email></para>
</listitem>
@@ -9303,7 +9328,7 @@
<listitem>
<para>Simon J Gerraty
- <email>sjg@melb.bull.oz.au</email></para>
+ <email>sjg@juniper.net</email></para>
</listitem>
<listitem>
diff --git a/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml b/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml
index a3ce3e8401..2f633051b4 100644
--- a/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml
+++ b/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml
@@ -312,6 +312,10 @@
</listitem>
<listitem>
+ <para>&a.bdrewery;</para>
+ </listitem>
+
+ <listitem>
<para>&a.gad;</para>
</listitem>
@@ -1600,6 +1604,10 @@
</listitem>
<listitem>
+ <para>&a.zeising;</para>
+ </listitem>
+
+ <listitem>
<para>&a.phantom;</para>
</listitem>
diff --git a/en_US.ISO8859-1/articles/contributors/contrib.corealumni.sgml b/en_US.ISO8859-1/articles/contributors/contrib.corealumni.sgml
index 5ea92905ec..a7115ef558 100644
--- a/en_US.ISO8859-1/articles/contributors/contrib.corealumni.sgml
+++ b/en_US.ISO8859-1/articles/contributors/contrib.corealumni.sgml
@@ -3,6 +3,26 @@
<itemizedlist>
<listitem>
+ <para>&a.wilko; (2006 - 2012)</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.brooks; (2006 - 2012)</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.pav; (2010 - 2012)</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.cperciva; (2010 - 2012)</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.rwatson; (2000 - 2012)</para>
+ </listitem>
+
+ <listitem>
<para>&a.keramida; (2006 - 2010)</para>
</listitem>
@@ -22,15 +42,15 @@
<para>&a.wes; (2002 - 2008)</para>
</listitem>
+ <!--
<listitem>
<para>&a.peter; (1995 - 2006, 2008 - 2010)</para>
</listitem>
+ -->
- <!--
<listitem>
- <para>&a.imp; (2000 - 2008)</para>
+ <para>&a.imp; (2000 - 2008, 2010 - 2012)</para>
</listitem>
- -->
<listitem>
<para>&a.markm; (2002 - 2006)</para>
@@ -123,7 +143,7 @@
</listitem>
<listitem>
- <para>John Dyson (1993 - 1998)</para>
+ <para>&a.dyson; (1993 - 1998)</para>
</listitem>
<listitem>
@@ -135,7 +155,7 @@
</listitem>
<listitem>
- <para>Andreas Schulz (1992 - 1995)</para>
+ <para>&a.ats; (1992 - 1995)</para>
</listitem>
<listitem>
@@ -151,14 +171,14 @@
</listitem>
<listitem>
- <para>Andrew Moore (1993 - 1994)</para>
+ <para>&a.alm; (1993 - 1994)</para>
</listitem>
<listitem>
- <para>Christoph Robitschko (1993 - 1994)</para>
+ <para>&a.chmr; (1993 - 1994)</para>
</listitem>
<listitem>
- <para>J. T. Conklin (1992 - 1993)</para>
+ <para>&a.jtc; (1992 - 1993)</para>
</listitem>
</itemizedlist>
diff --git a/en_US.ISO8859-1/articles/hubs/article.sgml b/en_US.ISO8859-1/articles/hubs/article.sgml
index 8ff92594ee..9e4a95f06f 100644
--- a/en_US.ISO8859-1/articles/hubs/article.sgml
+++ b/en_US.ISO8859-1/articles/hubs/article.sgml
@@ -256,14 +256,10 @@
<itemizedlist>
<listitem>
- <para><filename role="package">www/apache13</filename>:
+ <para><filename role="package">www/apache22</filename>:
<application>Apache</application> is the most widely
deployed web server on the Internet. It is used
- extensively by the FreeBSD Project. You may also wish to
- use the next generation of the
- <application>Apache</application> web server, available
- in the ports collection as <filename
- role="package">www/apache22</filename>.</para>
+ extensively by the FreeBSD Project.</para>
</listitem>
<listitem>
diff --git a/en_US.ISO8859-1/articles/linux-users/article.sgml b/en_US.ISO8859-1/articles/linux-users/article.sgml
index 44a4b7a44a..9d4722c051 100644
--- a/en_US.ISO8859-1/articles/linux-users/article.sgml
+++ b/en_US.ISO8859-1/articles/linux-users/article.sgml
@@ -316,7 +316,7 @@ apache22_flags="-DSSL"</programlisting>
&linux; uses to identify a network interface, &os; uses the driver
name followed by a number as the identifier. The following output
from &man.ifconfig.8; shows two &intel;&nbsp;Pro&nbsp;1000 network
- interfaces (em0 and em1):</para>
+ interfaces (<devicename>em0</devicename> and <devicename>em1</devicename>):</para>
<screen>&prompt.user; <userinput>ifconfig</userinput>
em0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
diff --git a/en_US.ISO8859-1/articles/portbuild/article.sgml b/en_US.ISO8859-1/articles/portbuild/article.sgml
index 7b15b227b4..85d102bc47 100644
--- a/en_US.ISO8859-1/articles/portbuild/article.sgml
+++ b/en_US.ISO8859-1/articles/portbuild/article.sgml
@@ -2628,8 +2628,8 @@ ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/build
</listitem>
<listitem>
- <para>(Only necessary for old codebase):
- In that
+ <para>
+ In the <filename>/var/portbuild/errorlogs/</filename>
directory, create two more links for the webserver:<screen>
ln -s ../<replaceable>arch</replaceable>/archive/buildlogs <replaceable>arch</replaceable>-buildlogs
ln -s ../<replaceable>arch</replaceable>/archive/errorlogs <replaceable>arch</replaceable>-errorlogs</screen></para>
diff --git a/en_US.ISO8859-1/articles/pxe/Makefile b/en_US.ISO8859-1/articles/pxe/Makefile
deleted file mode 100644
index 6f545e20a8..0000000000
--- a/en_US.ISO8859-1/articles/pxe/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# $FreeBSD$
-#
-# Article: FreeBSD PXE Jumpstart Guide
-
-DOC?= article
-
-FORMATS?= html
-
-INSTALL_COMPRESSED?=gz
-INSTALL_ONLY_COMPRESSED?=
-
-EXTRAS= dhcpd.conf
-EXTRAS+= install.cfg
-EXTRAS+= loader.rc
-EXTRAS+= pkgmaker.sh
-EXTRAS+= post
-EXTRAS+= pre
-
-SRCS= article.sgml
-
-afterinstall:
-.for entry in ${EXTRAS}
- ${INSTALL_DOCS} ${.CURDIR}/${entry} ${DESTDIR}
-.endfor
-
-DOC_PREFIX?= ${.CURDIR}/../../..
-.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/pxe/article.sgml b/en_US.ISO8859-1/articles/pxe/article.sgml
deleted file mode 100644
index 9748d9a3b0..0000000000
--- a/en_US.ISO8859-1/articles/pxe/article.sgml
+++ /dev/null
@@ -1,300 +0,0 @@
-<?xml version="1.0" encoding="ISO8859-1" standalone="no"?>
-<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
- "../../../share/sgml/freebsd42.dtd" [
-<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//EN" "../../share/sgml/entities.ent">
-%entities;
-]>
-
-<article lang='en'>
- <articleinfo>
- <title>FreeBSD Jumpstart Guide</title>
-
- <authorgroup>
- <author>
- <firstname>Alfred</firstname>
- <surname>Perlstein</surname>
-
- <affiliation>
- <address><email>alfred@FreeBSD.org</email></address>
- </affiliation>
- </author>
- </authorgroup>
-
- <legalnotice id="trademarks" role="trademarks">
- &tm-attrib.freebsd;
- &tm-attrib.intel;
- &tm-attrib.general;
- </legalnotice>
-
- <pubdate>$FreeBSD$</pubdate>
-
- <releaseinfo>$FreeBSD$</releaseinfo>
-
- <abstract>
- <para>This article details the method used to allow machines to install
- FreeBSD using the &intel; PXE method of booting a machine over a network.
- </para>
- </abstract>
- </articleinfo>
-
- <sect1 id="warning-outdated">
- <title>This Article is Outdated</title>
-
- <warning>
- <para>This article is outdated and will be removed in a few
- weeks. Please see the &os;&nbsp;Handbook chapter <ulink
- url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-pxe-nfs.html">here</ulink>
- for an updated procedure.</para>
- </warning>
- </sect1>
-
- <sect1 id="introduction">
- <title>Introduction</title>
-
- <warning>
- <para>This procedure will make the <quote>Server</quote> both insecure and dangerous,
- it is best to just keep the <quote>Server</quote> on its own hub and not in any way
- accessible by any machines other than the <quote>Clients</quote>.</para>
- </warning>
-
- <para>Terminology:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
-
- <tbody>
- <row>
- <entry>Server</entry>
- <entry>The machine offering netboot and install options.</entry>
- </row>
-
- <row>
- <entry>Client</entry>
- <entry>The machine that will have FreeBSD installed on it.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Requires:
- Clients supporting the &intel; PXE netboot option, an Ethernet connection.
- </para>
-
- <para>Please let me know if you come across anything you have problems with
- or suggestions for additional documentation.</para>
-
- <para>If you would like someone to train/implement a specific netinstall system
- for you, please send email so that we can discuss terms.</para>
-
- <para>I would also like to thank &a.ps; and &a.jhb; for doing most of the
- programming work on pxeboot, the interface to the &intel; PXE (netboot)
- system.</para>
- </sect1>
-
- <sect1 id="server-config">
- <title>Server Configuration</title>
-
- <procedure>
- <step>
- <para>Install DHCP: Install <filename role="package">net/isc-dhcp3-server</filename> you can use this config file
- <ulink url="dhcpd.conf">
- <filename>dhcpd.conf</filename></ulink>, stick it in <filename>/usr/local/etc/</filename>.</para>
- </step>
-
- <step>
- <para>Enable tftp:</para>
-
- <procedure>
- <step>
- <para>Make a directory <filename>/usr/tftpboot</filename></para>
- </step>
-
- <step>
- <para>Add this line to your
- <filename>/etc/inetd.conf</filename>:</para>
-
-<programlisting>tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /usr/tftpboot</programlisting>
- </step>
- </procedure>
-
- </step>
-
- <step>
- <para>Enable NFS:</para>
-
- <procedure>
- <step>
- <para>Add this to <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>nfs_server_enable="YES"</programlisting>
- </step>
-
- <step>
- <para>Add this to <filename>/etc/exports</filename>:</para>
-
- <programlisting>/usr -alldirs -ro</programlisting>
- </step>
- </procedure>
- </step>
-
- <step>
- <para>Reboot to enable the new services or start them
- manually.</para>
- </step>
- </procedure>
- </sect1>
-
- <sect1 id="bootstrap-config">
- <title>Bootstrap Setup</title>
-
- <procedure>
- <step>
- <para>Download bootfiles: Download the
- <ulink
- url="&snapshots.stable;/floppies/kern.flp">
- kern.flp</ulink> and
- <ulink
- url="&snapshots.stable;/floppies/mfsroot.flp">
- mfsroot.flp</ulink> floppy images.</para>
- </step>
-
- <step>
- <para>Set up tftp/pxe-boot directory:</para>
-
- <procedure>
- <step>
- <para>Put pxeboot in the boot directory:</para>
-
- <screen>&prompt.root; <userinput>rm -rf /usr/obj/*</userinput>
-&prompt.root; <userinput>cd /usr/src/sys/boot</userinput>
-&prompt.root; <userinput>make</userinput>
-&prompt.root; <userinput>cp /usr/src/sys/boot/i386/pxeldr/pxeboot /usr/tftpboot</userinput></screen>
- </step>
-
- <step>
- <para>Using the vndevice mount the <filename>kern.flp</filename>
- file and copy its contents to
- <filename>/usr/tftpboot</filename>:</para>
-
- <screen>&prompt.root; <userinput>mdconfig -a -t vnode -f kern.flp -u 0</userinput> # (vnconfig vn0 kern.flp) associate a vndevice with the file
-&prompt.root; <userinput>mount /dev/md0 /mnt</userinput> # (mount /dev/vn0 /mnt) mount it
-&prompt.root; <userinput>cp -R /mnt /usr/tftpboot</userinput> # copy the contents to /usr/tftpboot
-&prompt.root; <userinput>umount /mnt</userinput> # unmount it
-&prompt.root; <userinput>vnconfig -u vn0</userinput> # disassociate the vndevice from the file</screen>
- </step>
- </procedure>
- </step>
-
- <step>
- <para>Compile a custom kernel for the clients (particularly to avoid
- the device config screen at boot) and stick it in
- <filename>/usr/tftpboot</filename>.</para>
- </step>
-
- <step>
- <para>Make a special <filename>loader.rc</filename> to and install it
- in <filename>/usr/tftpboot/boot/loader.rc</filename> so that it
- does not prompt for the second disk, here is
- <ulink url="loader.rc">mine</ulink>.</para>
- </step>
-
- <step>
- <para>Extract the installer and helper utilities from the mfsroot disk
- and uncompress them, put them in <filename>/usr/tftpboot</filename>
- as well:</para>
-
- <screen>&prompt.root; <userinput>vnconfig vn0 mfsroot.flp</userinput> # associate a vndevice with the file
-&prompt.root; <userinput>mount /dev/vn0 /mnt</userinput> # mount it
-&prompt.root; <userinput>cp /mnt/mfsroot.gz /usr/tftpboot</userinput> # copy the contents to /usr/tftpboot
-&prompt.root; <userinput>umount /mnt</userinput> # unmount it
-&prompt.root; <userinput>vnconfig -u vn0</userinput> # disassociate the vndevice from the file
-&prompt.root; <userinput>cd /usr/tftpboot</userinput> # get into the pxeboot directory
-&prompt.root; <userinput>gunzip mfsroot.gz</userinput> # uncompress the mfsroot</screen>
- </step>
-
- <step>
- <para>Make your sysinstall script <filename>install.cfg</filename>, you
- can use
- <ulink url="install.cfg">mine</ulink>
- as a template, but you must edit it.</para>
- </step>
-
- <step>
- <para>Copy the sysinstall script into the extracted and uncompressed
- mfsroot image:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/tftpboot</userinput>
-&prompt.root; <userinput>vnconfig vn0 mfsroot</userinput>
-&prompt.root; <userinput>mount /dev/vn0 /mnt</userinput>
-&prompt.root; <userinput>cp install.cfg /mnt</userinput>
-&prompt.root; <userinput>umount /mnt</userinput>
-&prompt.root; <userinput>vnconfig -u vn0</userinput></screen>
- </step>
- </procedure>
- </sect1>
-
- <sect1 id="install-setup">
- <title>Install Setup</title>
-
- <procedure>
- <step>
- <para>Put the install files in an NFS accessible location on the
- Server. Make a directory corresponding the 'nfs' directive in the
- <filename> install.cfg</filename> file and mirror the FreeBSD
- install files there, you will want it to look somewhat like
- this:</para>
-
- <screen>ABOUT.TXT TROUBLE.TXT compat20 floppies ports
-ERRATA.TXT UPGRADE.TXT compat21 games proflibs
-HARDWARE.TXT XF86336 compat22 info src
-INSTALL.TXT bin compat3x kern.flp
-LAYOUT.TXT catpages crypto manpages
-README.TXT cdrom.inf dict mfsroot.flp
-RELNOTES.TXT compat1x doc packages</screen>
- </step>
-
- <step>
- <para>Copy the compressed packages into the packages/All directory
- under <filename>nfs</filename>.</para>
- </step>
-
- <step>
- <para>Make sure you have an <filename>INDEX</filename> file prepared
- in the packages directory. You can make your own
- <filename>INDEX</filename> entries like so:</para>
-
- <programlisting>alfred-1.0||/|Alfred install bootstrap||alfred@FreeBSD.org||||</programlisting>
-
- <para>Then you can install custom packages, particularly your own
- custom post-install package.</para>
- </step>
- </procedure>
- </sect1>
-
- <sect1 id="custom-postinst-package">
- <title>Custom Post-Install Package</title>
-
- <para>You can use the script <ulink url="pkgmaker.sh"><filename>pkgmaker.sh
- </filename></ulink> to create a
- custom package for post install, the idea is to have it install and
- configure any special things you may need done.
- <filename>pkgmaker</filename> is run in the directory above the package
- you wish to create with the single argument of the package (i.e., mypkg)
- which will then create a mypkg.tgz for you to include in your sysinstall
- package.</para>
-
- <para>Inside your custom package dir you will want a file called
- <filename>PLIST</filename> which contains all the files that you wish to
- install and be incorporated into your package.</para>
-
- <para>You will also want files called
- <ulink url="pre"><filename>pre</filename></ulink> and
- <ulink url="post"><filename>post</filename></ulink>
- in the directory, these are shell scripts
- that you want to execute before and after your package is
- installed.</para>
-
- <para>Since this package is in your <filename>install.cfg</filename> file
- it should be run and do the final configuration for you.</para>
- </sect1>
-</article>
diff --git a/en_US.ISO8859-1/articles/pxe/dhcpd.conf b/en_US.ISO8859-1/articles/pxe/dhcpd.conf
deleted file mode 100644
index c0f552817e..0000000000
--- a/en_US.ISO8859-1/articles/pxe/dhcpd.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-
-# $Wintelcom: src/freebsd/pxe/doc/dhcpd.conf,v 1.2 2000/09/24 09:18:14 bright Exp $
-# $FreeBSD$
-
-option subnet-mask 255.255.255.0;
-option routers 10.8.253.254;
-filename "pxeboot";
-
-ddns-update-style none;
-
-option domain-name "google.com";
-option broadcast-address 10.8.253.255;
-option domain-name-servers 10.8.0.7;
-server-name "DHCPserver";
-server-identifier 10.8.253.201;
-
-default-lease-time 7200;
-max-lease-time 7200;
-
-subnet 10.8.253.0 netmask 255.255.255.0 {
- next-server 10.8.253.201;
- range 10.8.253.29 10.8.253.200;
-}
diff --git a/en_US.ISO8859-1/articles/pxe/install.cfg b/en_US.ISO8859-1/articles/pxe/install.cfg
deleted file mode 100644
index 4f8ab16a0f..0000000000
--- a/en_US.ISO8859-1/articles/pxe/install.cfg
+++ /dev/null
@@ -1,203 +0,0 @@
-
-# $Wintelcom: src/freebsd/pxe/doc/install.cfg,v 1.1 2000/07/14 12:42:05 bright Exp $
-# $FreeBSD$
-
-# This is the installation configuration file for our rackmounted FreeBSD
-# cluster machines
-
-# Turn on extra debugging.
-debug=YES
-
-# Ok, this ought to turn off ALL prompting, don't complain to me that you
-# lost a machine because you netbooted it on the same subnet as this
-# box
-nonInteractive=YES
-noWarn=YES
-tryDHCP=YES
-
-################################
-# My host specific data
-hostname=booter
-domainname=mydomain.com
-# DHCP does this for us
-#nameserver=10.0.0.1
-#defaultrouter=10.0.0.1
-#ipaddr=DHCP
-#netmask=255.255.255.0
-################################
-
-################################
-# Which installation device to use
-nfs=x.x.x.x:/usr/releng4
-netDev=fxp0
-tryDHCP=YES
-mediaSetNFS
-################################
-
-################################
-# Select which distributions we want.
-dists= bin doc games manpages catpages proflibs dict info des compat1x compat20 compat21 compat22 compat3x crypto
-distSetCustom
-################################
-
-################################
-# Now set the parameters for the partition editor on sd0.
-disk=ad0
-partition=all
-bootManager=standard
-diskPartitionEditor
-#diskPartitionWrite
-################################
-
-################################
-# All sizes are expressed in 512 byte blocks!
-#
-# A 96MB root partition, followed by a 0.5G swap partition, followed by
-# a 1G /var, and a /usr using all the remaining space on the disk
-#
-ad0s1-1=ufs 1999999 /
-ad0s1-2=swap 6485760 none
-ad0s1-3=ufs 2097152 /var
-ad0s1-4=ufs 0 /usr
-# Let's do it!
-diskLabelEditor
-#diskLabelCommit
-
-# OK, everything is set. Do it!
-installCommit
-
-package=xorg-server-1.10.4_1,1
-packageAdd
-
-package=arpwatch-2.1.a4
-packageAdd
-
-package=bash-2.04
-packageAdd
-
-package=bison-1.28
-packageAdd
-
-package=bzip2-1.0.0
-packageAdd
-
-package=ctags-3.5.2
-packageAdd
-
-package=dvips2ascii-1.3
-packageAdd
-
-package=electricfence-2.0.5
-packageAdd
-
-package=emacs-20.6
-packageAdd
-
-package=enscript-letter-1.6.1
-packageAdd
-
-package=fping-1.20
-packageAdd
-
-package=gawk-3.0.4
-packageAdd
-
-package=gdbm-1.8.0
-packageAdd
-
-package=gettext-0.10.35
-packageAdd
-
-package=gmake-3.79
-packageAdd
-
-package=ispell-3.1.20c
-packageAdd
-
-package=less-352
-packageAdd
-
-package=libgnugetopt-1.1
-packageAdd
-
-package=libtool-1.3.4
-packageAdd
-
-package=linux_base-6.1
-packageAdd
-
-package=linux_devtools-6.1
-packageAdd
-
-package=lmbench-1.1
-packageAdd
-
-package=m4-1.4
-packageAdd
-
-package=mprof-3.0
-packageAdd
-
-package=mtr-0.42
-packageAdd
-
-package=nmap-2.53
-packageAdd
-
-package=pine-4.21
-packageAdd
-
-package=portscanner-1.0
-packageAdd
-
-package=portsentry-1.0
-packageAdd
-
-package=python-1.5.2
-packageAdd
-
-package=rpm-2.5.6
-packageAdd
-
-package=rsaref-2.0
-packageAdd
-
-package=rsync-2.4.3
-packageAdd
-
-package=screen-3.9.5
-packageAdd
-
-package=stlport-3.01
-packageAdd
-
-package=tcsh-6.09.00
-packageAdd
-
-package=tk-8.0.5
-packageAdd
-
-package=vim-lite-5.6.70
-packageAdd
-
-package=wget-1.5.3
-packageAdd
-
-package=word2x-0.005
-packageAdd
-
-package=zip-2.3
-packageAdd
-
-package=zsh-3.0.7
-packageAdd
-
-#
-# this last package is special. It is used to configure the machine.
-# it installs several files (like /root/.rhosts) and its installation
-# script tweaks several options in /etc/rc.conf
-#
-package=mypkg-1.0
-packageAdd
-
-shutdown
diff --git a/en_US.ISO8859-1/articles/pxe/loader.rc b/en_US.ISO8859-1/articles/pxe/loader.rc
deleted file mode 100644
index 95130eb4df..0000000000
--- a/en_US.ISO8859-1/articles/pxe/loader.rc
+++ /dev/null
@@ -1,11 +0,0 @@
-\ $Wintelcom: src/freebsd/pxe/doc/loader.rc,v 1.1 2000/07/15 07:20:37 bright Exp $
-\ $FreeBSD$
-echo Loading Kernel...
-load /kernel
-echo Loading mfsroot...
-load -t mfs_root /mfsroot
-echo booting...
-echo \007\007
-echo initializing h0h0magic...
-set vfs.root.mountfrom="ufs:/dev/md0c"
-boot
diff --git a/en_US.ISO8859-1/articles/pxe/pkgmaker.sh b/en_US.ISO8859-1/articles/pxe/pkgmaker.sh
deleted file mode 100644
index 0ff380b477..0000000000
--- a/en_US.ISO8859-1/articles/pxe/pkgmaker.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-# $Wintelcom: src/freebsd/pxe/doc/pkgmaker.sh,v 1.1 2000/07/14 12:42:05 bright Exp $
-# $FreeBSD$
-
-PKGNAME=${1}
-PKGDIR=`pwd`/${PKGNAME}/
-
-pkg_create -i ${PKGDIR}pre -I ${PKGDIR}post -f ${PKGDIR}PLIST -s ${PKGDIR} -p / -d ${PKGDIR}DESCR -c ${PKGDIR}COMMENT ${PKGNAME}.tgz
diff --git a/en_US.ISO8859-1/articles/pxe/post b/en_US.ISO8859-1/articles/pxe/post
deleted file mode 100644
index b465f55008..0000000000
--- a/en_US.ISO8859-1/articles/pxe/post
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-
-# $Wintelcom: src/freebsd/pxe/doc/post,v 1.1 2000/07/14 12:42:05 bright Exp $
-# $FreeBSD$
-
-echo post-install
-
-set PATH=/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/bin:/usr/bin/X11
-export PATH
-
-# do timezone
-cp /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
-
-conf="/etc/rc.conf.local"
-
-rm $conf
-
-echo 'sendmail_enable="NO"' >> $conf
-echo 'dumpdev="/dev/ad0s1b"' >> $conf
-echo 'sshd_enable="YES"' >> $conf
-echo 'linux_enable="YES"' >> $conf
-
-# set up IP address and hostname
-if=`ifconfig fxp1 inet | grep '[ ]*inet' | sed 's/[ ]*//'`
-echo "ifconfig_fxp1=\"${if}\"" >> $conf
-name=`echo $if | sed 's/[ ][ ]*/ /g' | cut -f2 -d" " | cut -f4 -d.`
-echo "hostname=\"suyy${name}\"" >> $conf
-
-echo "network_interfaces=\"fxp0 fxp1 lo0\"" >> $conf
-
-# set up gateway, parse netstat output
-gw=`netstat -rn | grep '^default' | sed 's/[ ][ ]*/ /g' | cut -f2 -d" "`
-echo "defaultrouter=\"${gw}\"" >> $conf
-
-pwd_mkdb -p /etc/master.passwd
-exit 0
diff --git a/en_US.ISO8859-1/articles/pxe/pre b/en_US.ISO8859-1/articles/pxe/pre
deleted file mode 100644
index afeb6ab73d..0000000000
--- a/en_US.ISO8859-1/articles/pxe/pre
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# $Wintelcom: src/freebsd/pxe/doc/pre,v 1.1 2000/07/14 12:42:05 bright Exp $
-# $FreeBSD$
-
-echo pre-install
-exit 0