CVS-1.11.23

Introduction to CVS

CVS 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 Running a CVS Server.

This package is known to build and work properly using an LFS-7.7 platform.

Package Information

Additional Downloads

CVS Dependencies

Optional

Tcsh-6.18.01, OpenSSH-6.7p1, krb4, MIT Kerberos V5-1.13.1 (for the GSSAPI libraries), ghostscript-9.15, and an MTA (that provides a sendmail command)

CVS will invoke a default text editor to create a commit message if the -m "Commit message" parameter was not used when changes are committed to a repository. CVS 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 CVSEDITOR or EDITOR environment variables and can be specified directly by passing the --with-editor=<desired text editor> parameter to the configure script.

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/cvs

Installation of CVS

By default CVS is statically linked against the Zlib library included in its source tree. This makes it exposed to possible security vulnerabilities in that library. If you want to modify CVS to use the system shared Zlib library, apply the following patch:

patch -Np1 -i ../cvs-1.11.23-zlib-1.patch

Now fix some conflicts with newer libraries and programs:

sed -i -e 's/getline /get_line /' lib/getline.{c,h} &&
sed -i -e 's/^@sp$/& 1/'          doc/cvs.texinfo &&
touch doc/*.pdf

Install CVS by running the following commands:

./configure --prefix=/usr --docdir=/usr/share/doc/cvs-1.11.23 &&
make

If you wish to create HTML or text docs from the documentation source files, issue the following command:

make -C doc html txt

To test the results, issue: make check. This will take quite a while. If you don't have rsh configured for access to the host you are building on (or you didn't pass the --with-rsh= parameter to the configure script, some tests may fail. If you passed the --with-rsh=ssh parameter to enable ssh as the default remote shell program, you'll need to issue the following command so that the tests will complete without any failures:

sed -e 's/rsh};/ssh};/' \
    -e 's/g=rw,o=r$/g=r,o=r/' \
    -i src/sanity.sh

Now, as the root user:

make install &&
make -C doc install-pdf &&
install -v -m644 FAQ README /usr/share/doc/cvs-1.11.23

If you created any additional documentation, install it by issuing the following commands as the root user:

install -v -m644 doc/*.txt /usr/share/doc/cvs-1.11.23                   &&
install -v -m755 -d        /usr/share/doc/cvs-1.11.23/html/cvs{,client} &&
install -v -m644 doc/cvs.html/* \
                           /usr/share/doc/cvs-1.11.23/html/cvs          &&
install -v -m644 doc/cvsclient.html/* \
                           /usr/share/doc/cvs-1.11.23/html/cvsclient

Configuring CVS

Config Files

~/.cvsrc, ~/.cvswrappers, and ~/.cvspass.

Configuration Information

~/.cvsrc is the main CVS configuration file. This file is used by users to specify defaults for different cvs commands. For example, to make all cvs diff commands run with -u, a user would add diff -u to their .cvsrc file.

~/.cvswrappers specifies wrappers to be used in addition to those specified in the CVSROOT/cvswrappers file in the repository.

~/.cvspass contains passwords used to complete logins to servers.

Contents

Installed Programs: cvs, cvsbug, and rcs2log
Installed Libraries: None
Installed Directories: /usr/share/cvs and /usr/share/doc/cvs-1.11.23

Short Descriptions

cvs

is the main program file for the concurrent versions system.

cvsbug

is used to send problem reports about CVS to a central support site.

rcs2log

is a symlink to the contributed RCS to Change Log generator.

Last updated on 2015-02-24 00:00:51 -0500