Index: archive/cvs.xml
===================================================================
--- archive/cvs.xml	(revision d1c5143413eb3f438cfd9e9677bd9dfd7b1cb3a9)
+++ archive/cvs.xml	(revision d1c5143413eb3f438cfd9e9677bd9dfd7b1cb3a9)
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+
+  <!ENTITY cvs-download-http "http://ftp.gnu.org/non-gnu/cvs/source/stable/&cvs-version;/cvs-&cvs-version;.tar.bz2">
+  <!ENTITY cvs-download-ftp  "ftp://ftp.gnu.org/non-gnu/cvs/source/stable/&cvs-version;/cvs-&cvs-version;.tar.bz2">
+  <!ENTITY cvs-md5sum        "0213ea514e231559d6ff8f80a34117f0">
+  <!ENTITY cvs-size          "2.9 MB">
+  <!ENTITY cvs-buildsize     "32.3 MB">
+  <!ENTITY cvs-time          "0.3 SBU (additional ~20 SBU to run the test suite)">
+]>
+
+<sect1 id="cvs" xreflabel="CVS-&cvs-version;">
+  <?dbhtml filename="cvs.html"?>
+
+  <sect1info>
+    <othername>$LastChangedBy$</othername>
+    <date>$Date$</date>
+  </sect1info>
+
+  <title>CVS-&cvs-version;</title>
+
+  <indexterm zone="cvs">
+    <primary sortas="a-CVS">CVS</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title>Introduction to CVS</title>
+
+    <para><application>CVS</application> is the Concurrent Versions System.
+    This is a version control system useful for projects using a central
+    repository to hold files and then track all changes made to those files.
+    These instructions install the client used to manipulate the repository,
+    creation of a repository is covered at <xref linkend="cvsserver"/>.</para>
+
+    &lfs77_checked; &gcc5_checked;
+
+    <bridgehead renderas="sect3">Package Information</bridgehead>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>Download (HTTP): <ulink url="&cvs-download-http;"/></para>
+      </listitem>
+      <listitem>
+        <para>Download (FTP): <ulink url="&cvs-download-ftp;"/></para>
+      </listitem>
+      <listitem>
+        <para>Download MD5 sum: &cvs-md5sum;</para>
+      </listitem>
+      <listitem>
+        <para>Download size: &cvs-size;</para>
+      </listitem>
+      <listitem>
+        <para>Estimated disk space required: &cvs-buildsize;</para>
+      </listitem>
+      <listitem>
+        <para>Estimated build time: &cvs-time;</para>
+      </listitem>
+    </itemizedlist>
+
+    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
+    <itemizedlist spacing='compact'>
+      <listitem>
+        <para>Recommended patch: <ulink
+        url="&patch-root;/cvs-&cvs-version;-zlib-1.patch"/></para>
+      </listitem>
+    </itemizedlist>
+
+    <bridgehead renderas="sect3">CVS Dependencies</bridgehead>
+
+    <bridgehead renderas="sect4">Optional</bridgehead>
+    <para role="optional"><!-- <xref linkend="gdbm"/>, -->
+    <xref linkend="tcsh"/>,
+    <xref linkend="openssh"/>,
+    <ulink url="ftp://ftp.pdc.kth.se/pub/krb/src/">krb4</ulink>,
+    <xref linkend="mitkrb"/>
+    (for the GSSAPI libraries),
+    <xref linkend="gs"/><!-- or <xref linkend="espgs"/> -->, and
+    an <xref linkend="server-mail"/> (that provides a
+    <command>sendmail</command> command)</para>
+
+    <para><application>CVS</application> will invoke a default text editor to
+    create a commit message if the <parameter>-m "Commit message"</parameter>
+    parameter was not used when changes are committed to a repository.
+    <application>CVS</application> looks for the following text editors, in the
+    order shown below, during configuration to determine the default. This
+    default can always be overridden by the <envar>CVSEDITOR</envar> or
+    <envar>EDITOR</envar> environment variables and can be specified directly
+    by passing the <option>--with-editor=<replaceable>&lt;desired text
+    editor&gt;</replaceable></option> parameter to the
+    <command>configure</command> script.</para>
+
+    <itemizedlist spacing='compact'>
+      <listitem>
+        <para><xref linkend="vim"/></para>
+      </listitem>
+      <listitem>
+        <para><xref linkend="emacs"/></para>
+      </listitem>
+      <listitem>
+        <para><xref linkend="nano"/></para>
+      </listitem>
+      <listitem>
+        <para><xref linkend="re-alpine"/> (for Pico)</para>
+      </listitem>
+    </itemizedlist>
+
+
+    <para condition="html" role="usernotes">User Notes:
+    <ulink url="&blfs-wiki;/cvs"/></para>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of CVS</title>
+
+    <para>By default <application>CVS</application> is statically linked
+    against the <application>Zlib</application> library included in its source
+    tree. This makes it exposed to possible security vulnerabilities in that
+    library. If you want to modify <application>CVS</application> to use the
+    system shared <application>Zlib</application> library, apply the following
+    patch:</para>
+
+<screen><userinput>patch -Np1 -i ../cvs-&cvs-version;-zlib-1.patch</userinput></screen>
+
+    <para>Now fix some conflicts with newer libraries and programs:</para>
+
+<screen><userinput>sed -i -e 's/getline /get_line /' lib/getline.{c,h} &amp;&amp;
+sed -i -e 's/^@sp$/&amp; 1/'          doc/cvs.texinfo &amp;&amp;
+touch doc/*.pdf</userinput></screen>
+
+    <para>Install <application>CVS</application> by running
+    the following commands:</para>
+
+<screen><userinput>./configure --prefix=/usr --docdir=/usr/share/doc/cvs-&cvs-version; &amp;&amp;
+make</userinput></screen>
+
+    <para>If you wish to create HTML or text docs from the
+    documentation source files, issue the following command:</para>
+
+<screen><userinput>make -C doc html txt</userinput></screen>
+
+<!-- developer: test suite still fails, even if the modifications are made
+     and a further patch:
+     https://projects.archlinux.org/svntogit/packages.git/plain/trunk/cvs-1.11.23-sanity.patch?h=packages/cvs
+     is applied.-->
+<!--    <para>To test the results, issue: <command>make check</command>. This will
+    take quite a while. If you don't have <command>rsh</command> configured for
+    access to the host you are building on (or you didn't pass the
+    <option>-\-with-rsh=</option> parameter to the <command>configure</command>
+    script, some tests may fail. If you passed the
+    <option>-\-with-rsh=ssh</option> parameter to enable <command>ssh</command>
+    as the default remote shell program, you'll need to issue the following
+    command so that the tests will complete without any failures:</para>
+
+<screen><userinput>sed -e 's/rsh};/ssh};/' \
+    the string in following expression is not found anywhere in src/sanity.sh
+    -e 's/g=rw,o=r$/g=r,o=r/' \
+    -i src/sanity.sh</userinput></screen>-->
+
+    <para>This package does not come with a working test suite.</para>
+
+    <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
+
+<screen role='root'><userinput>make install &amp;&amp;
+make -C doc install-pdf &amp;&amp;
+install -v -m644 FAQ README /usr/share/doc/cvs-&cvs-version;</userinput></screen>
+
+    <para>If you created any additional documentation, install it by issuing
+    the following commands as the
+    <systemitem class="username">root</systemitem> user:</para>
+
+<screen role='root'><userinput>install -v -m644 doc/*.txt /usr/share/doc/cvs-&cvs-version;                   &amp;&amp;
+install -v -m755 -d        /usr/share/doc/cvs-&cvs-version;/html/cvs{,client} &amp;&amp;
+install -v -m644 doc/cvs.html/* \
+                           /usr/share/doc/cvs-&cvs-version;/html/cvs          &amp;&amp;
+install -v -m644 doc/cvsclient.html/* \
+                           /usr/share/doc/cvs-&cvs-version;/html/cvsclient</userinput></screen>
+
+  </sect2>
+
+  <sect2 role="commands">
+    <title>Command Explanations</title>
+
+    <para>
+      <option>--with-rsh=ssh</option>: Use this switch to enable
+      <command>ssh</command> as the default remote shell program.
+    </para>
+
+  </sect2>
+
+  <sect2 role="configuration">
+    <title>Configuring CVS</title>
+
+    <sect3 id="cvs-config">
+      <title>Config Files</title>
+
+      <para><filename>~/.cvsrc</filename>, <filename>~/.cvswrappers</filename>,
+      and <filename>~/.cvspass</filename>.</para>
+
+      <indexterm zone="cvs cvs-config">
+        <primary sortas="e-AA.cvsrc">~/.cvsrc</primary>
+      </indexterm>
+
+      <indexterm zone="cvs cvs-config">
+        <primary sortas="e-AA.cvswrappers">~/.cvswrappers</primary>
+      </indexterm>
+
+      <indexterm zone="cvs cvs-config">
+        <primary sortas="e-AA.cvspass">~/.cvspass</primary>
+      </indexterm>
+
+    </sect3>
+
+    <sect3>
+      <title>Configuration Information</title>
+
+      <para><filename>~/.cvsrc</filename> is the main
+      <application>CVS</application> configuration file.
+      This file is used by users to specify defaults for different
+      <command>cvs</command> commands. For example, to make all
+      <command>cvs diff</command> commands run with <option>-u</option>, a user
+      would add <option>diff -u</option> to their <filename>.cvsrc</filename>
+      file.</para>
+
+      <para><filename>~/.cvswrappers</filename> specifies wrappers to be used in
+      addition to those specified in the <filename>CVSROOT/cvswrappers</filename>
+      file in the repository.</para>
+
+      <para><filename>~/.cvspass</filename> contains passwords used to complete
+      logins to servers.</para>
+
+    </sect3>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title>Contents</title>
+
+    <segmentedlist>
+      <segtitle>Installed Programs</segtitle>
+      <segtitle>Installed Libraries</segtitle>
+      <segtitle>Installed Directories</segtitle>
+
+      <seglistitem>
+        <seg>cvs, cvsbug, and rcs2log</seg>
+        <seg>None</seg>
+        <seg>/usr/share/cvs and /usr/share/doc/cvs-&cvs-version;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="cvs-prog">
+        <term><command>cvs</command></term>
+        <listitem>
+          <para>is the main program file for the concurrent versions system.</para>
+          <indexterm zone="cvs cvs-prog">
+            <primary sortas="b-cvs">cvs</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="cvsbug">
+        <term><command>cvsbug</command></term>
+        <listitem>
+          <para>is used to send problem reports about <application>CVS</application>
+          to a central support site.</para>
+          <indexterm zone="cvs cvsbug">
+            <primary sortas="b-cvsbug">cvsbug</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="rcs2log">
+        <term><command>rcs2log</command></term>
+        <listitem>
+          <para>is a symlink to the contributed RCS to Change Log
+          generator.</para>
+          <indexterm zone="cvs rcs2log">
+            <primary sortas="b-rcs2log">rcs2log</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+
+  </sect2>
+
+</sect1>
