|
Getting The Source Via CVSupAn alternative to using anonymous CVS for retrieving the Postgres source tree is CVSup. CVSup was developed by John Polstra to distribute CVS repositories and other file trees for the FreeBSD project. A major advantage to using CVSup is that it can reliably replicate the entire CVS repository on your local system, allowing fast local access to cvs operations such as log and diff. Other advantages include fast synchronization to the Postgres server due to an efficient streaming transfer protocol which only sends the changes since the last update. Preparing A CVSup Client SystemTwo directory areas are required for CVSup to do it's job: a local CVS repository (or simply a directory area if you are fetching a snapshot rather than a repository; see below) and a local CVSup bookkeeping area. These can coexist in the same directory tree. Decide where you want to keep your local copy of the CVS repository. On one of our systems we recently set up a repository in /home/cvs/, but had formerly kept it under a Postgres development tree in /opt/postgres/cvs/. If you intend to keep your repository in /home/cvs/, then put setenv CVSROOT /home/cvsin your .cshrc file, or a similar line in your .bashrc or .profile file, depending on your shell. The cvs repository area must be initialized. Once CVSROOT is set, then this can be done with a single command: $ cvs initafter which you should see at least a directory named CVSROOT when listing the CVSROOT directory: $ ls $CVSROOT CVSROOT/ Running a CVSup ClientVerify that cvsup is in your path; on most systems you can do this by typing which cvsupThen, simply run cvsup using: $ cvsup -L 2 postgres.cvsupwhere -L 2 enables some status messages so you can monitor the progress of the update, and postgres.cvsup is the path and name you have given to your CVSup configuration file. Here is a CVSup configuration file modified for a specific installation, and which maintains a full local CVS repository: # This file represents the standard CVSup distribution file # for the PostgreSQL ORDBMS project # Modified by lockhart@alumni.caltech.edu 1997-08-28 # - Point to my local snapshot source tree # - Pull the full CVS repository, not just the latest snapshot # # Defaults that apply to all the collections *default host=postgresql.org *default compress *default release=cvs *default delete use-rel-suffix # enable the following line to get the latest snapshot #*default tag=. # enable the following line to get whatever was specified above or by default # at the date specified below #*default date=97.08.29.00.00.00 # base directory points to where CVSup will store its 'bookmarks' file(s) # will create subdirectory sup/ #*default base=/opt/postgres # /usr/local/pgsql *default base=/home/cvs # prefix directory points to where CVSup will store the actual distribution(s) *default prefix=/home/cvs # complete distribution, including all below pgsql # individual distributions vs 'the whole thing' # pgsql-doc # pgsql-perl5 # pgsql-src The following is a suggested CVSup config file from the Postgres ftp site which will fetch the current snapshot only: # This file represents the standard CVSup distribution file # for the PostgreSQL ORDBMS project # # Defaults that apply to all the collections *default host=postgresql.org *default compress *default release=cvs *default delete use-rel-suffix *default tag=. # base directory points to where CVSup will store its 'bookmarks' file(s) *default base=/usr/local/pgsql # prefix directory points to where CVSup will store the actual distribution(s) *default prefix=/usr/local/pgsql # complete distribution, including all below pgsql # individual distributions vs 'the whole thing' # pgsql-doc # pgsql-perl5 # pgsql-src Installing CVSupCVSup is available as source, pre-built binaries, or Linux RPMs. It is far easier to use a binary than to build from source, primarily because the very capable, but voluminous, Modula-3 compiler is required for the build. CVSup Installation from Binaries You can use pre-built binaries if you have a platform for which binaries are posted on the Postgres ftp site, or if you are running FreeBSD, for which CVSup is available as a port.
At the time of writing, binaries are available for Alpha/Tru64, ix86/xBSD, HPPA/HPUX-10.20, MIPS/irix, ix86/linux-libc5, ix86/linux-glibc, Sparc/Solaris, and Sparc/SunOS.
Installation from SourcesInstalling CVSup from sources is not entirely trivial, primarily because most systems will need to install a Modula-3 compiler first. This compiler is available as Linux RPM, FreeBSD package, or source code.
Linux installation
|
|||||||||||||||||
With any suggestions or questions please feel free to contact us |