- cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
-</pre>
- </td>
- </tr>
- </table>
-
- <p><span class="emphasis"><i class="EMPHASIS">Do NOT change</i></span>
- a single bit, including, but not limited to version information after
- export from CVS. This is to make sure that all release packages, and
- with them, all future bug reports, are based on exactly the same
- code.</p>
-
- <div class="WARNING">
- <table class="WARNING" border="1" width="100%">
- <tr>
- <td align="center"><b>Warning</b></td>
- </tr>
-
- <tr>
- <td align="left">
- <p>Every significant release of Privoxy has included at least
- one package that either had incorrect versions of files,
- missing files, or incidental leftovers from a previous build
- process that gave unknown numbers of users headaches to try to
- figure out what was wrong. PLEASE, make sure you are using
- pristene sources, and are following the prescribed process!</p>
- </td>
- </tr>
- </table>
- </div>
-
- <p>Please find additional instructions for the source tarball and the
- individual platform dependent binary packages below. And details on the
- Sourceforge release process below that.</p>
-
- <div class="SECT3">
- <h3 class="SECT3"><a name="PACK-GUIDELINES" id=
- "PACK-GUIDELINES">6.3.1. Note on Privoxy Packaging</a></h3>
-
- <p>Please keep these general guidelines in mind when putting together
- your package. These apply to <span class="emphasis"><i class=
- "EMPHASIS">all</i></span> platforms!</p>
-
- <ul>
- <li>
- <p><span class="APPLICATION">Privoxy</span> <span class=
- "emphasis"><i class="EMPHASIS">requires</i></span> write access
- to: all <tt class="FILENAME">*.action</tt> files, all logfiles,
- and the <tt class="FILENAME">trust</tt> file. You will need to
- determine the best way to do this for your platform.</p>
- </li>
-
- <li>
- <p>Please include up to date documentation. At a bare
- minimum:</p>
-
- <table border="0">
- <tbody>
- <tr>
- <td><tt class="FILENAME">LICENSE</tt> (top-level
- directory)</td>
- </tr>
- </tbody>
- </table>
-
- <table border="0">
- <tbody>
- <tr>
- <td><tt class="FILENAME">README</tt> (top-level
- directory)</td>
- </tr>
- </tbody>
- </table>
-
- <table border="0">
- <tbody>
- <tr>
- <td><tt class="FILENAME">AUTHORS</tt> (top-level
- directory)</td>
- </tr>
- </tbody>
- </table>
-
- <table border="0">
- <tbody>
- <tr>
- <td><tt class="FILENAME">man page</tt> (top-level
- directory, Unix-like platforms only)</td>
- </tr>
- </tbody>
- </table>
-
- <table border="0">
- <tbody>
- <tr>
- <td><tt class="FILENAME">The User Manual</tt>
- (doc/webserver/user-manual/)</td>
- </tr>
- </tbody>
- </table>
-
- <table border="0">
- <tbody>
- <tr>
- <td><tt class="FILENAME">FAQ</tt> (doc/webserver/faq/)</td>
- </tr>
- </tbody>
- </table>
-
- <p>Also suggested: <tt class="FILENAME">Developer Manual</tt>
- (doc/webserver/developer-manual) and <tt class=
- "FILENAME">ChangeLog</tt> (top-level directory). <tt class=
- "FILENAME">FAQ</tt> and the manuals are HTML docs. There are also
- text versions in <tt class="FILENAME">doc/text/</tt> which could
- conceivably also be included.</p>
-
- <p>The documentation has been designed such that the manuals are
- linked to each other from parallel directories, and should be
- packaged that way. <tt class="FILENAME">privoxy-index.html</tt>
- can also be included and can serve as a focal point for docs and
- other links of interest (and possibly renamed to <tt class=
- "FILENAME">index.html</tt>). This should be one level up from the
- manuals. There is a link also on this page to an HTMLized version
- of the man page. To avoid 404 for this, it is in CVS as
- <tt class="FILENAME">doc/webserver/man-page/privoxy-man-page.html</tt>,
- and should be included along with the manuals. There is also a
- css stylesheets that can be included for better presentation:
- <tt class="FILENAME">p_doc.css</tt>. This should be in the same
- directory with <tt class="FILENAME">privoxy-index.html</tt>,
- (i.e. one level up from the manual directories).</p>
- </li>
-
- <li>
- <p><tt class="FILENAME">user.action</tt> and <tt class=
- "FILENAME">user.filter</tt> are designed for local preferences.
- Make sure these do not get overwritten! <tt class=
- "FILENAME">config</tt> should not be overwritten either. This has
- especially important configuration data in it. <tt class=
- "FILENAME">trust</tt> should be left in tact as well.</p>
- </li>
-
- <li>
- <p>Other configuration files (<tt class=
- "FILENAME">default.action</tt> and <tt class=
- "FILENAME">default.filter</tt>) should be installed as the new
- defaults, but all previously installed configuration files should
- be preserved as backups. This is just good manners :-) These
- files are likely to change between releases and contain important
- new features and bug fixes.</p>
- </li>
-
- <li>
- <p>Please check platform specific notes in this doc, if you
- haven't done <span class="QUOTE">"Privoxy"</span> 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).</p>
- </li>
-
- <li>
- <p>Packagers should do a <span class="QUOTE">"clean"</span>
- install of their package after building it. So any previous
- installs should be removed first to ensure the integrity of the
- newly built package. Then run the package for a while to make
- sure there are no obvious problems, before uploading.</p>
- </li>
- </ul>
- </div>
-
- <div class="SECT3">
- <h3 class="SECT3"><a name="NEWRELEASE-TARBALL" id=
- "NEWRELEASE-TARBALL">6.3.2. Source Tarball</a></h3>
-
- <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
- you have freshly exported the right version into an empty
- directory</i></span>. (See "Building and releasing packages" above).
- Then run:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- cd current
- autoheader && autoconf && ./configure
-</pre>
- </td>
- </tr>
- </table>
-
- <p>Then do:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- make tarball-dist
-</pre>
- </td>
- </tr>
- </table>
-
- <p>To upload the package to Sourceforge, simply issue</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- make tarball-upload
-</pre>
- </td>
- </tr>
- </table>
-
- <p>Go to the displayed URL and release the file publicly on
- Sourceforge. For the change log field, use the relevant section of
- the <tt class="FILENAME">ChangeLog</tt> file.</p>
- </div>
-
- <div class="SECT3">
- <h3 class="SECT3"><a name="NEWRELEASE-RPM" id="NEWRELEASE-RPM">6.3.3.
- SuSE, Conectiva or Red Hat RPM</a></h3>
-
- <p>In following text, replace <tt class=
- "REPLACEABLE"><i>dist</i></tt> with either <span class=
- "QUOTE">"rh"</span> for Red Hat or <span class="QUOTE">"suse"</span>
- for SuSE.</p>
-
- <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
- you have freshly exported the right version into an empty
- directory</i></span>. (See "Building and releasing packages"
- above).</p>
-
- <p>As the only exception to not changing anything after export from
- CVS, now examine the file <tt class=
- "FILENAME">privoxy-</tt><tt class="REPLACEABLE"><i>dist</i></tt><tt class="FILENAME">.spec</tt>
- 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 <tt class=
- "REPLACEABLE"><i>dist</i></tt> which is built from version X.Y.Z.
- Check the <a href=
- "https://sourceforge.net/project/showfiles.php?group_id=11118"
- target="_top">file list</a> if unsure. Else, it must be set to the
- highest already available RPM release number for that version plus
- one.</p>
-
- <p>Then run:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- cd current
- autoheader && autoconf && ./configure
-</pre>
- </td>
- </tr>
- </table>
-
- <p>Then do</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- make <tt class="REPLACEABLE"><i>dist</i></tt>-dist
-</pre>
- </td>
- </tr>
- </table>
-
- <p>To upload the package to Sourceforge, simply issue</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- make <tt class="REPLACEABLE"><i>dist</i></tt>-upload <tt class=
-"REPLACEABLE"><i>rpm_packagerev</i></tt>
-</pre>
- </td>
- </tr>
- </table>
-
- <p>where <tt class="REPLACEABLE"><i>rpm_packagerev</i></tt> 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
- change log from the source tarball package.</p>
- </div>
-
- <div class="SECT3">
- <h3 class="SECT3"><a name="NEWRELEASE-OS2" id="NEWRELEASE-OS2">6.3.4.
- OS/2</a></h3>
-
- <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
- you have freshly exported the right version into an empty
- directory</i></span>. (See "Building and releasing packages" above).
- Then get the OS/2 Setup module:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co os2setup
-</pre>
- </td>
- </tr>
- </table>
-
- <p>You will need a mix of development tools. The main compilation
- takes place with IBM Visual Age C++. Some ancillary work takes place
- with GNU tools, available from various sources like hobbes.nmsu.edu.
- Specificially, you will need <tt class="FILENAME">autoheader</tt>,
- <tt class="FILENAME">autoconf</tt> and <tt class="FILENAME">sh</tt>
- tools. The packaging takes place with WarpIN, available from various
- sources, including its home page: <a href=
- "http://www.xworkplace.org/" target="_top">xworkplace</a>.</p>
-
- <p>Change directory to the <tt class="FILENAME">os2setup</tt>
- directory. Edit the os2build.cmd file to set the final executable
- filename. For example,</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- installExeName='privoxyos2_setup_X.Y.Z.exe'
-</pre>
- </td>
- </tr>
- </table>
-
- <p>Next, edit the <tt class="FILENAME">IJB.wis</tt> file so the
- release number matches in the <tt class="FILENAME">PACKAGEID</tt>
- section:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"
-</pre>
- </td>
- </tr>
- </table>
-
- <p>You're now ready to build. Run:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- os2build
-</pre>
- </td>
- </tr>
- </table>
-
- <p>You will find the WarpIN-installable executable in the <tt class=
- "FILENAME">./files</tt> directory. Upload this anonymously to
- <tt class="FILENAME">uploads.sourceforge.net/incoming</tt>, create a
- release for it, and you're done. Use the release notes and Change Log
- from the source tarball package.</p>
- </div>
-
- <div class="SECT3">
- <h3 class="SECT3"><a name="NEWRELEASE-SOLARIS" id=
- "NEWRELEASE-SOLARIS">6.3.5. Solaris</a></h3>
-
- <p>Login to Sourceforge's compilefarm via ssh:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- ssh cf.sourceforge.net
-</pre>
- </td>
- </tr>
- </table>
-
- <p>Choose the right operating system (not the Debian one). When
- logged in, <span class="emphasis"><i class="EMPHASIS">make sure that
- you have freshly exported the right version into an empty
- directory</i></span>. (See "Building and releasing packages" above).
- Then run:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- cd current
- autoheader && autoconf && ./configure
-</pre>
- </td>
- </tr>
- </table>
-
- <p>Then run</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- gmake solaris-dist
-</pre>
- </td>
- </tr>
- </table>
-
- <p>which creates a gzip'ed tar archive. Sadly, you cannot use
- <b class="COMMAND">make solaris-upload</b> on the Sourceforge machine
- (no ncftpput). You now have to manually upload the archive to
- Sourceforge's ftp server and release the file publicly. Use the
- release notes and Change Log from the source tarball package.</p>
- </div>
-
- <div class="SECT3">
- <h3 class="SECT3"><a name="NEWRELEASE-WINDOWS" id=
- "NEWRELEASE-WINDOWS">6.3.6. Windows</a></h3>
-
- <p>Use the <a href=
- "http://www.fruitbat.org/Cygwin/index.html#cygwincirca" target=
- "_top">Cygwin Time Machine</a> to install the last 1.5 version of
- Cygwin. Run the following commands from within the Cygwin 1.5 bash
- shell.</p>
-
- <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
- you have freshly exported the right version into an empty
- directory</i></span>. (See "Building and releasing packages" above).
- Then get the Windows setup module:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co winsetup
-</pre>
- </td>
- </tr>
- </table>
-
- <p>Then you can build the package. This is fully automated, and is
- controlled by <tt class="FILENAME">winsetup/GNUmakefile</tt>. All you
- need to do is:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- cd winsetup
- make
-</pre>
- </td>
- </tr>
- </table>
-
- <p>Now you can manually rename <tt class=
- "FILENAME">privoxy_setup.exe</tt> to <tt class=
- "FILENAME">privoxy_setup_X_Y_Z.exe</tt>, and upload it to
- SourceForge. When releasing the package on SourceForge, use the
- release notes and Change Log from the source tarball package.</p>
- </div>
-
- <div class="SECT3">
- <h3 class="SECT3"><a name="NEWRELEASE-DEBIAN" id=
- "NEWRELEASE-DEBIAN">6.3.7. Debian</a></h3>
-
- <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
- you have freshly exported the right version into an empty
- directory</i></span>. (See "Building and releasing packages" above).
- Then add a log entry to <tt class="FILENAME">debian/changelog</tt>,
- if it is not already there, for example by running:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- debchange -v 3.0.26-stable-1 "New upstream version"
-</pre>
- </td>
- </tr>
- </table>
-
- <p>Then, run:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- dpkg-buildpackage -rfakeroot -us -uc -b
-</pre>
- </td>
- </tr>
- </table>
-
- <p>This will create <tt class=
- "FILENAME">../privoxy_3.0.26-stable-1_i386.deb</tt> which can be
- uploaded. To upload the package to Sourceforge, simply issue</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- make debian-upload
-</pre>
- </td>
- </tr>
- </table>
- </div>
-
- <div class="SECT3">
- <h3 class="SECT3"><a name="NEWRELEASE-MACOSX" id=
- "NEWRELEASE-MACOSX">6.3.8. Mac OS X</a></h3>
-
- <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that
- you have freshly exported the right version into an empty
- directory</i></span>. (See "Building and releasing packages"
- above).</p>
-
- <p>There are three modules available in the CVS repository for use on
- Mac OS X, though technically only two of them generate a release (the
- other can be used to install from source).</p>
-
- <div class="SECT4">
- <h4 class="SECT4"><a name="OS-X-OSXPACKAGEBUILDER-MODULE" id=
- "OS-X-OSXPACKAGEBUILDER-MODULE">6.3.8.1. OSXPackageBuilder
- module</a></h4>
-
- <p>The OSXPackageBuilder module generates OS X installer packages
- supporting all Macs running OS X 10.4 and above. Obtain it from CVS
- as follows into a folder parallel to the exported privoxy
- source:</p>
-
- <table border="0" bgcolor="#E0E0E0" width="100%">
- <tr>
- <td>
- <pre class="PROGRAMLISTING">
- cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co OSXPackageBuilder
-</pre>
- </td>
- </tr>
- </table>
-
- <p>The module contains complete instructions on its usage in the
- file <tt class="FILENAME">OS X Package Builder HOWTO.txt</tt>.</p>
-
- <p>Once the package(s) have been generated, you can then upload
- them directly to the Files section of the Sourceforge project in
- the Macintosh (OS X) folder. Each new version release of Privoxy
- should have a new subfolder created in which to store its files.
+ cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current</PRE
+></TD
+></TR
+></TABLE
+><P
+> <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>Do NOT change</I
+></SPAN
+> a single bit, including, but not limited to
+ version information after export from Git. This is to make sure that
+ all release packages, and with them, all future bug reports, are based
+ on exactly the same code.
+ </P
+><DIV
+CLASS="WARNING"
+><P
+></P
+><TABLE
+CLASS="WARNING"
+BORDER="1"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="CENTER"
+><B
+>Warning</B
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+><P
+> Every significant release of Privoxy has included at least one
+ package that either had incorrect versions of files, missing files,
+ or incidental leftovers from a previous build process that gave
+ unknown numbers of users headaches to try to figure out what was
+ wrong. PLEASE, make sure you are using pristene sources, and are
+ following the prescribed process!
+ </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+> Please find additional instructions for the source tarball and the
+ individual platform dependent binary packages below. And details
+ on the Sourceforge release process below that.
+ </P
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PACK-GUIDELINES"
+>6.3.1. Note on Privoxy Packaging</A
+></H3
+><P
+> Please keep these general guidelines in mind when putting together
+ your package. These apply to <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>all</I
+></SPAN
+> platforms!
+ </P
+><P
+></P
+><UL
+><LI
+><P
+> <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>requires</I
+></SPAN
+>
+ write access to: all <TT
+CLASS="FILENAME"
+>*.action</TT
+> files, all
+ logfiles, and the <TT
+CLASS="FILENAME"
+>trust</TT
+> file. You will
+ need to determine the best way to do this for your platform.
+ </P
+></LI
+><LI
+><P
+> Please include up to date documentation. At a bare minimum:
+ </P
+><P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+> <TT
+CLASS="FILENAME"
+>LICENSE</TT
+> (top-level directory)
+ </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+><P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+> <TT
+CLASS="FILENAME"
+>README</TT
+> (top-level directory)
+ </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+><P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+> <TT
+CLASS="FILENAME"
+>AUTHORS</TT
+> (top-level directory)
+ </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+><P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+> <TT
+CLASS="FILENAME"
+>man page</TT
+> (top-level directory, Unix-like
+ platforms only)
+ </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+><P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+> <TT
+CLASS="FILENAME"
+>The User Manual</TT
+> (doc/webserver/user-manual/)
+ </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+><P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+> <TT
+CLASS="FILENAME"
+>FAQ</TT
+> (doc/webserver/faq/)
+ </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+><P
+> Also suggested: <TT
+CLASS="FILENAME"
+>Developer Manual</TT
+>
+ (doc/webserver/developer-manual) and <TT
+CLASS="FILENAME"
+>ChangeLog</TT
+>
+ (top-level directory). <TT
+CLASS="FILENAME"
+>FAQ</TT
+> and the manuals are
+ HTML docs. There are also text versions in
+ <TT
+CLASS="FILENAME"
+>doc/text/</TT
+> which could conceivably also be
+ included.
+ </P
+><P
+> The documentation has been designed such that the manuals are linked
+ to each other from parallel directories, and should be packaged
+ that way. <TT
+CLASS="FILENAME"
+>privoxy-index.html</TT
+> can also be
+ included and can serve as a focal point for docs and other links of
+ interest (and possibly renamed to <TT
+CLASS="FILENAME"
+>index.html</TT
+>).
+ This should be one level up from the manuals. There is a link also
+ on this page to an HTMLized version of the man page. To avoid 404 for
+ this, it is in Git as
+ <TT
+CLASS="FILENAME"
+>doc/webserver/man-page/privoxy-man-page.html</TT
+>,
+ and should be included along with the manuals. There is also a
+ css stylesheets that can be included for better presentation:
+ <TT
+CLASS="FILENAME"
+>p_doc.css</TT
+>. This should be in the same directory
+ with <TT
+CLASS="FILENAME"
+>privoxy-index.html</TT
+>, (i.e. one level up from
+ the manual directories).
+ </P
+></LI
+><LI
+><P
+> <TT
+CLASS="FILENAME"
+>user.action</TT
+> and <TT
+CLASS="FILENAME"
+>user.filter</TT
+>
+ are designed for local preferences. Make sure these do not get overwritten!
+ <TT
+CLASS="FILENAME"
+>config</TT
+> should not be overwritten either. This
+ has especially important configuration data in it.
+ <TT
+CLASS="FILENAME"
+>trust</TT
+> should be left in tact as well.
+ </P
+></LI
+><LI
+><P
+> Other configuration files (<TT
+CLASS="FILENAME"
+>default.action</TT
+> and
+ <TT
+CLASS="FILENAME"
+>default.filter</TT
+>) should be installed as the new
+ defaults, but all previously installed configuration files should be
+ preserved as backups. This is just good manners :-) These files are
+ likely to change between releases and contain important new features
+ and bug fixes.
+ </P
+></LI
+><LI
+><P
+> Please check platform specific notes in this doc, if you haven't
+ done <SPAN
+CLASS="QUOTE"
+>"Privoxy"</SPAN
+> 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).
+ </P
+></LI
+><LI
+><P
+> Packagers should do a <SPAN
+CLASS="QUOTE"
+>"clean"</SPAN
+> install of their
+ package after building it. So any previous installs should be
+ removed first to ensure the integrity of the newly built package.
+ Then run the package for a while to make sure there are no
+ obvious problems, before uploading.
+ </P
+></LI
+></UL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="NEWRELEASE-TARBALL"
+>6.3.2. Source Tarball</A
+></H3
+><P
+> First, <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+ version into an empty directory</I
+></SPAN
+>. (See "Building and releasing
+ packages" above). Then run:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> cd current
+ autoheader && autoconf && ./configure</PRE
+></TD
+></TR
+></TABLE
+><P
+> Then do:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> make tarball-dist</PRE
+></TD
+></TR
+></TABLE
+><P
+> To upload the package to Sourceforge, simply issue
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> make tarball-upload</PRE
+></TD
+></TR
+></TABLE
+><P
+> Go to the displayed URL and release the file publicly on Sourceforge.
+ For the change log field, use the relevant section of the
+ <TT
+CLASS="FILENAME"
+>ChangeLog</TT
+> file.
+ </P
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="NEWRELEASE-RPM"
+>6.3.3. SuSE, Conectiva or Red Hat RPM</A
+></H3
+><P
+> In following text, replace <TT
+CLASS="REPLACEABLE"
+><I
+>dist</I
+></TT
+>
+ with either <SPAN
+CLASS="QUOTE"
+>"rh"</SPAN
+> for Red Hat or <SPAN
+CLASS="QUOTE"
+>"suse"</SPAN
+> for SuSE.
+ </P
+><P
+> First, <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+ version into an empty directory</I
+></SPAN
+>. (See "Building and releasing
+ packages" above).
+ </P
+><P
+> As the only exception to not changing anything after export from Git,
+ now examine the file <TT
+CLASS="FILENAME"
+>privoxy-</TT
+><TT
+CLASS="REPLACEABLE"
+><I
+>dist</I
+></TT
+><TT
+CLASS="FILENAME"
+>.spec</TT
+>
+ 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
+ <TT
+CLASS="REPLACEABLE"
+><I
+>dist</I
+></TT
+> which is built from version
+ X.Y.Z. Check the
+ <A
+HREF="https://sourceforge.net/project/showfiles.php?group_id=11118"
+TARGET="_top"
+>file
+ list</A
+> if unsure. Else, it must be set to the highest already available RPM
+ release number for that version plus one.
+ </P
+><P
+> Then run:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> cd current
+ autoheader && autoconf && ./configure</PRE
+></TD
+></TR
+></TABLE
+><P
+> Then do
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> make <TT
+CLASS="REPLACEABLE"
+><I
+>dist</I
+></TT
+>-dist</PRE
+></TD
+></TR
+></TABLE
+><P
+> To upload the package to Sourceforge, simply issue
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> make <TT
+CLASS="REPLACEABLE"
+><I
+>dist</I
+></TT
+>-upload <TT
+CLASS="REPLACEABLE"
+><I
+>rpm_packagerev</I
+></TT
+></PRE
+></TD
+></TR
+></TABLE
+><P
+> where <TT
+CLASS="REPLACEABLE"
+><I
+>rpm_packagerev</I
+></TT
+> 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 change log from the source tarball package.
+ </P
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="NEWRELEASE-OS2"
+>6.3.4. OS/2</A
+></H3
+><P
+> First, <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+ version into an empty directory</I
+></SPAN
+>. (See "Building and releasing
+ packages" above). Then get the OS/2 Setup module:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co os2setup</PRE
+></TD
+></TR
+></TABLE
+><P
+> You will need a mix of development tools.
+ The main compilation takes place with IBM Visual Age C++.
+ Some ancillary work takes place with GNU tools, available from
+ various sources like hobbes.nmsu.edu.
+ Specificially, you will need <TT
+CLASS="FILENAME"
+>autoheader</TT
+>,
+ <TT
+CLASS="FILENAME"
+>autoconf</TT
+> and <TT
+CLASS="FILENAME"
+>sh</TT
+> tools.
+ The packaging takes place with WarpIN, available from various sources, including
+ its home page: <A
+HREF="http://www.xworkplace.org/"
+TARGET="_top"
+>xworkplace</A
+>.
+ </P
+><P
+> Change directory to the <TT
+CLASS="FILENAME"
+>os2setup</TT
+> directory.
+ Edit the os2build.cmd file to set the final executable filename.
+ For example,
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> installExeName='privoxyos2_setup_X.Y.Z.exe'</PRE
+></TD
+></TR
+></TABLE
+><P
+> Next, edit the <TT
+CLASS="FILENAME"
+>IJB.wis</TT
+> file so the release number matches
+ in the <TT
+CLASS="FILENAME"
+>PACKAGEID</TT
+> section:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"</PRE
+></TD
+></TR
+></TABLE
+><P
+> You're now ready to build. Run:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> os2build</PRE
+></TD
+></TR
+></TABLE
+><P
+> You will find the WarpIN-installable executable in the
+ <TT
+CLASS="FILENAME"
+>./files</TT
+> directory. Upload this anonymously to
+ <TT
+CLASS="FILENAME"
+>uploads.sourceforge.net/incoming</TT
+>, create a release
+ for it, and you're done. Use the release notes and Change Log from the
+ source tarball package.
+ </P
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="NEWRELEASE-SOLARIS"
+>6.3.5. Solaris</A
+></H3
+><P
+> Login to Sourceforge's compilefarm via ssh:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> ssh cf.sourceforge.net</PRE
+></TD
+></TR
+></TABLE
+><P
+> Choose the right operating system (not the Debian one).
+ When logged in, <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+ version into an empty directory</I
+></SPAN
+>. (See "Building and releasing
+ packages" above). Then run:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> cd current
+ autoheader && autoconf && ./configure</PRE
+></TD
+></TR
+></TABLE
+><P
+> Then run
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> gmake solaris-dist</PRE
+></TD
+></TR
+></TABLE
+><P
+> which creates a gzip'ed tar archive. Sadly, you cannot use <B
+CLASS="COMMAND"
+>make
+ solaris-upload</B
+> on the Sourceforge machine (no ncftpput). You now have
+ to manually upload the archive to Sourceforge's ftp server and release
+ the file publicly. Use the release notes and Change Log from the
+ source tarball package.
+ </P
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="NEWRELEASE-WINDOWS"
+>6.3.6. Windows</A
+></H3
+><P
+> Note that the docbook generated files might need some hand editing,
+ so the Windows build makefile does not rebuild the docs.
+ </P
+><P
+> First, <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+ version into an empty directory</I
+></SPAN
+>. (See "Building and releasing
+ packages" above).
+
+ </P
+><P
+> Then you can build the package. This is fully automated, and is
+ controlled by <TT
+CLASS="FILENAME"
+>windows/GNUmakefile</TT
+>.
+ All you need to do is:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> cd windows
+ make</PRE
+></TD
+></TR
+></TABLE
+><P
+> Now you can manually rename <TT
+CLASS="FILENAME"
+>privoxy_setup.exe</TT
+> to
+ <TT
+CLASS="FILENAME"
+>privoxy_setup_X.Y.Z.exe</TT
+>, and the <TT
+CLASS="FILENAME"
+>build</TT
+>
+ directory to <TT
+CLASS="FILENAME"
+>privoxy_X.Y.Z</TT
+>.
+ Create a .zip file of the newly renamed <TT
+CLASS="FILENAME"
+>privoxy_X.Y.Z</TT
+> directory,
+ GPG sign the installer and zip file,
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> $ gpg --armor --detach --sign <TT
+CLASS="FILENAME"
+>privoxy_setup_X.Y.Z.exe</TT
+>
+ $ gpg --armor --detach --sign <TT
+CLASS="FILENAME"
+>privoxy_X.Y.Z.zip</TT
+></PRE
+></TD
+></TR
+></TABLE
+><P
+> and upload the files to SourceForge.
+ </P
+><P
+> When releasing the package on SourceForge, use the release notes
+ and Change Log from the source tarball package.
+ </P
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="NEWRELEASE-DEBIAN"
+>6.3.7. Debian</A
+></H3
+><P
+> First, <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the
+ right version into an empty directory</I
+></SPAN
+>. (See
+ "Building and releasing packages" above). Then add a log
+ entry to <TT
+CLASS="FILENAME"
+>debian/changelog</TT
+>, if it is not
+ already there, for example by running:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> debchange -v 3.0.27-UNRELEASED-1 "New upstream version"</PRE
+></TD
+></TR
+></TABLE
+><P
+> Then, run:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> dpkg-buildpackage -rfakeroot -us -uc -b</PRE
+></TD
+></TR
+></TABLE
+><P
+> This will create
+ <TT
+CLASS="FILENAME"
+>../privoxy_3.0.27-UNRELEASED-1_i386.deb</TT
+>
+ which can be uploaded. To upload the package to Sourceforge, simply
+ issue
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> make debian-upload</PRE
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="NEWRELEASE-MACOSX"
+>6.3.8. Mac OS X</A
+></H3
+><P
+> First, <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+ version into an empty directory</I
+></SPAN
+>. (See "Building and releasing
+ packages" above).
+ </P
+><P
+> There are three modules available in the Git repository for use on Mac
+ OS X, though technically only two of them generate a release (the other
+ can be used to install from source).
+ </P
+><DIV
+CLASS="SECT4"
+><H4
+CLASS="SECT4"
+><A
+NAME="OS-X-OSXPACKAGEBUILDER-MODULE"
+>6.3.8.1. OSXPackageBuilder module</A
+></H4
+><P
+> The OSXPackageBuilder module generates OS X installer packages
+ supporting all Macs running OS X 10.4 and above. Obtain it from Git as
+ follows into a folder parallel to the exported privoxy source:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co OSXPackageBuilder</PRE
+></TD
+></TR
+></TABLE
+><P
+> The module contains complete instructions on its usage in the file
+ <TT
+CLASS="FILENAME"
+>OS X Package Builder HOWTO.txt</TT
+>.
+ </P
+><P
+> Once the package(s) have been generated, you can then upload them
+ directly to the Files section of the Sourceforge project in the
+ Macintosh (OS X) folder. Each new version release of Privoxy should
+ have a new subfolder created in which to store its files. Please
+ ensure that the folder contains a readme file that makes it clear
+ which package is for whichversion of OS X.
+ </P
+></DIV
+><DIV
+CLASS="SECT4"
+><H4
+CLASS="SECT4"
+><A
+NAME="OS-X-OSXSETUP-MODULE"
+>6.3.8.2. osxsetup module (DEPRECATED)</A
+></H4
+><P
+> <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>This module is deprecated since the installer it generates
+ places all Privoxy files in one folder in a non-standard location, and
+ supports only Intel Macs running OS X 10.6 or higher.</I
+></SPAN
+>
+ </P
+><P
+> Check out the module from Git as follows into a folder parallel to the
+ exported privoxy source:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup</PRE
+></TD
+></TR
+></TABLE
+><P
+> Then run:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> cd osxsetup
+ build</PRE
+></TD
+></TR
+></TABLE
+><P
+> This will run <TT
+CLASS="FILENAME"
+>autoheader</TT
+>, <TT
+CLASS="FILENAME"
+>autoconf</TT
+>
+ and <TT
+CLASS="FILENAME"
+>configure</TT
+> as well as <TT
+CLASS="FILENAME"
+>make</TT
+>.
+ Finally, it will copy over the necessary files to the ./osxsetup/files
+ directory for further processing by <TT
+CLASS="FILENAME"
+>PackageMaker</TT
+>.
+ </P
+><P
+> Bring up PackageMaker with the PrivoxyPackage.pmsp definition file,
+ modify the package name to match the release, and hit the "Create
+ package" button. If you specify ./Privoxy.pkg as the output package
+ name, you can then create the distributable zip file with the command:
+ </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg</PRE
+></TD
+></TR
+></TABLE
+><P
+> You can then upload this file directly to the Files section of the
+ Sourceforge project in the Macintosh (OS X) folder. Each new version
+ release of Privoxy should have a new subfolder created in which to
+ store its files.