glfs/archive/cvs.xml
Pierre Labastie 3f2db3a638 Remove sect1info tags
They only contain a date tag that is nowhere used.
2022-11-29 08:58:07 +01:00

290 lines
10 KiB
XML

<?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"?>
<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>