<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
-<!entity % dummy "INCLUDE">
+<!entity % dummy "IGNORE">
<!entity supported SYSTEM "supported.sgml">
<!entity newfeatures SYSTEM "newfeatures.sgml">
<!entity p-intro SYSTEM "privoxy.sgml">
<!entity seealso SYSTEM "seealso.sgml">
<!entity contacting SYSTEM "contacting.sgml">
<!entity copyright SYSTEM "copyright.sgml">
-<!entity p-version "2.9.14">
+<!entity license SYSTEM "license.sgml">
+<!entity p-version "2.9.15">
<!entity p-status "beta">
<!entity % p-not-stable "INCLUDE">
<!entity % p-stable "IGNORE">
<!entity % p-text "IGNORE"> <!-- define we are not a text only doc -->
<!entity % p-doc "INCLUDE"> <!-- and we are a formal doc -->
+<!entity my-copy "©"> <!-- kludge for docbook2man -->
]>
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/developer-manual.sgml,v $
This file belongs into
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
- $Id: developer-manual.sgml,v 1.33 2002/04/12 03:49:53 hal9 Exp $
-
- Written by and Copyright (C) 2001 the SourceForge
- Privoxy team. http://www.privoxy.org/
-
- Based on the Internet Junkbuster originally written
- by and Copyright (C) 1997 Anonymous Coders and
- Junkbusters Corporation. http://www.junkbusters.com
+ $Id: developer-manual.sgml,v 1.44 2002/05/15 03:55:17 hal9 Exp $
+ Copyright (C) 2001, 2002 Privoxy Developers <developers@privoxy.org>
+ See LICENSE.
========================================================================
NOTE: Please read developer-manual/documentation.html before touching
<article id="index">
<artheader>
<title>Privoxy Developer Manual</title>
+ <pubdate>
+ <subscript>
+ <!-- Completely the wrong markup, but very little is allowed -->
+ <!-- in this part of an article. FIXME -->
+ <link linkend="copyright">Copyright</link> &my-copy; 2001, 2002 by
+ <ulink url="http://www.privoxy.org">Privoxy Developers</ulink>
+ </subscript>
+ </pubdate>
+
+
+ <pubdate>$Id: developer-manual.sgml,v 1.44 2002/05/15 03:55:17 hal9 Exp $</pubdate>
+
+<!--
+
+Note: this should generate a separate page, and a live link to it.
+But it doesn't for some mysterious reason. Please leave commented
+unless it can be fixed proper. For the time being, the copyright
+statement will be in copyright.smgl.
+
+Hal.
- <pubdate>$Id: developer-manual.sgml,v 1.33 2002/04/12 03:49:53 hal9 Exp $</pubdate>
+<legalnotice id="legalnotice">
+ <para>
+ text goes here ........
+ </para>
+</legalnotice>
- <authorgroup>
- <author>
- <affiliation>
- <orgname>By: Privoxy Developers</orgname>
- </affiliation>
- </author>
- </authorgroup>
+-->
<abstract>
+
<![%dummy;[
<para>
<comment>
<para>
You can find the latest version of the this manual at <ulink
url="http://www.privoxy.org/developer-manual/">http://www.privoxy.org/developer-manual/</ulink>.
- Please see <ulink url="contact.html">the Contact section</ulink>
+ Please see <link linkend="contact">the Contact section</link>
on how to contact the developers.
</para>
-
<!-- <para> -->
<!-- Feel free to send a note to the developers at <email>ijbswa-developers@lists.sourceforge.net</email>. -->
<!-- </para> -->
</abstract>
</artheader>
-<!-- ~~~~~ New section ~~~~~ -->
-<sect1 id="intro" label=""><title></title>
-<!-- dummy section to force TOC on page by itself -->
-<!-- DO NOT REMOVE! please ;) -->
-<para> </para>
-</sect1>
-
-<!-- ~~~~~ New section ~~~~~ -->
-
<!-- ~~~~~ New section ~~~~~ -->
- <sect1 label="1" id="introduction"><title>Introduction</title>
+ <sect1 id="introduction"><title>Introduction</title>
<!--
I don't like seeing blank space :) So added *something* here.
One does not have to be a programmer to contribute. Packaging, testing,
and porting, are all important jobs as well.
</para>
- </sect1>
<!-- ~~~~~ New section ~~~~~ -->
- <sect1 id="quickstart"><title>Quickstart to Privoxy Development</title>
+ <sect2 id="quickstart"><title>Quickstart to Privoxy Development</title>
<para>
You'll need an account on <ulink
url="http://sourceforge.net/">Sourceforge</ulink> to support our
For the time being (read, this section is under construction), please
refer to the extensive comments in the source code.
</para>
+ </sect2>
</sect1>
<!-- ~~~~~ New section ~~~~~ -->
Look at any of the existing docs for examples of all these and more.
</para>
+<para>
+ You might also find <quote><ulink
+ url="http://www.bureau-cornavin.com/opensource/crash-course/">Writing Documentation
+ Using DocBook - A Crash Course</ulink></quote> useful.
+</para>
</sect2>
<!-- ~~~~~ New section ~~~~~ -->
<para><emphasis>Example for file comments:</emphasis></para>
<programlisting>
-const char FILENAME_rcs[] = "$Id: developer-manual.sgml,v 1.33 2002/04/12 03:49:53 hal9 Exp $";
+const char FILENAME_rcs[] = "$Id: developer-manual.sgml,v 1.44 2002/05/15 03:55:17 hal9 Exp $";
/*********************************************************************
*
* File : $S<!-- Break CVS Substitution -->ource$
<programlisting>
#ifndef _FILENAME_H
#define _FILENAME_H
-#define FILENAME_H_VERSION "$Id: developer-manual.sgml,v 1.33 2002/04/12 03:49:53 hal9 Exp $"
+#define FILENAME_H_VERSION "$Id: developer-manual.sgml,v 1.44 2002/05/15 03:55:17 hal9 Exp $"
/*********************************************************************
*
* File : $S<!-- Break CVS Substitution -->ource$
<filename>gmake</filename> (GNU's version of make), autoconf, cvs.
</para>
+ <sect2 id="versionnumbers">
+ <title>Version numbers</title>
+
<para>
- In the following text, replace X, Y and Z with the actual version number
- (X = major, Y = minor, Z = point):
+ First you need to determine which version number the release will have.
+ <application>Privoxy</application> version numbers consist of three numbers,
+ separated by dots, like in X.Y.Z, where:
+ <itemizedlist>
+ <listitem>
+ <para>
+ X, the version major, is rarely ever changed. It is increased by one if
+ turning a development branch into stable substantially changes the functionality,
+ user interface or configuration syntax. Majors 1 and 2 were
+ <application>Junkbuster</application>, and 3 will be the first stable
+ <application>Privoxy</application> release.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Y, the version minor, represents the branch within the major version.
+ At any point in time, there are two branches being maintained:
+ The stable branch, with an even minor, say, 2N, in which no functionality is
+ being added and only bugfixes are made, and 2N+1, the development branch, in
+ which the further development of <application>Privoxy</application> takes
+ place.
+ This enables us to turn the code upside down and inside out, while at the same time
+ providing and maintaining a stable version.
+ The minor is reset to zero (and one) when the major is inrcemented. When a development
+ branch has matured to the point where it can be turned into stable, the old stable branch
+ 2N is given up (i.e. no longer maintained), the former development branch 2N+1 becomes the
+ new stable branch 2N+2, and a new development branch 2N+3 is opened.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Z, the point or sub version, represents a release of the software within a branch.
+ It is therefore incremented immediately before each code freeze.
+ In development branches, only the even point versions correspond to actual releases,
+ while the odd ones denote the evolving state of the sources on CVS in between.
+ It follows that Z is odd on CVS in development branches most of the time. There, it gets
+ increased to an even number immediately before a code freeze, and is increased to an odd
+ number again immediately thereafter.
+ This ensures that builds from CVS snapshots are easily distinguished from released versions.
+ The point version is reset to zero when the minor changes.
+ </para>
+ </listitem>
+ </itemizedlist>
</para>
+
+ </sect2>
<sect2 id="beforerelease">
- <title>Before the Release</title>
+ <title>Before the Release: Freeze</title>
<para>
The following <emphasis>must be done by one of the
developers</emphasis> prior to each new release.
<para>
Make sure that everybody who has worked on the code in the last
couple of days has had a chance to yell <quote>no!</quote> in case
- they have pending changes/fixes in their pipelines.
+ they have pending changes/fixes in their pipelines. Announce the
+ freeze so that nobody will interfere with last minute changes.
</para>
</listitem>
<listitem>
<para>
- Increment the version number and increase or reset the RPM release number
- in <filename>configure.in</filename> as appropriate.
+ Increment the version number (point from odd to even in development
+ branches!) in <filename>configure.in</filename>.
</para>
</listitem>
<listitem>
<para>
- If the default <filename>actionsfile</filename> has changed since last
- release, bump up its version info in this line:
+ If <filename>default.action</filename> has changed since last
+ release (i.e. software release or standalone actions file release),
+ bump up its version info to A.B in this line:
</para>
<para>
<programlisting>
{+add-header{X-Actions-File-Version: A.B} -filter -no-popups}
- </programlisting>
+</programlisting>
</para>
<para>
Then change the version info in doc/webserver/actions/index.php,
<listitem>
<para>
If the HTML documentation is not in sync with the SGML sources
- you need to regenerate it. (If in doubt, just do it.) See the
- Section "Updating the webserver" in this manual for details.
+ you need to regenerate and upload it to the webserver. (If in
+ doubt, just do it.) See the Section "Updating the webserver" in
+ this manual for details.
</para>
</listitem>
<listitem>
<para>
<emphasis>Commit all files that were changed in the above steps!</emphasis>
</para>
- </listitem>
+ </listitem>
<listitem>
<para>
Tag all files in CVS with the version number with
Don't use vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) etc.
</para>
</listitem>
+ <listitem>
+ <para>
+ If the release was in a development branch, increase the point version
+ from even to odd (X.Y.(Z+1)) again in <filename>configure.in</filename> and
+ commit your change.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ On the webserver, copy the user manual to a new top-level directory
+ called <filename>X.Y.Z</filename>. This ensures that help links from the CGI
+ pages, which have the version as a prefix, will go into the right version of the manual.
+ If this is a development branch release, also symlink <filename>X.Y.(Z-1)</filename>
+ to <filename>X.Y.Z</filename> and <filename>X.Y.(Z+1)</filename> to
+ <filename>.</filename> (i.e. dot).
+ </para>
+ </listitem>
</itemizedlist>
</para>
</sect2>
cd dist
cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
- </programlisting>
+</programlisting>
</para>
<para>
<para>
Please find additional instructions for the source tarball and the
- individual platform dependent binary packages below.
+ individual platform dependent binary packages below. And details
+ on the Sourceforge release process below that.
</para>
+ <sect3 id="pack-guidelines">
+ <title>Note on Privoxy Packaging</title>
+ <para>
+ Please keep these general guidelines in mind when putting together
+ your package. These apply to <emphasis>all</emphasis> platforms!
+ </para>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <application>Privoxy</application> <emphasis>requires</emphasis>
+ write access to: all <filename>*.action</filename> files, all
+ logfiles, and the <filename>trust</filename> file. You will
+ need to determine the best way to do this for your platform.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Please include up to date documentation. At a bare minimum:
+ </para>
+ <simplelist>
+ <member>
+ <filename>LICENSE</filename> (toplevel directory)
+ </member>
+ </simplelist>
+ <simplelist>
+ <member>
+ <filename>README</filename> (toplevel directory)
+ </member>
+ </simplelist>
+ <simplelist>
+ <member>
+ <filename>AUTHORS</filename> (toplevel directory)
+ </member>
+ </simplelist>
+ <simplelist>
+ <member>
+ <filename>man page</filename> (toplevel directory, Unix-like
+ platforms only)
+ </member>
+ </simplelist>
+ <simplelist>
+ <member>
+ <filename>The User Manual</filename> (doc/webserver/user-manual/)
+ </member>
+ </simplelist>
+ <simplelist>
+ <member>
+ <filename>FAQ</filename> (doc/webserver/faq/)
+ </member>
+ </simplelist>
+ <para>
+ Also suggested: <filename>Developer Manual</filename>
+ (doc/webserver/devel-manual) and <filename>ChangeLog</filename>
+ (toplevel directory). <filename>FAQ</filename> and the manuals are
+ HTML docs. There are also text versions in
+ <filename>doc/text/</filename> which could conceivably also be
+ included.
+ </para>
+ <para>
+ The documentation has been designed such that the manuals are linked
+ to each other from parallel directories, and should be packaged
+ that way. <filename>index.html</filename> can also be included and
+ can serve as a focal point for docs and other links of interest.
+ This should be one level up from the manuals. There are two
+ css stylesheets that can be included for better presentation:
+ <filename>p_doc.css</filename> and <filename>p_web.css</filename>.
+ These should be in the same directory with
+ <filename>index.html</filename>, (i.e. one level up from the manual
+ directories).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>user.action</filename> is designed for local preferences.
+ Make sure this does not get overwritten!
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Other configuration files should be installed as the new defaults,
+ but all previously installed configuration files should be preserved
+ as backups. This is just good manners :-)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Please check platform specific notes in this doc, if you haven't
+ done <quote>Privoxy</quote> packaging before for other platform
+ specific issues. Conversely, please add any notes that you know
+ are important for your platform (or contact one of the doc
+ maintainers to do this if you can't).
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+
+ </sect3>
+
<sect3 id="newrelease-tarball"><title>Source Tarball</title>
<para>
First, <emphasis>make sure that you have freshly exported the right
<programlisting>
cd current
autoheader && autoconf && ./configure
- </programlisting>
+</programlisting>
</para>
<para>
Then do:
<para>
<programlisting>
make tarball-dist
- </programlisting>
+</programlisting>
</para>
<para>
To upload the package to Sourceforge, simply issue
<para>
<programlisting>
make tarball-upload
- </programlisting>
+</programlisting>
</para>
<para>
Go to the displayed URL and release the file publicly on Sourceforge.
</para>
</sect3>
- <sect3 id="newrelease-rpm"><title>SuSE or Red Hat</title>
+ <sect3 id="newrelease-rpm"><title>SuSE, Conectiva or Red Hat RPM</title>
+ <para>
+ In following text, replace <replaceable class="parameter">dist</replaceable>
+ with either <quote>rh</quote> for Red Hat or <quote>suse</quote> for SuSE.
+ </para>
<para>
First, <emphasis>make sure that you have freshly exported the right
version into an empty directory</emphasis>. (See "Building and releasing
- packages" above). Then run:
+ packages" above).
+ </para>
+ <para>
+ As the only exception to not changing anything after export from CVS,
+ now examine the file <filename>privoxy-</filename><replaceable class="parameter">dist</replaceable><filename>.spec</filename>
+ and make sure that the version information and the RPM release number are
+ correct. The RPM release numbers for each version start at one. Hence it must
+ be reset to one if this is the first RPM for
+ <replaceable class="parameter">dist</replaceable> which is built from version
+ X.Y.Z. Check the
+ <ulink url="http://sourceforge.net/project/showfiles.php?group_id=11118">file
+ list</ulink> if unsure. Else, it must be set to the highest already available RPM
+ release number for that version plus one.
+ </para>
+ <para>
+ Then run:
</para>
<para>
<programlisting>
cd current
autoheader && autoconf && ./configure
- </programlisting>
+</programlisting>
</para>
<para>
Then do
</para>
<para>
<programlisting>
- make suse-dist (or make redhat-dist)
- </programlisting>
+ make <replaceable class="parameter">dist</replaceable>-dist
+</programlisting>
</para>
<para>
To upload the package to Sourceforge, simply issue
</para>
<para>
<programlisting>
- make suse-upload (or make redhat-upload)
- </programlisting>
+ make <replaceable class="parameter">dist</replaceable>-upload <replaceable class="parameter">rpm_packagerev</replaceable>
+</programlisting>
</para>
<para>
+ where <replaceable class="parameter">rpm_packagerev</replaceable> is the
+ RPM release number as determined above.
Go to the displayed URL and release the file publicly on Sourceforge.
- Use the release notes and รงhange log from the source tarball package.
+ Use the release notes and change log from the source tarball package.
</para>
</sect3>
<para>
<programlisting>
cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co os2setup
- </programlisting>
+</programlisting>
</para>
<para>
You will need a mix of development tools.
<para>
<programlisting>
installExeName='privoxyos2_setup_X.Y.Z.exe'
- </programlisting>
+</programlisting>
</para>
<para>
Next, edit the <filename>IJB.wis</filename> file so the release number matches
<para>
<programlisting>
PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"
- </programlisting>
+</programlisting>
</para>
<para>
You're now ready to build. Run:
<para>
<programlisting>
os2build
- </programlisting>
+</programlisting>
</para>
<para>
You will find the WarpIN-installable executable in the
<para>
<programlisting>
ssh cf.sourceforge.net
- </programlisting>
+</programlisting>
</para>
<para>
Choose the right operating system (not the Debian one).
<programlisting>
cd current
autoheader && autoconf && ./configure
- </programlisting>
+</programlisting>
</para>
<para>
Then run
<para>
<programlisting>
gmake solaris-dist
- </programlisting>
+</programlisting>
</para>
<para>
which creates a gzip'ed tar archive. Sadly, you cannot use <command>make
<para>
<programlisting>
cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co winsetup
- </programlisting>
+</programlisting>
</para>
<para>
Then you can build the package. This is fully automated, and is
<programlisting>
cd winsetup
make
- </programlisting>
+</programlisting>
</para>
<para>
Now you can manually rename <filename>privoxy_setup.exe</filename> to
<programlisting>
cd current
autoheader && autoconf && ./configure
- </programlisting>
+</programlisting>
</para>
<para>
Then do FIXME.
<para>
<programlisting>
cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co osxsetup
- </programlisting>
+</programlisting>
</para>
<para>
Then run:
<programlisting>
cd osxsetup
build
- </programlisting>
+</programlisting>
</para>
<para>
This will run <filename>autoheader</filename>, <filename>autoconf</filename> and
<para>
<programlisting>
zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg
- </programlisting>
+</programlisting>
</para>
<para>
You can then upload <filename>privoxyosx_setup_x.y.z.zip</filename> anonymously to
<para>
<programlisting>
ssh cf.sourceforge.net
- </programlisting>
+</programlisting>
</para>
<para>
Choose the right operating system.
<programlisting>
cd current
autoheader && autoconf && ./configure
- </programlisting>
+</programlisting>
</para>
<para>
Then run:
<para>
<programlisting>
gmake freebsd-dist
- </programlisting>
+</programlisting>
</para>
<para>
which creates a gzip'ed tar archive. Sadly, you cannot use <command>make
<programlisting>
cd current
autoheader && autoconf && ./configure
- </programlisting>
+</programlisting>
</para>
<para>
Then do FIXME.
<programlisting>
cd current
autoheader && autoconf && ./configure
- </programlisting>
+</programlisting>
</para>
<para>
Then do FIXME.
<para>
<programlisting>
ssh cf.sourceforge.net
- </programlisting>
+</programlisting>
</para>
<para>
Choose the right operating system.
<programlisting>
cd current
autoheader && autoconf && ./configure
- </programlisting>
+</programlisting>
</para>
<para>
Then run:
<para>
<programlisting>
make aix-dist
- </programlisting>
+</programlisting>
</para>
<para>
which creates a gzip'ed tar archive. Sadly, you cannot use <command>make
</sect3>
</sect2>
+ <sect2 id="releasing">
+ <title>Uploading and Releasing Your Package</title>
+ <para>
+ After the package is ready, it is time to upload it
+ to SourceForge, and go through the release steps. The upload
+ is done via FTP:
+ </para>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Upload to: <ulink url="ftp://upload.sourceforge.net/incoming">ftp://upload.sourceforge.net/incoming</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ user: <literal>anonymous</literal>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ password: <literal>ijbswa-developers@lists.sourceforge.net</literal>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Or use the <command>make</command> targets as described above.
+ </para>
+ <para>
+ Once this done go to <ulink url="http://sourceforge.net/project/admin/editpackages.php?group_id=11118">http://sourceforge.net/project/admin/editpackages.php?group_id=11118</ulink>,
+ making sure you are logged in. Find your target platform in the
+ second column, and click <literal>Add Release</literal>. You will
+ then need to create a new release for your package, using the format
+ of <literal>$VERSION ($CODE_STATUS)</literal>, e.g. <emphasis>&p-version;
+ (beta)</emphasis>.
+ </para>
+ <para>
+ Now just follow the prompts. Be sure to add any appropriate Release
+ notes. You should see your freshly uploaded packages in
+ <quote>Step 2. Add Files To This Release</quote>. Check the
+ appropriate box(es). Remember at each step to hit the
+ <quote>Refresh/Submit</quote> buttons! You should now see your
+ file(s) listed in Step 3. Fill out the forms with the appropriate
+ information for your platform, being sure to hit <quote>Update</quote>
+ for each file. If anyone is monitoring your platform, check the
+ <quote>email</quote> box at the very bottom to notify them of
+ the new package. This should do it!
+ </para>
+ <para>
+ If you have made errors, or need to make changes, you can go through
+ essentially the same steps, but select <literal>Edit Release</literal>,
+ instead of <literal>Add Release</literal>.
+ </para>
+ </sect2>
+
<sect2 id="afterrelease">
<title>After the Release</title>
<para>
<para>
<programlisting>
make dok # (or make redkat-dok if make dok doesn't work for you)
- </programlisting>
+</programlisting>
</para>
<para>
That will generate <filename>doc/webserver/user-manual</filename>,
<para>
<programlisting>
make webserver
- </programlisting>
+</programlisting>
</para>
<para>
This will do the upload to <ulink url="http://www.privoxy.org/">the
<!-- end contacting -->
</sect1>
- <!-- ~~~~~ New section ~~~~~ -->
- <sect1 id="copyright"><title>Copyright and History</title>
-<sect2><title>Copyright</title>
+<!-- ~~~~~~~~ New section Header ~~~~~~~~~ -->
+<sect1 id="copyright"><title>Privoxy Copyright, License and History</title>
+
<!-- Include copyright.sgml -->
©right;
<!-- end -->
+
+<!-- ~~~~~ New section ~~~~~ -->
+<sect2><title>License</title>
+<!-- Include copyright.sgml: -->
+ &license;
+<!-- end copyright -->
</sect2>
+<!-- ~ End section ~ -->
+<!-- ~~~~~ New section ~~~~~ -->
<sect2><title>History</title>
<!-- Include history.sgml -->
&history;
<!-- end -->
</sect2>
- </sect1>
+</sect1>
<!-- ~~~~~ New section ~~~~~ -->
<sect1 id="seealso"><title>See also</title>
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
$Log: developer-manual.sgml,v $
+ Revision 1.44 2002/05/15 03:55:17 hal9
+ Fix ulink -> link, and minor modification to release process section for
+ clarification.
+
+ Revision 1.43 2002/05/10 01:48:19 hal9
+ This is mostly proposed copyright/licensing additions and changes. Docs
+ are still GPL, but licensing and copyright are more visible. Also, copyright
+ changed in doc header comments (eliminate references to JB except FAQ).
+
+ Revision 1.42 2002/05/05 20:26:02 hal9
+ Sorting out license vs copyright in these docs.
+
+ Revision 1.41 2002/05/04 08:44:44 swa
+ bumped version
+
+ Revision 1.40 2002/05/04 00:43:43 hal9
+ -Remove TOC/first page kludge with proper stylesheet fix.
+ -Combined the two very brief sections: Intro and Quickstart.
+
+ Revision 1.39 2002/05/02 15:08:25 oes
+ Added explanation about version numbers and RPM package revisions
+
+ Revision 1.38 2002/04/29 02:20:31 hal9
+ Add info on steps for uploading and the release process on SF.
+
+ Revision 1.37 2002/04/26 17:23:29 swa
+ bookmarks cleaned, changed structure of user manual, screen and programlisting cleanups, and numerous other changes that I forgot
+
+ Revision 1.36 2002/04/26 05:25:23 hal9
+ Mass commit to catch a few scattered fixes.
+
+ Revision 1.35 2002/04/17 15:16:15 oes
+ Added link to docbook crash course
+
+ Revision 1.34 2002/04/15 23:39:32 oes
+ - Extended & fixed the release section
+ - Added CVS guideline sections
+ - Separated webserver section from release section
+ - Commented out boilerplate inclusion (If you don't know yet what it is,
+ you shouldn't mess with its code ;-)
+ - Nits & fixes
+
Revision 1.33 2002/04/12 03:49:53 hal9
Spell checked. Clarification on where docs are kept.