📄 cvs.sgml
字号:
</programlisting> after which you should see at least a directory named <filename>CVSROOT</filename> when listing the <envar>CVSROOT</envar> directory:<programlisting>$ ls $CVSROOTCVSROOT/</programlisting> </para> </sect2> <sect2> <title>Running a <productname>CVSup</productname> Client</title> <para> Verify that <application>cvsup</application> is in your path; on most systems you can do this by typing<programlisting>which cvsup</programlisting> Then, simply run <application>cvsup</application> using:<programlisting>cvsup -L 2 <replaceable class="parameter">postgres.cvsup</replaceable></programlisting> where <option>-L 2</option> enables some status messages so you can monitor the progress of the update, and <replaceable class="parameter">postgres.cvsup</replaceable> is the path and name you have given to your <productname>CVSup</productname> configuration file. </para> <para> Here is a <productname>CVSup</productname> configuration file modified for a specific installation, and which maintains a full local <productname>CVS</productname> repository:<programlisting># This file represents the standard CVSup distribution file# for the <productname>PostgreSQL</> ORDBMS project# Modified by lockhart@fourpalms.org 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=cvsup.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 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 where CVSup will store the actual distribution(s)*default prefix=/home/cvs# complete distribution, including all belowpgsql# individual distributions vs 'the whole thing'# pgsql-doc# pgsql-perl5# pgsql-src</programlisting> </para> <para> If you specify <option>repository</> instead of <option>pgsql</> in the above setup, you will get a complete copy of the entire repository at cvsup.postgresql.org, including its <filename>CVSROOT</filename> directory. If you do that, you will probably want to exclude those files in that directory that you want to modify locally, using a refuse file. For example, for the above setup you might put this in <filename>/home/cvs/sup/repository/refuse</>:<programlisting>CVSROOT/config*CVSROOT/commitinfo*CVSROOT/loginfo*</programlisting> See the <productname>CVSup</> manual pages for how to use refuse files. </para> <para> The following is a suggested <productname>CVSup</productname> config file from the <productname>PostgreSQL</> <ulink url="ftp://ftp.postgresql.org/pub/CVSup/README.cvsup"> ftp site</ulink> which will fetch the current snapshot only:<programlisting># This file represents the standard CVSup distribution file# for the <productname>PostgreSQL</> ORDBMS project## Defaults that apply to all the collections*default host=cvsup.postgresql.org*default compress*default release=cvs*default delete use-rel-suffix*default tag=.# base directory where CVSup will store its 'bookmarks' file(s)*default base=<replaceable class="parameter">/usr/local/pgsql</replaceable># prefix directory where CVSup will store the actual distribution(s)*default prefix=<replaceable class="parameter">/usr/local/pgsql</replaceable># complete distribution, including all belowpgsql# individual distributions vs 'the whole thing'# pgsql-doc# pgsql-perl5# pgsql-src</programlisting> </para> </sect2> <sect2> <title>Installing <productname>CVSup</productname></title> <para> <productname>CVSup</productname> 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. </para> <procedure> <title><productname>CVSup</productname> Installation from Binaries</title> <para> You can use pre-built binaries if you have a platform for which binaries are posted on the <productname>PostgreSQL</productname> <ulink url="ftp://ftp.postgresql.org/pub"> ftp site</ulink> or if you are running FreeBSD, for which <productname>CVSup</productname> is available as a port. <note> <para> <productname>CVSup</productname> was originally developed as a tool for distributing the <productname>FreeBSD</productname> source tree. It is available as a <quote>port</quote>, and for those running FreeBSD, if this is not sufficient to tell how to obtain and install it then please contribute a procedure here. </para> </note> </para> <para> At the time of writing, binaries are available for Alpha/Tru64, ix86/xBSD, HPPA/HP-UX 10.20, MIPS/IRIX, ix86/linux-libc5, ix86/linux-glibc, Sparc/Solaris, and Sparc/SunOS. </para> <step> <para> Retrieve the binary tar file for <application>cvsup</application> (<application>cvsupd</application> is not required to be a client) appropriate for your platform. </para> <substeps> <step performance="optional"> <para> If you are running FreeBSD, install the <productname>CVSup</productname> port. </para> </step> <step performance="optional"> <para> If you have another platform, check for and download the appropriate binary from the <productname>PostgreSQL</productname> <ulink url="ftp://ftp.postgresql.org/pub"> ftp site</ulink>. </para> </step> </substeps> </step> <step> <para> Check the tar file to verify the contents and directory structure, if any. For the linux tar file at least, the static binary and man page is included without any directory packaging. </para> <substeps> <step> <para> If the binary is in the top level of the tar file, then simply unpack the tar file into your target directory:<programlisting>cd /usr/local/bintar zxvf /usr/local/src/cvsup-16.0-linux-i386.tar.gzmv cvsup.1 ../doc/man/man1/</programlisting> </para> </step> <step> <para> If there is a directory structure in the tar file, then unpack the tar file within /usr/local/src and move the binaries into the appropriate location as above. </para> </step> </substeps> </step> <step> <para> Ensure that the new binaries are in your path.<programlisting>$ rehash$ which cvsup$ set path=(<replaceable>path to cvsup</replaceable> $path)$ which cvsup/usr/local/bin/cvsup</programlisting> </para> </step> </procedure> </sect2> <sect2> <title>Installation from Sources</title> <para> Installing <productname>CVSup</productname> 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 <productname>RPM</productname>, FreeBSD package, or source code. <note> <para> A clean-source installation of Modula-3 takes roughly 200MB of disk space, which shrinks to roughly 50MB of space when the sources are removed.</para> </note> </para> <procedure> <title>Linux installation</title> <step> <para> Install Modula-3. </para> <substeps> <step> <para> Pick up the <productname>Modula-3</productname> distribution from <ulink url="http://m3.polymtl.ca/m3"> Polytechnique Montr閍l</ulink> who are actively maintaining the code base originally developed by the <ulink url="http://www.research.digital.com/SRC/modula-3/html/home.html"> DEC Systems Research Center</ulink>. The <productname>PM3</productname> <productname>RPM</productname> distribution is roughly 30MB compressed. At the time of writing, the 1.1.10-1 release installed cleanly on RH-5.2, whereas the 1.1.11-1 release is apparently built for another release (RH-6.0?) and does not run on RH-5.2. <tip> <para> This particular rpm packaging has <emphasis>many</emphasis> <productname>RPM</productname> files, so you will likely want to place them into a separate directory. </para> </tip> </para> </step> <step> <para> Install the Modula-3 rpms:<programlisting># rpm -Uvh pm3*.rpm</programlisting> </para> </step> </substeps> </step> <step> <para> Unpack the cvsup distribution:<programlisting># cd /usr/local/src# tar zxf cvsup-16.0.tar.gz</programlisting> </para> </step> <step> <para> Build the cvsup distribution, suppressing the GUI interface feature to avoid requiring X11 libraries:<programlisting># make M3FLAGS="-DNOGUI"</programlisting> and if you want to build a static binary to move to systems that may not have Modula-3 installed, try:<programlisting># make M3FLAGS="-DNOGUI -DSTATIC"</programlisting> </para> </step> <step> <para> Install the built binary:<programlisting># make M3FLAGS="-DNOGUI -DSTATIC" install</programlisting> </para> </step> </procedure> </sect2> </sect1></appendix>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -