Download the compressed .tar file from http://cvs.nongnu.org. Decompress and unarchive the file. If you intend to keep the source after you compile it, unzip the compressed .tar file into /usr/src/cvs. Otherwise, you can decompress and unarchive it into /tmp. Next, cd into the cvs directory, read the INSTALL and README files, and run the commands there. I recommend that novice users disable automake and autoconf. (In CVS 1.12.1 and later, autoconf and automake are disabled by default.)
You should compile CVS as a user without superuser privileges (for security), but you must have superuser privileges when installing CVS (running make install) for everyone to use. If you are installing it into your own home directory for your personal use, you don’t need superuser privileges, but your choice of remote connection methods is limited.
Example 2-4 shows a sample installation from source. In this example, I decompress and unarchive the .tar file into /tmp and change directory into the top level of the resulting source tree. As I’m using a later version than 1.12.1, I don’t need to disable automake and autoconf. The next steps described in INSTALL for CVS 1.12.9 are to run the configure script provided and then, if that exits successfully, run make, switch to the root user, and run make install.
Example 2-4. Installing from source
$ ls cvs-1.12.9.tar.bz2 $ bunzip2 cvs-1.12.9.tar.bz2 $ tar -xpf cvs-1.12.9.tar $ cd cvs-1.12.9 $ ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes . . . config.status: executing depfiles commands config.status: executing default-1 commands $ make make all-recursive make[1]: Entering directory `/tmp/cvs-1.12.9' . . . make[2]: Entering directory `/tmp/cvs-1.12.9' make[2]: Nothing to be done for `all-am'. make[2]: Leaving directory `/tmp/cvs-1.12.9' make[1]: Leaving directory `/tmp/cvs-1.12.9'
$ su – root $ make install Making install in lib make[1]: Entering directory `/tmp/cvs-1.12.9/lib' make install-am . . . make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/tmp/cvs-1.12.9' make[1]: Leaving directory `/tmp/cvs-1.12.9'
Please check back next week for the continuation of this article.