aboutsummaryrefslogtreecommitdiff
path: root/doc/src/sgml/cvs.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/cvs.sgml')
-rw-r--r--doc/src/sgml/cvs.sgml1533
1 files changed, 611 insertions, 922 deletions
diff --git a/doc/src/sgml/cvs.sgml b/doc/src/sgml/cvs.sgml
index 74be5e13bde..aadf0027faa 100644
--- a/doc/src/sgml/cvs.sgml
+++ b/doc/src/sgml/cvs.sgml
@@ -1,9 +1,13 @@
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/cvs.sgml,v 1.4 1999/04/06 15:38:10 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/cvs.sgml,v 1.5 1999/05/22 02:27:23 thomas Exp $
CVS code repository
Thomas Lockhart
$Log: cvs.sgml,v $
+Revision 1.5 1999/05/22 02:27:23 thomas
+Finish initial markup of cvs.sgml, and include it in the programmer's guide
+ and the integrated doc. Clean up other markup.
+
Revision 1.4 1999/04/06 15:38:10 thomas
Start indenting markup. No text changes.
@@ -21,29 +25,38 @@ Not yet included in a document (should go in the developer's doc?).
-->
-<appendix label="A" id="cvs">
-<docinfo>
-<authorgroup>
-<author>
-<firstname>Marc</firstname>
-<surname>Fournier</surname>
-</author>
-</authorgroup>
-<date>1998-12-01</date>
-</docinfo>
-
- <title>The <productname>Postgres</productname> <productname>CVS</productname> Repository</title>
+<appendix label="DG1" id="cvs">
+ <docinfo>
+ <authorgroup>
+ <author>
+ <firstname>Marc</firstname>
+ <surname>Fournier</surname>
+ </author>
+ <author>
+ <firstname>Tom</firstname>
+ <surname>Lane</surname>
+ </author>
+ <author>
+ <firstname>Thomas</firstname>
+ <surname>Lockhart</surname>
+ </author>
+ </authorgroup>
+ <date>1999-05-20</date>
+ </docinfo>
+
+ <title>The <productname>CVS</productname> Repository</title>
<para>
The <productname>Postgres</productname> source code is stored and managed using the
<productname>CVS</productname> code management system.
</para>
- At least two options,
- anonymous CVS and <productname>CVSup</productname>,
- are available to pull the <productname>CVS</productname> code tree from the
- <productname>Postgres</productname> server to your local machine.
-</para>
+ <para>
+ At least two options,
+ anonymous CVS and <productname>CVSup</productname>,
+ are available to pull the <productname>CVS</productname> code tree from the
+ <productname>Postgres</productname> server to your local machine.
+ </para>
<sect1>
<title><productname>CVS</productname> Tree Organization</title>
@@ -53,37 +66,39 @@ Not yet included in a document (should go in the developer's doc?).
<title>Author</title>
<para>
Written by <ulink url="mailto:scrappy@hub.org">Marc G. Fournier</ulink> on 1998-11-05.
+ </para>
</note>
</para>
-<para>
+ <para>
The command <command>cvs checkout</command> has a flag, <option>-r</option>,
- that lets you check out a
-certain revision of a module. This flag makes it easy to, for example,
-retrieve the
-sources that make up release 1.0 of the module `tc' at any time in the
-future:
+ that lets you check out a
+ certain revision of a module. This flag makes it easy to, for example,
+ retrieve the
+ sources that make up release 1.0 of the module `tc' at any time in the
+ future:
-<programlisting>
+ <programlisting>
$ cvs checkout -r REL6_4 tc
-</programlisting>
+ </programlisting>
-This is useful, for instance, if someone claims that there is a bug in
-that release, but you cannot find the bug in the current working copy.
+ This is useful, for instance, if someone claims that there is a bug in
+ that release, but you cannot find the bug in the current working copy.
-<tip>
-<para>
- You can also check out a module as it was at any given date using the
-<option>-D</option> option.
-</tip>
-</para>
+ <tip>
+ <para>
+ You can also check out a module as it was at any given date using the
+ <option>-D</option> option.
+ </para>
+ </tip>
+ </para>
-<para>
+ <para>
When you tag more than one file with the same tag you can think
-about the tag as "a curve drawn through a matrix of filename vs.
-revision number". Say we have 5 files with the following revisions:
-
-<programlisting>
+ about the tag as "a curve drawn through a matrix of filename vs.
+ revision number". Say we have 5 files with the following revisions:
+
+ <programlisting>
file1 file2 file3 file4 file5
1.1 1.1 1.1 1.1 /--1.1* <-*- TAG
@@ -92,466 +107,598 @@ revision number". Say we have 5 files with the following revisions:
1.4 \ 1.4 / 1.4
\-1.5*- 1.5
1.6
-</programlisting>
+ </programlisting>
-then the tag <quote><literal>TAG</literal></quote> will reference
-file1-1.2, file2-1.3, etc.
+ then the tag <quote><literal>TAG</literal></quote> will reference
+ file1-1.2, file2-1.3, etc.
-<note>
-<para>
-For creating a release branch, other then a
--b option added to the command, it's the same thing.
-</note>
-</para>
+ <note>
+ <para>
+ For creating a release branch, other then a
+ -b option added to the command, it's the same thing.</para>
+ </note>
+ </para>
-<para>
-So, to create the v6.4 release
-I will be doing the following:
+ <para>
+ So, to create the v6.4 release
+ I did the following:
-<programlisting>
+ <programlisting>
$ cd pgsql
$ cvs tag -b REL6_4
-</programlisting>
+ </programlisting>
-which will create the tag and the branch for the RELEASE tree.
-</para>
+ which will create the tag and the branch for the RELEASE tree.
+ </para>
-<para>
-Now, for those with <productname>CVS</productname> access, it's too simple.
-First, create two subdirectories, RELEASE and CURRENT, so that you don't
-mix up the two. Then do:
+ <para>
+ Now, for those with <productname>CVS</productname> access, it's too simple.
+ First, create two subdirectories, RELEASE and CURRENT, so that you don't
+ mix up the two. Then do:
-<programlisting>
+ <programlisting>
cd RELEASE
cvs checkout -P -r REL6_4 pgsql
cd ../CURRENT
cvs checkout -P pgsql
-</programlisting>
+ </programlisting>
-which results in two directory trees, <filename>RELEASE/pgsql</filename> and
-<filename>CURRENT/pgsql</filename>. From that point on, <productname>CVS</productname>
-will keep track of which repository branch is in which directory tree, and will
-allow independent updates of either tree.
-</para>
+ which results in two directory trees, <filename>RELEASE/pgsql</filename> and
+ <filename>CURRENT/pgsql</filename>. From that point on,
+ <productname>CVS</productname>
+ will keep track of which repository branch is in which directory tree, and will
+ allow independent updates of either tree.
+ </para>
-<para>
-If you are <emphasis>only</emphasis> working on the <literal>CURRENT</literal>
- source tree, you just do
-everything as before we started tagging release branches.
-</para>
+ <para>
+ If you are <emphasis>only</emphasis> working on the <literal>CURRENT</literal>
+ source tree, you just do
+ everything as before we started tagging release branches.
+ </para>
-<para>
-After you've done the initial checkout on a branch
+ <para>
+ After you've done the initial checkout on a branch
-<programlisting>
+ <programlisting>
$ cvs checkout -r REL6_4
-</programlisting>
+ </programlisting>
-anything you do within that directory structure is restricted to that
-branch. If you apply a patch to that directory structure and do a
+ anything you do within that directory structure is restricted to that
+ branch. If you apply a patch to that directory structure and do a
-<programlisting>
+ <programlisting>
cvs commit
-</programlisting>
- while inside of it, the patch is applied to the branch and
-<emphasis>only</emphasis> the branch.
-</para>
-</sect1>
-
-<sect1>
-<title>Getting The Source Via Anonymous <productname>CVS</productname></title>
-
-<para>
-If you would like to keep up with the current sources on a regular
-basis, you can fetch them from our <productname>CVS</productname> server
-and then use <productname>CVS</productname> to
-retrieve updates from time to time.
-</para>
-
-<procedure>
-<title>Anonymous CVS</title>
-
-<step>
-<para>
-You will need a local copy of <productname>CVS</productname> (Concurrent Version Control
-System), which you can get from
-<ulink url="http://www.cyclic.com/">http://www.cyclic.com/</ulink> or
-any GNU software archive site.
-We currently recommend version 1.10 (the most recent at the time of writing).
-</para>
-</step>
-
-<step>
-<para>
-Do an initial login to the <productname>CVS</productname> server:
-<programlisting>
-cvs -d :pserver:anoncvs@postgresql.org:/usr/local/cvsroot login
-</programlisting>
-You will be prompted for a password; enter '<literal>postgresql</literal>'.
-You should only need to do this once, since the password will be
-saved in <literal>.cvspass</literal> in your home directory.
-</para>
-</step>
-
-<step>
-<para>
-Fetch the <productname>Postgres</productname> sources:
-<programlisting>
+ </programlisting>
+
+ while inside of it, the patch is applied to the branch and
+ <emphasis>only</emphasis> the branch.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Getting The Source Via Anonymous <productname>CVS</productname></title>
+
+ <para>
+ If you would like to keep up with the current sources on a regular
+ basis, you can fetch them from our <productname>CVS</productname> server
+ and then use <productname>CVS</productname> to
+ retrieve updates from time to time.
+ </para>
+
+ <procedure>
+ <title>Anonymous CVS</title>
+
+ <step>
+ <para>
+ You will need a local copy of <productname>CVS</productname>
+ (Concurrent Version Control System), which you can get from
+ <ulink url="http://www.cyclic.com/">http://www.cyclic.com/</ulink> or
+ any GNU software archive site.
+ We currently recommend version 1.10 (the most recent at the time
+ of writing). Many systems have a recent version of
+ <application>cvs</application> installed by default.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Do an initial login to the <productname>CVS</productname> server:
+
+ <programlisting>
+$ cvs -d :pserver:anoncvs@postgresql.org:/usr/local/cvsroot login
+ </programlisting>
+
+ You will be prompted for a password; enter '<literal>postgresql</literal>'.
+ You should only need to do this once, since the password will be
+ saved in <literal>.cvspass</literal> in your home directory.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Fetch the <productname>Postgres</productname> sources:
+ <programlisting>
cvs -z3 -d :pserver:anoncvs@postgresql.org:/usr/local/cvsroot co -P pgsql
-</programlisting>
-which installs the <productname>Postgres</productname> sources into a
-subdirectory <filename>pgsql</filename>
-of the directory you are currently in.
-
-<note>
-<para>
-If you have a fast link to the Internet, you may not need <option>-z3</option>,
-which instructs <productname>CVS</productname> to use gzip compression for transferred data. But
-on a modem-speed link, it's a very substantial win.
-</para>
-</note>
-
-<para>
-This initial checkout is a little slower than simply downloading
-a <filename>tar.gz</filename> file; expect it to take 40 minutes or so if you
-have a 28.8K modem. The advantage of <productname>CVS</productname> doesn't show up until you
-want to update the file set later on.
-</para>
-</step>
-
-<step>
-<para>
-Whenever you want to update to the latest <productname>CVS</productname> sources,
-<command>cd</command> into
-the <filename>pgsql</filename> subdirectory, and issue
-<programlisting>
-cvs -z3 update -d -P
-</programlisting>
-This will fetch only the changes since the last time you updated.
-You can update in just a couple of minutes, typically, even over
-a modem-speed line.
-</para>
-</step>
+ </programlisting>
+
+ which installs the <productname>Postgres</productname> sources into a
+ subdirectory <filename>pgsql</filename>
+ of the directory you are currently in.
+
+ <note>
+ <para>
+ If you have a fast link to the Internet, you may not need
+ <option>-z3</option>, which instructs
+ <productname>CVS</productname> to use gzip compression for transferred data. But
+ on a modem-speed link, it's a very substantial win.
+ </para>
+ </note>
+ </para>
-<step>
-<para>
-You can save yourself some typing by making a file <filename>.cvsrc</filename>
-in your home directory that contains
+ <para>
+ This initial checkout is a little slower than simply downloading
+ a <filename>tar.gz</filename> file; expect it to take 40 minutes or so if you
+ have a 28.8K modem. The advantage of
+ <productname>CVS</productname>
+ doesn't show up until you want to update the file set later on.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Whenever you want to update to the latest <productname>CVS</productname> sources,
+ <command>cd</command> into
+ the <filename>pgsql</filename> subdirectory, and issue
+ <programlisting>
+$ cvs -z3 update -d -P
+ </programlisting>
+
+ This will fetch only the changes since the last time you updated.
+ You can update in just a couple of minutes, typically, even over
+ a modem-speed line.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ You can save yourself some typing by making a file <filename>.cvsrc</filename>
+ in your home directory that contains
-<programlisting>
+ <programlisting>
cvs -z3
update -d -P
-</programlisting>
+ </programlisting>
+
+ This supplies the <option>-z3</option> option to all cvs commands, and the
+ <option>-d</option> and <option>-P</option> options to cvs update. Then you just have
+ to say
+ <programlisting>
+$ cvs update
+ </programlisting>
+
+ to update your files.
+ </para>
+ </step>
+ </procedure>
+
+ <caution>
+ <para>
+ Some older versions of <productname>CVS</productname> have a bug that
+ causes all checked-out files to be stored world-writable in your
+ directory. If you see that this has happened, you can do something like
+ <programlisting>
+$ chmod -R go-w pgsql
+ </programlisting>
+ to set the permissions properly.
+ This bug is fixed as of
+ <productname>CVS</productname> version 1.9.28.
+ </para>
+ </caution>
-This supplies the <option>-z3</option> option to all cvs commands, and the
-<option>-d</option> and <option>-P</option> options to cvs update. Then you just have
-to say
-<programlisting>
-cvs update
-</programlisting>
-to update your files.
-</para>
-</step>
-</procedure>
-
-<para>
-<caution>
-Some older versions of <productname>CVS</productname> have a bug that
-causes all checked-out files to be stored world-writable in your
-directory. If you see that this has happened, you can do something like
-<programlisting>
-chmod -R go-w pgsql
-</programlisting>
-to set the permissions properly.
-This bug is fixed as of <productname>CVS</productname> version 1.9.28.
-</caution>
-</para>
-
-<para>
-<productname>CVS</productname> can do a lot of other things, such as fetching prior revisions
-of the <productname>Postgres</productname> sources rather than the latest development version.
-For more info consult the manual that comes with <productname>CVS</productname>, or see the online
-documentation at <ulink url="http://www.cyclic.com/">http://www.cyclic.com/</ulink>.
-</para>
-
-</sect1>
-
-<sect1>
-<title>Getting The Source Via <productname>CVSup</productname></title>
-
-<para>
-An alternative to using anonymous CVS for retrieving
-the <productname>Postgres</productname> source tree
-is <productname>CVSup</productname>. The major advantage to using
-<productname>CVSup</productname> is that it can reliably
-replicate the <emphasis>entire</emphasis> CVS repository on your local system,
-allowing fast local access to cvs operations such as <option>log</option>
-and <option>diff</option>. Other advantages include fast synchronization to
-the <productname>Postgres</productname> server due to an efficient
-streaming transfer protocol which only sends the changes since the last update.
-</para>
-
-<procedure>
-<title>Installation from Binaries</title>
-
-<para>
-Instructions for installing <productname>CVSup</productname> from sources
-are in a subsequent section. You can instead use pre-built binaries
-if you have a platform for which binaries
-are posted on
-<ulink url="ftp://postgresql.org/pub">the <productname>Postgres</productname> ftp site</ulink>,
-or if you are running FreeBSD, for which <productname>CVSup</productname> is available
-as a port.
-</para>
-
-<step>
-<para>
-Retrieve the binary tar file appropriate for your platform.
-
-<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
-<ulink url="ftp://postgresql.org/pub">the <productname>Postgres</productname> ftp site</ulink>,
-</para>
-</step>
-</substeps>
-</para>
-
-<step>
-<para>
-</para>
-
-</procedure>
-
-<sect2>
-<title>Installation from Binaries</title>
-
-<para>
-Instructions for installing <productname>CVSup</productname> from sources
-are in a subsequent section. If you have a platform for which static binaries
-are posted on
-<ulink url="ftp://postgresql.org/pub">the <productname>Postgres</productname> ftp site</ulink>.
-</para>
-
-<sect2>
-<title>Client Configuration</title>
-
-<para>
-</para>
-
-<sect2>
-<title>Background</title>
-
-<para>
-<note>
-<title>Author</title>
-<para>
-Written by <ulink url="mailto:jdp@polstra.com">John Polstra</ulink>, the
-<productname>CVSup</productname> author.
-</note>
-
-Before you dismiss CVSup because of the language it's written in,
-I hope you'll take a look at the long list of platforms supported
-by the free DEC SRC Modula-3 compiler, at:
-
- http://www.research.digital.com/SRC/modula-3/html/platforms.html
-
-I developed CVSup using that compiler, under FreeBSD. I also have
-reports from people who are using CVSup under Linux, Solaris, and
-ALPHA/OSF. It should be easily portable to any of the POSIX systems
-supported by the compiler.
-
-I understand your reluctance to "change a winning team," but once
-you've seen the speed increase of CVSup relative to sup, you'll no
-longer view sup as "winning." Sup was the inspiration for me to
-develop CVSup, precisely because it performs so badly in certain
-situations.
-
-Sup's synchronous request-ack communication pattern is death on a
-high-latency network link. CVSup uses a streaming protocol that is
-immune to latency problems. Its multi-threaded implementation
-utilizes the network link in both directions simultaneously, at or
-near its capacity.
-
-If you are mirroring a CVS repository and add a tag to each file
-(say, to make an official release), sup will send a fresh copy of
-every file in the repository. CVSup sends only the tags, and edits
-them into the files on the client host. It was just such a tagging
-operation, and the attendent utter saturation of their server's
-network link, that led the FreeBSD project to abandon sup in favor
-of CVSup. If you ask on <FreeBSD-hackers@FreeBSD.ORG>, I'm sure
-you'll get some opinions on whether CVSup is worth its Modula-3
-hassle factor.
-
-It's freeware. I don't get anything besides warm fuzzy feelings
-when people use it. But I'd hate to see you rule it out simply
-because of the language it's written in.
-
-If I can answer any questions about CVSup or Modula-3, feel free
-to contact me.
-
-Best regards,
-John Polstra
---
- John Polstra jdp@polstra.com
- John D. Polstra & Co., Inc. Seattle, Washington USA
- "Self-knowledge is always bad news." -- John Barth
-
-
-
-<sect2>
-<title>Installing <productname>CVSup</productname></title>
-
-<para>
-Binary files of <productname>CVSup</productname> client executables compiled
-for several platforms are posted on
-<ulink url="ftp://postgresql.org/pub/CVSup">the PostgreSQL ftp site</ulink>.
-In many cases, these binary files will be sufficient to get started with
-<productname>CVSup</productname>.
-</para>
-
-<para>
-Alternatively, you can install <productname>CVSup</productname> from
-a FreeBSD package or from source. A clean installation from source code
-requires installation of a <productname>Modula-3</productname> compiler,
-which is also 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.
-</note>
-</para>
-
-<sect3>
-<title>Linux installation</title>
-
-<para>
-For a <productname>CVSup</productname> client, pick up the appropriate tarball
-from <ulink url="ftp://postgresql.org/pub/CVSup">the PostgreSQL ftp site</ulink>.
-Unpack the tarball into <filename>/usr/local/bin</filename>, then move the man page
-file <filename>cvsup.1</filename> to <filename>/usr/local/man/man1</filename>.
-</para>
-
-<para>
-To build <productname>CVSup</productname> from local sources,
- pick up the <productname>Modula-3</productname>
-distribution from
-<ulink url="http://m3.polymtl.ca/m3">Polytechnique Montréal</ulink>,
- who are actively maintaining the code base originally developed by
-<ulink url="http://www.research.digital.com/SRC/modula-3/html/home.html">the DEC Systems Research Center</ulink>.
-The <quote>PM3</quote> <productname>RPM</productname> distribution is roughly
-30MB compressed.
-</para>
-
-From - Tue Dec 1 14:01:42 1998
-Return-Path: <Thomas.G.Lockhart@jpl.nasa.gov>
-Received: from eis-msg-012.jpl.nasa.gov ([137.78.68.42])
- by eis-msg-002.jpl.nasa.gov (Netscape Mail Server v2.02)
- with ESMTP id ADD868 for <tlockhar@mail1.jpl.nasa.gov>;
- Mon, 21 Jul 1997 11:44:48 -0700
-Return-Path: <tgl@mythos>
-Received: from mythos.jpl.nasa.gov by eis-msg-012.jpl.nasa.gov; Mon, 21 Jul 1997 11:44:50 -0700
-Received: by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA24680; Mon, 21 Jul 1997 18:45:05 GMT
-Received: from pyros.jpl.nasa.gov by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA26520; Mon, 21 Jul 1997 18:44:59 GMT
-Received: from eis-msg-012.jpl.nasa.gov by pyros.jpl.nasa.gov (5.65v3.2/1.1.8.2/15Aug95-1038PM)
- id AA26023; Mon, 21 Jul 1997 18:44:59 GMT
-Received: from austin.polstra.com by eis-msg-012.jpl.nasa.gov with ESMTP; Mon, 21 Jul 1997 11:44:40 -0700
-Received: from austin.polstra.com (jdp@localhost)
- by austin.polstra.com (8.8.6/8.8.5) with ESMTP id LAA00444
- for <Thomas.Lockhart@jpl.nasa.gov>; Mon, 21 Jul 1997 11:44:47 -0700 (PDT)
-Message-Id: <199707211844.LAA00444@austin.polstra.com>
-To: "Thomas G. Lockhart" <Thomas.G.Lockhart@jpl.nasa.gov>
-Subject: Re: [HACKERS] Re: CVSup is in Modula-3
-In-Reply-To: Your message of "Mon, 21 Jul 1997 16:31:17 -0000."
- <33D38ED5.132C8923@jpl.nasa.gov>
-References: <199705210339.UAA13067@austin.polstra.com>
- <33D38ED5.132C8923@jpl.nasa.gov>
-Date: Mon, 21 Jul 1997 11:44:47 -0700
-From: John Polstra <jdp@polstra.com>
-X-Mozilla-Status: 0011
-Content-Length: 1113
+ <para>
+ <productname>CVS</productname> can do a lot of other things,
+ such as fetching prior revisions
+ of the <productname>Postgres</productname> sources
+ rather than the latest development version.
+ For more info consult the manual that comes with
+ <productname>CVS</productname>, or see the online
+ documentation at
+ <ulink url="http://www.cyclic.com/">http://www.cyclic.com/</ulink>.
+ </para>
+ </sect1>
-Tom,
+ <sect1>
+ <title>Getting The Source Via <productname>CVSup</productname></title>
-> We are starting to try to set up CVSup to support the PostgreSQL
-> project.
+ <para>
+ An alternative to using anonymous CVS for retrieving
+ the <productname>Postgres</productname> source tree
+ is <productname>CVSup</productname>.
+ <productname>CVSup</productname> was developed by
+ <ulink url="mailto:jdp@polstra.com">John Polstra</ulink> to
+ distribute CVS repositories and other file trees for
+ <ulink url="http://www.freebsd.org">the FreeBSD project</ulink>.
+ </para>
-Great! If I can help, just let me know.
+ <para>
+ A major advantage to using
+ <productname>CVSup</productname> is that it can reliably
+ replicate the <emphasis>entire</emphasis> CVS repository on your local system,
+ allowing fast local access to cvs operations such as <option>log</option>
+ and <option>diff</option>. Other advantages include fast synchronization to
+ the <productname>Postgres</productname> server due to an efficient
+ streaming transfer protocol which only sends the changes since the last update.
+ </para>
-> After being delayed while buying more disk to install Modula-3,
+ <sect2>
+ <title>Preparing A <productname>CVSup</productname> Client System</title>
+
+ <para>
+ Two directory areas are required for <productname>CVSup</productname>
+ to do it's job: a local <productname>CVS</productname> repository
+ (or simply a directory area if you are fetching a snapshot rather
+ than a repository; see below)
+ and a local <productname>CVSup</productname> bookkeeping
+ area. These can coexist in the same directory tree.
+ </para>
+
+ <para>
+ Decide where you want to keep your local copy of the
+ <productname>CVS</productname> repository. On one of our systems we
+ recently set up a repository in <filename>/home/cvs/</filename>,
+ but had formerly kept it under a
+ <productname>Postgres</productname> development tree in
+ <filename>/opt/postgres/cvs/</filename>. If you intend to keep your
+ repository in <filename>/home/cvs/</filename>, then put
+
+ <programlisting>
+setenv CVSROOT /home/cvs
+ </programlisting>
+
+ in your <filename>.cshrc</filename> file, or a similar line in
+ your <filename>.bashrc</filename> or
+ <filename>.profile</filename> file, depending on your shell.
+ </para>
+
+ <para>
+ The <application>cvs</application> repository area must be initialized.
+ Once <envar>CVSROOT</envar> is set, then this can be done with a
+ single command:
+
+ <programlisting>
+$ cvs init
+ </programlisting>
+
+ after which you should see at least a directory named
+ <filename>CVSROOT</filename> when listing the
+ <envar>CVSROOT</envar> directory:
+
+ <programlisting>
+$ ls $CVSROOT
+CVSROOT/
+ </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 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
-> I started back up on trying the installation. I have gotten the
-> CVSup source distribution cvsup-15.1.tar.gz from www.cdrom.com and
-> have m3 on my system, which already had zlib.
->
-> There appears to be more needed on my RedHat Linux box; make fails
-> with a syntax error on the last line of the Makefile which is
->
-> .include <bsd.subdir.mk>
->
-> I assume this is a FreeBSDism
+# prefix directory points to where CVSup will store the actual distribution(s)
+*default prefix=/home/cvs
-Yes, sorry, the Makefiles aren't portable yet. It's easy to build
-it by hand though. Chdir into each of the following directories in
-the given order, and in each one type "m3build":
+# complete distribution, including all below
+pgsql
- suptcp
- suplib
- server
- client
+# individual distributions vs 'the whole thing'
+# pgsql-doc
+# pgsql-perl5
+# pgsql-src
-If all goes well, the executables will get created in the
-subdirectories "server/LINUXELF" and "client/LINUXELF".
+ </programlisting>
+ </para>
-If you run into any portability problems, please let me know and
-I'll try to send you patches right away. It's the only way I know
-of to improve the portability of the package.
+ <para>
+ The following is a suggested <productname>CVSup</productname> config file from
+ <ulink url="ftp://ftp.postgresql.org/pub/CVSup/README.cvsup">the Postgres ftp site</ulink>
+ which will fetch the current snapshot only:
-John
+ <programlisting>
+# 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=.
-From - Tue Dec 1 14:02:37 1998
-Return-Path: <Thomas.G.Lockhart@jpl.nasa.gov>
-Received: from eis-msg-012.jpl.nasa.gov ([137.78.68.42])
- by eis-msg-002.jpl.nasa.gov (Netscape Mail Server v2.02)
- with ESMTP id ADT23584 for <tlockhar@mail1.jpl.nasa.gov>;
- Mon, 21 Jul 1997 22:23:30 -0700
-Return-Path: <tgl@mythos>
-Received: from mythos.jpl.nasa.gov by eis-msg-012.jpl.nasa.gov; Mon, 21 Jul 1997 22:23:30 -0700
-Received: by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA27710; Tue, 22 Jul 1997 05:23:46 GMT
-Received: from pyros.jpl.nasa.gov by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA27627; Tue, 22 Jul 1997 05:23:45 GMT
-Received: from eis-msg-012.jpl.nasa.gov by pyros.jpl.nasa.gov (5.65v3.2/1.1.8.2/15Aug95-1038PM)
- id AA16826; Tue, 22 Jul 1997 05:23:44 GMT
-Received: from austin.polstra.com by eis-msg-012.jpl.nasa.gov with ESMTP; Mon, 21 Jul 1997 22:22:24 -0700
-Received: from austin.polstra.com (jdp@localhost)
- by austin.polstra.com (8.8.6/8.8.5) with ESMTP id WAA04594
- for <Thomas.Lockhart@jpl.nasa.gov>; Mon, 21 Jul 1997 22:22:40 -0700 (PDT)
-Message-Id: <199707220522.WAA04594@austin.polstra.com>
-To: "Thomas G. Lockhart" <Thomas.G.Lockhart@jpl.nasa.gov>
-Subject: Re: [HACKERS] Re: CVSup is in Modula-3
-In-Reply-To: Your message of "Tue, 22 Jul 1997 04:55:24 -0000."
- <33D43D3C.65F75F5@jpl.nasa.gov>
-References: <199705210339.UAA13067@austin.polstra.com> <33D38ED5.132C8923@jpl.nasa.gov> <199707211844.LAA00444@austin.polstra.com> <33D409F9.5FEF02C7@jpl.nasa.gov> <199707220156.SAA03432@austin.polstra.com>
- <33D43D3C.65F75F5@jpl.nasa.gov>
-Date: Mon, 21 Jul 1997 22:22:40 -0700
-From: John Polstra <jdp@polstra.com>
-X-Mozilla-Status: 0011
-Content-Length: 2890
+# base directory points to where CVSup will store its 'bookmarks' file(s)
+*default base=<replaceable class="parameter">/usr/local/pgsql</replaceable>
+# prefix directory points to where CVSup will store the actual distribution(s)
+*default prefix=<replaceable class="parameter">/usr/local/pgsql</replaceable>
+
+# complete distribution, including all below
+pgsql
+
+# 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 instead use pre-built binaries
+ if you have a platform for which binaries
+ are posted on
+ <ulink url="ftp://postgresql.org/pub">the <productname>Postgres</productname> 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 "port", 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/HPUX-10.20, and 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
+ <ulink url="ftp://postgresql.org/pub">the <productname>Postgres</productname> 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/bin
+$ tar zxvf /usr/local/src/cvsup-16.0-linux-i386.tar.gz
+$ mv 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éal</ulink>,
+ who are actively maintaining the code base originally developed by
+ <ulink
+ url="http://www.research.digital.com/SRC/modula-3/html/home.html">the DEC Systems Research Center</ulink>.
+ The <quote>PM3</quote> <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
+ which 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>
+
+<!--
> It became clear that I had a problem with my m3 installation; some
> X11 libraries were not being found correctly.
@@ -615,7 +762,8 @@ If you are on a T1 or better, you should probably delete the
As shown, it will get the repository (RCS) files. If you uncomment
the line containing "tag=." then it will instead check out the
latest version of each file. There's a bunch more information about
-what you can do at <http://www.freebsd.org/handbook/cvsup.html>.
+what you can do in
+<ulink url="http://www.freebsd.org/handbook/cvsup.html">the CVSup Handbook</ulink>.
There is one other thing I want to send you, but not tonight. I
discovered the hard way that you need a malloc package that is
@@ -643,46 +791,12 @@ Great! I'll do my best to help make sure you don't regret it.
John
-
-
-
-From - Tue Dec 1 14:03:48 1998
-Return-Path: <Thomas.G.Lockhart@jpl.nasa.gov>
-Received: from eis-msg-012.jpl.nasa.gov ([137.78.68.42])
- by eis-msg-002.jpl.nasa.gov (Netscape Mail Server v2.02)
- with ESMTP id AAK25400 for <tlockhar@mail1.jpl.nasa.gov>;
- Mon, 28 Jul 1997 11:08:12 -0700
-Return-Path: <tgl@mythos>
-Received: from mythos.jpl.nasa.gov by eis-msg-012.jpl.nasa.gov; Mon, 28 Jul 1997 11:08:07 -0700
-Received: by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA09109; Mon, 28 Jul 1997 18:08:30 GMT
-Date: Mon, 28 Jul 1997 18:08:30 GMT
-From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
-Message-Id: <9707281808.AA09109@mythos.jpl.nasa.gov>
-Subject: Thread safe malloc for Modula-3
-To: tlockhar@mail1.jpl.nasa.gov
-Mime-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-Content-Md5: kDq1byZn+NpMUrFlhA9EhA==
-X-Mozilla-Status: 0001
-Content-Length: 27233
-
-------------- Begin Forwarded Message -------------
-
->From jdp@austin.polstra.com Sat Jul 26 03:42:04 1997
-To: "Thomas G. Lockhart" <Thomas.G.Lockhart@jpl.nasa.gov>
-Subject: Thread safe malloc for Modula-3
-Date: Fri, 25 Jul 1997 20:41:41 -0700
-From: John Polstra <jdp@polstra.com>
-Content-Length: 26878
-
Tom,
I'm appending the sources for the thread safe version of malloc that
I told you about. I believe that it will simply compile and work
under Linux, but I've never had an opportunity to test it there.
-I urge you to put it into your Modula-3 system -- otherwise, you
+I urge you to put it into your Modula-3 system; otherwise, you
are guaranteed to get occasional mysterious core dumps from cvsupd.
As a first step, I'd suggest simply trying to compile it under
@@ -720,38 +834,6 @@ using even aside from the thread safety of it.
Regards,
John
-
-
-From - Tue Dec 1 14:04:30 1998
-Received: from eis-msg-012.jpl.nasa.gov (eis-msg-012.jpl.nasa.gov [137.78.68.42]) by alumnae.caltech.edu (8.8.3/8.7.3) with ESMTP id WAA24486 for <lockhart@alumni.caltech.edu>; Tue, 29 Jul 1997 22:54:06 -0700 (PDT)
-Received: from mythos.jpl.nasa.gov by eis-msg-012.jpl.nasa.gov; Tue, 29 Jul 1997 22:53:32 -0700
-Received: by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA13731; Wed, 30 Jul 1997 05:54:08 GMT
-Received: from hub.org by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA13687; Wed, 30 Jul 1997 05:54:07 GMT
-Received: from localhost (majordom@localhost) by hub.org (8.8.5/8.7.5) with SMTP id BAA07442; Wed, 30 Jul 1997 01:52:26 -0400 (EDT)
-Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Wed, 30 Jul 1997 01:48:16 -0400 (EDT)
-Received: (from majordom@localhost) by hub.org (8.8.5/8.7.5) id BAA07304 for pgsql-hackers-outgoing; Wed, 30 Jul 1997 01:48:03 -0400 (EDT)
-Received: from golem.jpl.nasa.gov (root@gnet04.jpl.nasa.gov [128.149.70.168]) by hub.org (8.8.5/8.7.5) with ESMTP id BAA07297 for <hackers@postgresql.org>; Wed, 30 Jul 1997 01:47:55 -0400 (EDT)
-Received: from golem (localhost [127.0.0.1])
- by golem.jpl.nasa.gov (8.8.5/8.8.5) with SMTP id FAA23412;
- Wed, 30 Jul 1997 05:46:58 GMT
-Message-Id: <33DED551.7F31C751@alumni.caltech.edu>
-Date: Wed, 30 Jul 1997 05:46:58 +0000
-From: "Thomas G. Lockhart" <lockhart@alumni.caltech.edu>
-Organization: Caltech/JPL
-X-Mailer: Mozilla 3.01 (X11; I; Linux 2.0.30 i686)
-Mime-Version: 1.0
-To: The Hermit Hacker <scrappy@hub.org>
-Cc: hackers@postgresql.org, John Polstra <jdp@polstra.com>
-Subject: [HACKERS] cvsup
-Content-Transfer-Encoding: 7bit
-Sender: owner-hackers@hub.org
-Precedence: bulk
-Content-Type: text/plain; charset=us-ascii
-X-Mozilla-Status: 0001
-Content-Length: 1069
-
I've deposited a statically built cvsup client executable (and man pages
and test configuration) in
@@ -780,41 +862,6 @@ Thanks to John for getting me going.
- Tom
-From - Tue Dec 1 14:07:28 1998
-Received: from eis-msg-012.jpl.nasa.gov (eis-msg-012.jpl.nasa.gov [137.78.68.42]) by alumnae.caltech.edu (8.8.3/8.7.3) with ESMTP id XAA25148 for <lockhart@alumni.caltech.edu>; Tue, 29 Jul 1997 23:17:22 -0700 (PDT)
-Received: from mythos.jpl.nasa.gov by eis-msg-012.jpl.nasa.gov; Tue, 29 Jul 1997 23:16:48 -0700
-Received: by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA09663; Wed, 30 Jul 1997 06:17:25 GMT
-Received: from hub.org by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA13538; Wed, 30 Jul 1997 06:17:24 GMT
-Received: from localhost (majordom@localhost) by hub.org (8.8.5/8.7.5) with SMTP id CAA08702; Wed, 30 Jul 1997 02:14:29 -0400 (EDT)
-Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Wed, 30 Jul 1997 02:03:54 -0400 (EDT)
-Received: (from majordom@localhost) by hub.org (8.8.5/8.7.5) id CAA08094 for pgsql-hackers-outgoing; Wed, 30 Jul 1997 02:03:41 -0400 (EDT)
-Received: from golem.jpl.nasa.gov (root@gnet04.jpl.nasa.gov [128.149.70.168]) by hub.org (8.8.5/8.7.5) with ESMTP id CAA08086 for <hackers@postgreSQL.org>; Wed, 30 Jul 1997 02:03:10 -0400 (EDT)
-Received: from golem (localhost [127.0.0.1])
- by golem.jpl.nasa.gov (8.8.5/8.8.5) with SMTP id GAA23505;
- Wed, 30 Jul 1997 06:02:40 GMT
-Message-Id: <33DED900.4EEA0E9F@alumni.caltech.edu>
-Date: Wed, 30 Jul 1997 06:02:40 +0000
-From: "Thomas G. Lockhart" <lockhart@alumni.caltech.edu>
-Organization: Caltech/JPL
-X-Mailer: Mozilla 3.01 (X11; I; Linux 2.0.30 i686)
-Mime-Version: 1.0
-To: The Hermit Hacker <scrappy@hub.org>
-Cc: hackers@postgresql.org
-Subject: [Fwd: Re: [HACKERS] Re: CVSup is in Modula-3]
-Sender: owner-hackers@hub.org
-Precedence: bulk
-Content-Type: multipart/mixed; boundary="------------524572433268691C62FDF4"
-X-Mozilla-Status: 0001
-Content-Length: 38655
-
-This is a multi-part message in MIME format.
-
---------------524572433268691C62FDF4
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-
For the thread-safe malloc, do the following:
1) install Modula-3
2) add the enclosed file "malloc.c" to m3/m3core/src/runtime/LINUXELF
@@ -822,7 +869,7 @@ For the thread-safe malloc, do the following:
c_source ("malloc")
4) do an "m3build" and an m3ship from the appropriate directory.
->From what John said, the malloc problem can be noticable for the
+From what John said, the malloc problem can be noticable for the
server-side running cvsupd. Clients may not need it.
Unfortunately I seem to have lost John's original good instructions for
@@ -831,365 +878,7 @@ instructions again...
- Tom
---------------524572433268691C62FDF4
-Content-Type: message/rfc822
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-Return-Path: <Thomas.G.Lockhart@jpl.nasa.gov>
-Received: from eis-msg-012.jpl.nasa.gov ([137.78.68.42])
- by eis-msg-002.jpl.nasa.gov (Netscape Mail Server v2.02)
- with ESMTP id ADD868 for <tlockhar@mail1.jpl.nasa.gov>;
- Mon, 21 Jul 1997 11:44:48 -0700
-Return-Path: <tgl@mythos>
-Received: from mythos.jpl.nasa.gov by eis-msg-012.jpl.nasa.gov; Mon, 21 Jul 1997 11:44:50 -0700
-Received: by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA24680; Mon, 21 Jul 1997 18:45:05 GMT
-Received: from pyros.jpl.nasa.gov by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA26520; Mon, 21 Jul 1997 18:44:59 GMT
-Received: from eis-msg-012.jpl.nasa.gov by pyros.jpl.nasa.gov (5.65v3.2/1.1.8.2/15Aug95-1038PM)
- id AA26023; Mon, 21 Jul 1997 18:44:59 GMT
-Received: from austin.polstra.com by eis-msg-012.jpl.nasa.gov with ESMTP; Mon, 21 Jul 1997 11:44:40 -0700
-Received: from austin.polstra.com (jdp@localhost)
- by austin.polstra.com (8.8.6/8.8.5) with ESMTP id LAA00444
- for <Thomas.Lockhart@jpl.nasa.gov>; Mon, 21 Jul 1997 11:44:47 -0700 (PDT)
-Message-Id: <199707211844.LAA00444@austin.polstra.com>
-To: "Thomas G. Lockhart" <Thomas.G.Lockhart@jpl.nasa.gov>
-Subject: Re: [HACKERS] Re: CVSup is in Modula-3
-In-Reply-To: Your message of "Mon, 21 Jul 1997 16:31:17 -0000."
- <33D38ED5.132C8923@jpl.nasa.gov>
-References: <199705210339.UAA13067@austin.polstra.com>
- <33D38ED5.132C8923@jpl.nasa.gov>
-Date: Mon, 21 Jul 1997 11:44:47 -0700
-From: John Polstra <jdp@polstra.com>
-
-Tom,
-
-> We are starting to try to set up CVSup to support the PostgreSQL
-> project.
-
-Great! If I can help, just let me know.
-
-> After being delayed while buying more disk to install Modula-3,
-
-:-}
-
-> I started back up on trying the installation. I have gotten the
-> CVSup source distribution cvsup-15.1.tar.gz from www.cdrom.com and
-> have m3 on my system, which already had zlib.
->
-> There appears to be more needed on my RedHat Linux box; make fails
-> with a syntax error on the last line of the Makefile which is
->
-> .include <bsd.subdir.mk>
->
-> I assume this is a FreeBSDism
-
-Yes, sorry, the Makefiles aren't portable yet. It's easy to build
-it by hand though. Chdir into each of the following directories in
-the given order, and in each one type "m3build":
-
- suptcp
- suplib
- server
- client
-
-If all goes well, the executables will get created in the
-subdirectories "server/LINUXELF" and "client/LINUXELF".
-
-If you run into any portability problems, please let me know and
-I'll try to send you patches right away. It's the only way I know
-of to improve the portability of the package.
-
-John
-
-
-
-
---------------524572433268691C62FDF4
-Content-Type: message/rfc822
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-Return-Path: <Thomas.G.Lockhart@jpl.nasa.gov>
-Received: from eis-msg-012.jpl.nasa.gov ([137.78.68.42])
- by eis-msg-002.jpl.nasa.gov (Netscape Mail Server v2.02)
- with ESMTP id ABJ29576 for <tlockhar@mail1.jpl.nasa.gov>;
- Mon, 21 Jul 1997 18:31:59 -0700
-Return-Path: <tgl@mythos>
-Received: from mythos.jpl.nasa.gov by eis-msg-012.jpl.nasa.gov; Mon, 21 Jul 1997 18:32:01 -0700
-Received: by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA27435; Tue, 22 Jul 1997 01:32:15 GMT
-Received: from pyros.jpl.nasa.gov by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA27371; Tue, 22 Jul 1997 01:31:15 GMT
-Received: from eis-msg-012.jpl.nasa.gov by pyros.jpl.nasa.gov (5.65v3.2/1.1.8.2/15Aug95-1038PM)
- id AA07056; Tue, 22 Jul 1997 01:31:14 GMT
-Received: from austin.polstra.com by eis-msg-012.jpl.nasa.gov with ESMTP; Mon, 21 Jul 1997 18:30:52 -0700
-Received: from austin.polstra.com (jdp@localhost)
- by austin.polstra.com (8.8.6/8.8.5) with ESMTP id SAA03293
- for <Thomas.Lockhart@jpl.nasa.gov>; Mon, 21 Jul 1997 18:31:05 -0700 (PDT)
-Message-Id: <199707220131.SAA03293@austin.polstra.com>
-To: "Thomas G. Lockhart" <Thomas.G.Lockhart@jpl.nasa.gov>
-Subject: Re: [HACKERS] Re: CVSup is in Modula-3
-In-Reply-To: Your message of "Tue, 22 Jul 1997 01:16:41 -0000."
- <33D409F9.5FEF02C7@jpl.nasa.gov>
-References: <199705210339.UAA13067@austin.polstra.com> <33D38ED5.132C8923@jpl.nasa.gov> <199707211844.LAA00444@austin.polstra.com>
- <33D409F9.5FEF02C7@jpl.nasa.gov>
-Date: Mon, 21 Jul 1997 18:31:05 -0700
-From: John Polstra <jdp@polstra.com>
-
-> > suplib
->
-> Changed fnmatch.h to subvert the #ifndef _POSIX_SOURCE, since
-> FNM_LEADING_DIR and the others are not apparently defined on my RedHat
-> Linux/v4.2 system.
-
-OK, I'll check that and try to make it more portable.
-
-> new source -> compiling ../src/FileAttr.m3
-> "../src/FileAttr.m3", line 609: LOOPHOLE: expression's size differs from
-> type's
-> "../src/FileAttr.m3", line 610: LOOPHOLE: expression's size differs from
-> type's
-
-I'll have to think about the best way to make that portable. For
-now, edit "suplib/src/FileAttr.m3". In each of lines 609 and 610,
-change the "-1" to "65535". That should allow you to proceed.
-
-I'm 99% sure that all the subsequent error messages were caused by
-the failure of this file to compile. It just might work after this
-... :-)
-
-BTW, it has been used by several people under Linux. But
-FileAttr.m3 is a new file for this release, so it hasn't had the
-portability bugs ironed out yet.
-
-Regards,
-John
-
-
---------------524572433268691C62FDF4
-Content-Type: message/rfc822
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-Return-Path: <Thomas.G.Lockhart@jpl.nasa.gov>
-Received: from eis-msg-012.jpl.nasa.gov ([137.78.68.42])
- by eis-msg-002.jpl.nasa.gov (Netscape Mail Server v2.02)
- with ESMTP id ABJ530 for <tlockhar@mail1.jpl.nasa.gov>;
- Mon, 21 Jul 1997 18:56:46 -0700
-Return-Path: <tgl@mythos>
-Received: from mythos.jpl.nasa.gov by eis-msg-012.jpl.nasa.gov; Mon, 21 Jul 1997 18:56:47 -0700
-Received: by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA27403; Tue, 22 Jul 1997 01:57:02 GMT
-Received: from pyros.jpl.nasa.gov by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA27419; Tue, 22 Jul 1997 01:57:01 GMT
-Received: from eis-msg-012.jpl.nasa.gov by pyros.jpl.nasa.gov (5.65v3.2/1.1.8.2/15Aug95-1038PM)
- id AA22933; Tue, 22 Jul 1997 01:57:00 GMT
-Received: from austin.polstra.com by eis-msg-012.jpl.nasa.gov with ESMTP; Mon, 21 Jul 1997 18:56:43 -0700
-Received: from austin.polstra.com (jdp@localhost)
- by austin.polstra.com (8.8.6/8.8.5) with ESMTP id SAA03432
- for <Thomas.Lockhart@jpl.nasa.gov>; Mon, 21 Jul 1997 18:56:57 -0700 (PDT)
-Message-Id: <199707220156.SAA03432@austin.polstra.com>
-To: "Thomas G. Lockhart" <Thomas.G.Lockhart@jpl.nasa.gov>
-Subject: Re: [HACKERS] Re: CVSup is in Modula-3
-In-Reply-To: Your message of "Tue, 22 Jul 1997 01:16:41 -0000."
- <33D409F9.5FEF02C7@jpl.nasa.gov>
-References: <199705210339.UAA13067@austin.polstra.com> <33D38ED5.132C8923@jpl.nasa.gov> <199707211844.LAA00444@austin.polstra.com>
- <33D409F9.5FEF02C7@jpl.nasa.gov>
-Date: Mon, 21 Jul 1997 18:56:57 -0700
-From: John Polstra <jdp@polstra.com>
-
-Erk. I just realized during dinner that the fix I sent you for
-FileAttr.m3 probably won't work either. You'll probably get exactly
-the same error messages as before.
-
-Instead of what I told you before, just change those two lines to
-this:
-
- owner := 65535;
- group := 65535;
-
-I hope I caught you before you wasted too much time on it.
-
-John
-
-
---------------524572433268691C62FDF4
-Content-Type: message/rfc822
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-Return-Path: <Thomas.G.Lockhart@jpl.nasa.gov>
-Received: from eis-msg-012.jpl.nasa.gov ([137.78.68.42])
- by eis-msg-002.jpl.nasa.gov (Netscape Mail Server v2.02)
- with ESMTP id ADT23584 for <tlockhar@mail1.jpl.nasa.gov>;
- Mon, 21 Jul 1997 22:23:30 -0700
-Return-Path: <tgl@mythos>
-Received: from mythos.jpl.nasa.gov by eis-msg-012.jpl.nasa.gov; Mon, 21 Jul 1997 22:23:30 -0700
-Received: by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA27710; Tue, 22 Jul 1997 05:23:46 GMT
-Received: from pyros.jpl.nasa.gov by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA27627; Tue, 22 Jul 1997 05:23:45 GMT
-Received: from eis-msg-012.jpl.nasa.gov by pyros.jpl.nasa.gov (5.65v3.2/1.1.8.2/15Aug95-1038PM)
- id AA16826; Tue, 22 Jul 1997 05:23:44 GMT
-Received: from austin.polstra.com by eis-msg-012.jpl.nasa.gov with ESMTP; Mon, 21 Jul 1997 22:22:24 -0700
-Received: from austin.polstra.com (jdp@localhost)
- by austin.polstra.com (8.8.6/8.8.5) with ESMTP id WAA04594
- for <Thomas.Lockhart@jpl.nasa.gov>; Mon, 21 Jul 1997 22:22:40 -0700 (PDT)
-Message-Id: <199707220522.WAA04594@austin.polstra.com>
-To: "Thomas G. Lockhart" <Thomas.G.Lockhart@jpl.nasa.gov>
-Subject: Re: [HACKERS] Re: CVSup is in Modula-3
-In-Reply-To: Your message of "Tue, 22 Jul 1997 04:55:24 -0000."
- <33D43D3C.65F75F5@jpl.nasa.gov>
-References: <199705210339.UAA13067@austin.polstra.com> <33D38ED5.132C8923@jpl.nasa.gov> <199707211844.LAA00444@austin.polstra.com> <33D409F9.5FEF02C7@jpl.nasa.gov> <199707220156.SAA03432@austin.polstra.com>
- <33D43D3C.65F75F5@jpl.nasa.gov>
-Date: Mon, 21 Jul 1997 22:22:40 -0700
-From: John Polstra <jdp@polstra.com>
-
-> It became clear that I had a problem with my m3 installation; some
-> X11 libraries were not being found correctly.
-
-By the way, you can build the client without the GUI by doing this
-in the "client" subdirectory:
-
- m3build -DNOGUI
-
-If you build it that way, then it doesn't need the X11 libraries and
-it's quite a bit smaller. The GUI is fun to watch, but it's not
-very useful. I originally implemented it because it made debugging
-the multi-threaded client program much easier.
-
-> Anyway, with the reinstall and the two-line patch above (and that
-> one include-file _POSIX_SOURCE workaround from the previous try),
-> things built cleanly.
-
-Good!
-
-> Now I just need a server somewhere to test.
-
-If you want to try it out, there are public servers for the FreeBSD
-source repository at cvsup.freebsd.org and cvsup2.freebsd.org.
-Here's a suggested supfile:
-
-*default host=cvsup.freebsd.org compress
-*default release=cvs
-*default base=/home/jdp/cvsup-test # FIX THIS
-*default delete use-rel-suffix
-# *default tag=.
-src-bin
-
-This will fetch you the source repository for the programs that get
-installed into "/bin". I chose it because it's one of the smaller
-pieces of the system. Make an empty directory someplace for
-testing, and change the "FIX THIS" line to specify that directory
-after the "base=".
-
-If you are on a T1 or better, you should probably delete the
-"compress" keyword in the first line.
-
-As shown, it will get the repository (RCS) files. If you uncomment
-the line containing "tag=." then it will instead check out the
-latest version of each file. There's a bunch more information about
-what you can do at <http://www.freebsd.org/handbook/cvsup.html>.
-
-There is one other thing I want to send you, but not tonight. I
-discovered the hard way that you need a malloc package that is
-thread-safe with respect to the Modula-3 threads package. The
-Modula-3 runtime takes care to do the proper mutual exclusion around
-all calls it makes to malloc. But if you call certain functions in
-the native C library which in turn call malloc, then the mutual
-exclusion gets bypassed. This can lead to rare but baffling core
-dumps.
-
-For FreeBSD, I solved this by adding a thread-safe malloc package
-into the Modula-3 runtime. The package is quite portable, and I'm
-sure it will work well for Linux with very few changes (probably
-none at all). I want to send it to you along with instructions
-for making it a part of the "libm3core" library. It's very simple,
-but I've run out of steam for tonight. :-) Once you have this
-malloc in place, the CVSup system should be rock solid. We have
-servers that have been up for weeks and have served many thousands
-of clients without any observed problems.
-
-> We hope to have the Postgres tree using CVSup within a month or
-> so, and hope to retire sup in September...
-
-Great! I'll do my best to help make sure you don't regret it.
-
-John
-
-
-
-
-
-From - Tue Dec 1 14:09:25 1998
-Received: from eis-msg-012.jpl.nasa.gov (eis-msg-012.jpl.nasa.gov [137.78.68.42]) by alumnae.caltech.edu (8.8.3/8.7.3) with ESMTP id SAA17924 for <lockhart@alumni.caltech.edu>; Sat, 9 Aug 1997 18:34:20 -0700 (PDT)
-Received: from mythos.jpl.nasa.gov by eis-msg-012.jpl.nasa.gov; Sat, 9 Aug 1997 18:33:19 -0700
-Received: by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA29836; Sun, 10 Aug 1997 01:34:22 GMT
-Received: from hub.org by mythos.jpl.nasa.gov (5.65v3.2/1.1.10.5/11Jan97-0348AM)
- id AA28782; Sun, 10 Aug 1997 01:34:21 GMT
-Received: from hub.org (hub.org [207.107.138.200]) by hub.org (8.8.5/8.7.5) with ESMTP id VAA13030; Sat, 9 Aug 1997 21:27:21 -0400 (EDT)
-Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Sat, 09 Aug 1997 21:23:11 -0400 (EDT)
-Received: (from majordom@localhost) by hub.org (8.8.5/8.7.5) id VAA12661 for pgsql-hackers-outgoing; Sat, 9 Aug 1997 21:23:04 -0400 (EDT)
-Received: from thelab.hub.org (root@ppp-164.halifax-01.ican.net [206.231.248.164]) by hub.org (8.8.5/8.7.5) with ESMTP id VAA12657 for <pgsql-hackers@postgresql.org>; Sat, 9 Aug 1997 21:22:54 -0400 (EDT)
-Received: from thelab.hub.org (scrappy@localhost [127.0.0.1]) by thelab.hub.org (8.8.6/8.8.2) with SMTP id WAA05735 for <pgsql-hackers@postgresql.org>; Sat, 9 Aug 1997 22:22:27 -0300 (ADT)
-Date: Sat, 9 Aug 1997 22:22:27 -0300 (ADT)
-From: The Hermit Hacker <scrappy@hub.org>
-To: pgsql-hackers@postgresql.org
-Subject: [HACKERS] CVSup ready for prime time...
-Message-Id: <Pine.NEB.3.96.970809221034.4468L-100000@thelab.hub.org>
-Mime-Version: 1.0
-Content-Type: TEXT/PLAIN; charset=US-ASCII
-Sender: owner-hackers@hub.org
-Precedence: bulk
-X-Mozilla-Status: 0001
-Content-Length: 1173
-
-
-Wow...after several hours of playing with this, I believe I've finally
-got the last kink worked out (thanks to John)...
-
-The following is the CVSup config file that I'm using to grab the current
-distribution...if anyone can find anything wrong with it, please let me
-know:
-
-===================
-# 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
-===================
-
-This file is also available at:
-
- ftp.postgresql.org/pub/CVSup/README.cvsup
-
-Marc G. Fournier
-Systems Administrator @ hub.org
-primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
-
-
+-->
<!-- Keep this comment at the end of the file