Sync with source.
[privoxy.git] / doc / webserver / developer-manual / newrelease.html
index 4881363..6df000e 100644 (file)
@@ -1,10 +1,11 @@
 <HTML
 ><HEAD
 ><TITLE
->Releasing a new version</TITLE
+>Releasing a New Version</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.60"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.64
+"><LINK
 REL="HOME"
 TITLE="Privoxy Developer Manual"
 HREF="index.html"><LINK
@@ -12,8 +13,8 @@ REL="PREVIOUS"
 TITLE="Testing Guidelines"
 HREF="testing.html"><LINK
 REL="NEXT"
-TITLE="Contacting the developers, Bug Reporting and Feature Requests"
-HREF="contact.html"><LINK
+TITLE="Update the Webserver"
+HREF="webserver-update.html"><LINK
 REL="STYLESHEET"
 TYPE="text/css"
 HREF="../p_doc.css"></HEAD
@@ -56,7 +57,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="contact.html"
+HREF="webserver-update.html"
 >Next</A
 ></TD
 ></TR
@@ -70,13 +71,22 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="NEWRELEASE"
->8. Releasing a new version</A
+>8. Releasing a New Version</A
 ></H1
 ><P
->      To minimize trouble with distribution contents, webpage
-       errors and the like, we strongly encourage you
-       to follow this section if you prepare a new release of
-       code or new pages on the webserver.
+>        When we release versions of <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+>,
+        our work leaves our cozy secret lab and has to work in the cold
+        RealWorld[tm]. Once it is released, there is no way to call it
+        back, so it is very important that great care is taken to ensure
+        that everything runs fine, and not to introduce problems in the
+        very last minute.
+    </P
+><P
+>        So when releasing a new version, please adhere exactly to the
+        procedure outlined in this chapter.
     </P
 ><P
 >      The following programs are required to follow this process:
@@ -85,12 +95,16 @@ CLASS="FILENAME"
 >ncftpput</TT
 > (ncftp), <TT
 CLASS="FILENAME"
->scp</TT
+>scp, ssh</TT
 > (ssh),
-<TT
+        <TT
 CLASS="FILENAME"
 >gmake</TT
-> (GNU's version of make), autoconf, cvs, ???.
+> (GNU's version of make), autoconf, cvs.
+    </P
+><P
+>        In the following text, replace X, Y and Z with the actual version number
+        (X = major, Y = minor, Z = point):
     </P
 ><DIV
 CLASS="SECT2"
@@ -105,7 +119,7 @@ NAME="BEFORERELEASE"
 CLASS="EMPHASIS"
 >must be done by one of the
        developers</I
-> prior to each new release:
+> prior to each new release.
      </P
 ><P
 >      <P
@@ -123,31 +137,20 @@ CLASS="QUOTE"
 ></LI
 ><LI
 ><P
->         Increment the version number in <TT
-CLASS="FILENAME"
->configure.in</TT
-> in
-         CVS. Also, the RPM release number in
-         <TT
-CLASS="FILENAME"
->configure.in</TT
->. Do NOT touch version information
-         after export from CVS. <I
-CLASS="EMPHASIS"
->All packages</I
-> will use the
-         version and release data from <TT
+>         Increment the version number and increase or reset the RPM release number
+         in <TT
 CLASS="FILENAME"
 >configure.in</TT
->.
-         Local files should not be changed, except prior to a CVS commit!!!
-         This way we are all on the same page!
+> as appropriate. 
        </P
 ></LI
 ><LI
 ><P
->        If the default actionsfile has changed since last release,
-        bump up its version info in this line:
+>        If the default <TT
+CLASS="FILENAME"
+>actionsfile</TT
+> has changed since last
+        release, bump up its version info in this line:
        </P
 ><P
 > 
@@ -159,8 +162,7 @@ WIDTH="90%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  {+add-header{X-Actions-File-Version: A.B} -filter -no-popups}
-        </PRE
+>  {+add-header{X-Actions-File-Version: A.B} -filter -no-popups}</PRE
 ></TD
 ></TR
 ></TABLE
@@ -174,40 +176,30 @@ CLASS="PROGRAMLISTING"
 ></LI
 ><LI
 ><P
->        Tag all files in CVS with the version number with
-        <SPAN
-CLASS="QUOTE"
->"<B
-CLASS="COMMAND"
->cvs tag v_X_Y_Z</B
->"</SPAN
-> (where X = major, Y
-        = minor, Z = point). Don't use vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work)
-        etc.
+>        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.
        </P
 ></LI
 ><LI
 ><P
->        The first package uploaded should be the official
-        <SPAN
-CLASS="QUOTE"
->"tarball"</SPAN
-> release. This is built with the
-        <SPAN
-CLASS="QUOTE"
->"<B
-CLASS="COMMAND"
->make tarball-dist</B
->"</SPAN
-> Makefile 
-        target, and then can be uploaded with 
+>        <I
+CLASS="EMPHASIS"
+>Commit all files that were changed in the above steps!</I
+>
+       </P
+></LI
+><LI
+><P
+>        Tag all files in CVS with the version number with
         <SPAN
 CLASS="QUOTE"
 >"<B
 CLASS="COMMAND"
->make tarball-upload</B
+>cvs tag v_X_Y_Z</B
 >"</SPAN
-> (see below).
+>.
+        Don't use vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) etc.
        </P
 ></LI
 ></UL
@@ -219,23 +211,26 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="NEWRELEASE-WEB"
->8.2. Update the webserver</A
+NAME="THERELEASE"
+>8.2. Building and Releasing the Packages</A
 ></H2
 ><P
->      All files must be group-readable and group-writable (or no one else
-       will be able to change them). To update the webserver, create any
-       pages locally in the <TT
-CLASS="FILENAME"
->doc/webserver</TT
-> directory (or
-       create new directories under <TT
-CLASS="FILENAME"
->doc/webserver</TT
->), then do
-       </P
+>      Now the individual packages can be built and released. Note that for
+      GPL reasons the first package to be released is always the source tarball.
+     </P
 ><P
->      <TABLE
+>      For <I
+CLASS="EMPHASIS"
+>all</I
+> types of packages, including the source tarball,
+      <I
+CLASS="EMPHASIS"
+>you must make sure that you build from clean sources by exporting
+      the right version from CVS into an empty directory:</I
+>.
+     </P
+><P
+>      <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -243,68 +238,43 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  make webserver
-       </PRE
+>  mkdir dist # delete or choose different name if it already exists
+  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</PRE
 ></TD
 ></TR
 ></TABLE
 >
-       </P
+    </P
 ><P
->      Note that <SPAN
-CLASS="QUOTE"
->"<B
-CLASS="COMMAND"
->make dok</B
->"</SPAN
-> 
-     (or <SPAN
-CLASS="QUOTE"
->"<B
-CLASS="COMMAND"
->make redhat-dok</B
->"</SPAN
->) creates
-       <TT
-CLASS="FILENAME"
->doc/webserver/user-manual</TT
->,
-       <TT
-CLASS="FILENAME"
->doc/webserver/developer-manual</TT
->,
-       <TT
-CLASS="FILENAME"
->doc/webserver/faq</TT
-> and
-       <TT
-CLASS="FILENAME"
->doc/webserver/man-page</TT
-> automatically.
-      </P
+>     <I
+CLASS="EMPHASIS"
+>Do NOT change</I
+> 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
 ><P
->      Please do NOT use any other means of transferring files to the
-      webserver. <SPAN
-CLASS="QUOTE"
->"<B
-CLASS="COMMAND"
->make webserver</B
->"</SPAN
-> not only
-      uploads, but will make sure that the appropriate permissions are 
-      preserved for shared group access.
-      </P
-></DIV
+>     Please find additional instructions for the source tarball and the
+     individual platform dependent binary packages below.
+    </P
 ><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
 ><A
-NAME="NEWRELEASE-RPM"
->8.3. SuSE or Red Hat</A
-></H2
+NAME="NEWRELEASE-TARBALL"
+>8.2.1. Source Tarball</A
+></H3
 ><P
->      Ensure that you have the latest code version. Hence run:
+>      First, <I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+        version into an empty directory</I
+>. (See "Building and releasing
+        packages" above). Then run:
        </P
 ><P
 >      <TABLE
@@ -316,16 +286,72 @@ WIDTH="100%"
 ><PRE
 CLASS="PROGRAMLISTING"
 >  cd current
-  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
-       </PRE
+  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
+></TD
+></TR
+></TABLE
+>
+       </P
+><P
+>      Then do:
+       </P
+><P
+>      <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>  make tarball-dist</PRE
+></TD
+></TR
+></TABLE
+>
+       </P
+><P
+>      To upload the package to Sourceforge, simply issue
+       </P
+><P
+>      <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>  make tarball-upload</PRE
 ></TD
 ></TR
 ></TABLE
 >
        </P
 ><P
->       first. 
+>      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"
+>8.2.2. SuSE or Red Hat</A
+></H3
+><P
+>      First, <I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+        version into an empty directory</I
+>. (See "Building and releasing
+        packages" above). Then run:
        </P
 ><P
 >      <TABLE
@@ -336,8 +362,8 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  autoheader &#38;&#38; autoconf &#38;&#38; ./configure
-       </PRE
+>  cd current
+  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
 ></TD
 ></TR
 ></TABLE
@@ -355,8 +381,7 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  make suse-dist or make redhat-dist
-       </PRE
+>  make suse-dist (or make redhat-dist)</PRE
 ></TD
 ></TR
 ></TABLE
@@ -374,8 +399,7 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  make suse-upload or make redhat-upload
-       </PRE
+>  make suse-upload (or make redhat-upload)</PRE
 ></TD
 ></TR
 ></TABLE
@@ -383,18 +407,24 @@ CLASS="PROGRAMLISTING"
        </P
 ><P
 >      Go to the displayed URL and release the file publicly on Sourceforge.
+        Use the release notes and çhange log from the source tarball package.
       </P
 ></DIV
 ><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
 ><A
 NAME="NEWRELEASE-OS2"
->8.4. OS/2</A
-></H2
+>8.2.3. OS/2</A
+></H3
 ><P
->      Ensure that you have the latest code version. Hence run:
+>      First, <I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+        version into an empty directory</I
+>. (See "Building and releasing
+        packages" above). Then get the OS/2 Setup module:
        </P
 ><P
 >      <TABLE
@@ -405,12 +435,7 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  cd current
-  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
-  cd ..
-  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co os2setup
-       </PRE
+>  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co os2setup</PRE
 ></TD
 ></TR
 ></TABLE
@@ -446,7 +471,9 @@ CLASS="FILENAME"
 > directory.
        Edit the os2build.cmd file to set the final executable filename.
        For example, 
-       <TABLE
+       </P
+><P
+>      <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -454,13 +481,14 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  installExeName='privoxyos2_setup_X.Y.Z.exe'
-       </PRE
+>  installExeName='privoxyos2_setup_X.Y.Z.exe'</PRE
 ></TD
 ></TR
 ></TABLE
 >
-       Next, edit the <TT
+       </P
+><P
+>      Next, edit the <TT
 CLASS="FILENAME"
 >IJB.wis</TT
 > file so the release number matches
@@ -468,7 +496,9 @@ CLASS="FILENAME"
 CLASS="FILENAME"
 >PACKAGEID</TT
 > section:
-       <TABLE
+       </P
+><P
+>      <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -476,14 +506,17 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"
-       </PRE
+>  PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"</PRE
 ></TD
 ></TR
 ></TABLE
 >
-       You're now ready to build.  Run:
-       <TABLE
+       </P
+><P
+>      You're now ready to build.  Run:
+       </P
+><P
+>      <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -491,35 +524,36 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  os2build
-       </PRE
+>  os2build</PRE
 ></TD
 ></TR
 ></TABLE
 >
-     And in the <TT
+       </P
+><P
+>         You will find the  WarpIN-installable executable in the
+        <TT
 CLASS="FILENAME"
 >./files</TT
-> directory you will have the
-     WarpIN-installable executable. 
-     Upload this anonymously to
-     <TT
+> directory. Upload this anonymously to
+         <TT
 CLASS="FILENAME"
 >uploads.sourceforge.net/incoming</TT
 >, create a release
-     for it, and you're done.
+         for it, and you're done. Use the release notes and Change Log from the
+         source tarball package.
        </P
 ></DIV
 ><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
 ><A
 NAME="NEWRELEASE-SOLARIS"
->8.5. Solaris</A
-></H2
+>8.2.4. Solaris</A
+></H3
 ><P
->      Login to Sourceforge's compilefarm via ssh
+>      Login to Sourceforge's compilefarm via ssh:
        </P
 ><P
 >      <TABLE
@@ -530,19 +564,20 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  ssh cf.sourceforge.net
-       </PRE
+>  ssh cf.sourceforge.net</PRE
 ></TD
 ></TR
 ></TABLE
 >
        </P
 ><P
->      Choose the right operating system (not the Debian one). If you have
-       downloaded <SPAN
-CLASS="APPLICATION"
->Privoxy</SPAN
-> before,
+>      Choose the right operating system (not the Debian one).
+        When logged in, <I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+        version into an empty directory</I
+>. (See "Building and releasing
+        packages" above). Then run:
        </P
 ><P
 >      <TABLE
@@ -554,33 +589,7 @@ WIDTH="100%"
 ><PRE
 CLASS="PROGRAMLISTING"
 >  cd current
-  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
-       </PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      If not, please <A
-HREF="http://www.privoxy.org/user-manual/user-manual/installation.html#INSTALLATION-SOURCE"
-TARGET="_top"
->checkout
-       Privoxy via CVS first</A
->. Run:
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  autoheader &#38;&#38; autoconf &#38;&#38; ./configure
-       </PRE
+  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
 ></TD
 ></TR
 ></TABLE
@@ -598,8 +607,7 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  gmake solaris-dist
-       </PRE
+>  gmake solaris-dist</PRE
 ></TD
 ></TR
 ></TABLE
@@ -612,22 +620,37 @@ CLASS="COMMAND"
        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.
+       the file publicly. Use the release notes and Change Log from the
+        source tarball package.
        </P
 ></DIV
 ><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
 ><A
 NAME="NEWRELEASE-WINDOWS"
->8.6. Windows</A
-></H2
+>8.2.5. Windows</A
+></H3
 ><P
->      Ensure that you have the latest code version. Hence run
-       </P
+>        You should ensure you have the latest version of Cygwin (from
+        <A
+HREF="http://www.cygwin.com/"
+TARGET="_top"
+>http://www.cygwin.com/</A
+>).
+        Run the following commands from within a Cygwin bash shell.
+      </P
 ><P
->      <TABLE
+>      First, <I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+        version into an empty directory</I
+>. (See "Building and releasing
+        packages" above). Then get the Windows setup module:
+      </P
+><P
+>      <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -635,20 +658,22 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  cd current
-  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
-       </PRE
+>        cvs -z3  -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co winsetup</PRE
 ></TD
 ></TR
 ></TABLE
 >
-       </P
+      </P
 ><P
->       Run:
-       </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
 ><P
->      <TABLE
+>      <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -656,27 +681,41 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  autoheader &#38;&#38; autoconf &#38;&#38; ./configure
-       </PRE
+>        cd winsetup
+        make</PRE
 ></TD
 ></TR
 ></TABLE
 >
-       </P
+      </P
 ><P
->      Then do FIXME.
-       </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="SECT2"
-><H2
-CLASS="SECT2"
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
 ><A
 NAME="NEWRELEASE-DEBIAN"
->8.7. Debian</A
-></H2
+>8.2.6. Debian</A
+></H3
 ><P
->      Ensure that you have the latest code version. Hence run:
+>      First, <I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+        version into an empty directory</I
+>. (See "Building and releasing
+        packages" above). Then, run:
        </P
 ><P
 >      <TABLE
@@ -688,28 +727,7 @@ WIDTH="100%"
 ><PRE
 CLASS="PROGRAMLISTING"
 >  cd current
-  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
-       </PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      first. Run:
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  autoheader &#38;&#38; autoconf &#38;&#38; ./configure
-       </PRE
+  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
 ></TD
 ></TR
 ></TABLE
@@ -720,15 +738,20 @@ CLASS="PROGRAMLISTING"
        </P
 ></DIV
 ><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
 ><A
 NAME="NEWRELEASE-MACOSX"
->8.8. Mac OSX</A
-></H2
+>8.2.7. Mac OSX</A
+></H3
 ><P
->      Ensure that you have the latest code version. Hence run:
+>      First, <I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+        version into an empty directory</I
+>. (See "Building and releasing
+        packages" above). Then get the Mac OSX setup module:
        </P
 ><P
 >      <TABLE
@@ -739,20 +762,17 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  cd current
-  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
-  cd ..
-  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co osxsetup
-       </PRE
+>  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co osxsetup</PRE
 ></TD
 ></TR
 ></TABLE
 >
        </P
 ><P
->      From the osxsetup directory, run:
-       <TABLE
+>      Then run:
+       </P
+><P
+>      <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -760,8 +780,8 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  build
-       </PRE
+>  cd osxsetup
+  build</PRE
 ></TD
 ></TR
 ></TABLE
@@ -793,7 +813,9 @@ CLASS="FILENAME"
        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:
-       <TABLE
+       </P
+><P
+>      <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -801,13 +823,14 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg
-       </PRE
+>zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg</PRE
 ></TD
 ></TR
 ></TABLE
 >
-       You can then upload <TT
+       </P
+><P
+>      You can then upload <TT
 CLASS="FILENAME"
 >privoxyosx_setup_x.y.z.zip</TT
 > anonymously to 
@@ -815,39 +838,18 @@ CLASS="FILENAME"
 CLASS="FILENAME"
 >uploads.sourceforge.net/incoming</TT
 >,
-       create a release for it, and you're done.
+       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="SECT2"
-><H2
-CLASS="SECT2"
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
 ><A
 NAME="NEWRELEASE-FREEBSD"
->8.9. FreeBSD</A
-></H2
-><P
->      Change the version number of <SPAN
-CLASS="APPLICATION"
->Privoxy</SPAN
-> in the
-       configure.in file. Run:
-       <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  autoheader &#38;&#38; autoconf &#38;&#38; ./configure
-       </PRE
-></TD
-></TR
-></TABLE
->
-       Then ...
-      </P
+>8.2.8. FreeBSD</A
+></H3
 ><P
 >      Login to Sourceforge's compilefarm via ssh:
        </P
@@ -860,16 +862,20 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  ssh cf.sourceforge.net
-       </PRE
+>  ssh cf.sourceforge.net</PRE
 ></TD
 ></TR
 ></TABLE
 >
        </P
 ><P
->      Choose the right operating system. If you have downloaded Privoxy
-       before,
+>      Choose the right operating system.
+        When logged in, <I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+        version into an empty directory</I
+>. (See "Building and releasing
+        packages" above). Then run:
        </P
 ><P
 >      <TABLE
@@ -881,33 +887,7 @@ WIDTH="100%"
 ><PRE
 CLASS="PROGRAMLISTING"
 >  cd current
-  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
-       </PRE
-></TD
-></TR
-></TABLE
->
-       </P
-><P
->      If not, please <A
-HREF="http://www.privoxy.org/user-manual/user-manual/installation.html#INSTALLATION-SOURCE"
-TARGET="_top"
->checkout
-       Privoxy via CVS first</A
->. Run:
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  autoheader &#38;&#38; autoconf &#38;&#38; ./configure
-       </PRE
+  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
 ></TD
 ></TR
 ></TABLE
@@ -925,8 +905,7 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  gmake freebsd-dist
-       </PRE
+>  gmake freebsd-dist</PRE
 ></TD
 ></TR
 ></TABLE
@@ -939,19 +918,25 @@ CLASS="COMMAND"
        freebsd-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.
+       the file publicly. Use the release notes and Change Log from the
+        source tarball package.
        </P
 ></DIV
 ><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
 ><A
-NAME="NEWRELEASE-TARBALL"
->8.10. Tarball</A
-></H2
+NAME="NEWRELEASE-HPUX"
+>8.2.9. HP-UX 11</A
+></H3
 ><P
->      Ensure that you have the latest code version. Hence run:
+>      First, <I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+        version into an empty directory</I
+>. (See "Building and releasing
+        packages" above). Then run:
        </P
 ><P
 >      <TABLE
@@ -963,36 +948,31 @@ WIDTH="100%"
 ><PRE
 CLASS="PROGRAMLISTING"
 >  cd current
-  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
-       </PRE
+  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
 ></TD
 ></TR
 ></TABLE
 >
        </P
 ><P
->      first. Run:
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  make clobber
-  autoheader &#38;&#38; autoconf &#38;&#38; ./configure
-       </PRE
-></TD
-></TR
-></TABLE
->
+>      Then do FIXME.
        </P
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="NEWRELEASE-AMIGA"
+>8.2.10. Amiga OS</A
+></H3
 ><P
->      Then do:
+>      First, <I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+        version into an empty directory</I
+>. (See "Building and releasing
+        packages" above). Then run:
        </P
 ><P
 >      <TABLE
@@ -1003,67 +983,27 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  make tarball-dist
-       </PRE
+>  cd current
+  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
 ></TD
 ></TR
 ></TABLE
 >
        </P
 ><P
->      To upload the package to Sourceforge, simply issue
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  make tarball-upload
-       </PRE
-></TD
-></TR
-></TABLE
->
+>      Then do FIXME.
        </P
-><P
->      Goto the displayed URL and release the file publicly on Sourceforge.
-      </P
 ></DIV
 ><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
 ><A
-NAME="NEWRELEASE-HPUX"
->8.11. HP-UX 11</A
-></H2
-><P
->      Ensure that you have the latest code version. Hence run:
-       </P
-><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cd current
-  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
-       </PRE
-></TD
-></TR
-></TABLE
->
-       </P
+NAME="NEWRELEASE-AIX"
+>8.2.11. AIX</A
+></H3
 ><P
->      first. Run:
+>      Login to Sourceforge's compilefarm via ssh:
        </P
 ><P
 >      <TABLE
@@ -1074,27 +1014,20 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  autoheader &#38;&#38; autoconf &#38;&#38; ./configure
-       </PRE
+>  ssh cf.sourceforge.net</PRE
 ></TD
 ></TR
 ></TABLE
 >
        </P
 ><P
->      Then do FIXME.
-       </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="NEWRELEASE-AMIGA"
->8.12. Amiga OS</A
-></H2
-><P
->      Ensure that you have the latest code version. Hence run:
+>      Choose the right operating system.
+        When logged in, <I
+CLASS="EMPHASIS"
+>make sure that you have freshly exported the right
+        version into an empty directory</I
+>. (See "Building and releasing
+        packages" above). Then run:
        </P
 ><P
 >      <TABLE
@@ -1106,16 +1039,14 @@ WIDTH="100%"
 ><PRE
 CLASS="PROGRAMLISTING"
 >  cd current
-  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
-       </PRE
+  autoheader &#38;&#38; autoconf &#38;&#38; ./configure</PRE
 ></TD
 ></TR
 ></TABLE
 >
        </P
 ><P
->      first. Run:
+>      Then run:
        </P
 ><P
 >      <TABLE
@@ -1126,118 +1057,150 @@ WIDTH="100%"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->  autoheader &#38;&#38; autoconf &#38;&#38; ./configure
-       </PRE
+>  make aix-dist</PRE
 ></TD
 ></TR
 ></TABLE
 >
        </P
 ><P
->      Then do FIXME.
+>      which creates a gzip'ed tar archive. Sadly, you cannot use <B
+CLASS="COMMAND"
+>make
+       aix-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
 ><DIV
 CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="NEWRELEASE-AIX"
->8.13. AIX</A
+NAME="RELEASING"
+>8.3. Uploading and Releasing Your Package</A
 ></H2
 ><P
->      Login to Sourceforge's compilefarm via ssh:
-       </P
+>      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:
+    </P
 ><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  ssh cf.sourceforge.net
-       </PRE
-></TD
-></TR
-></TABLE
+>      <P
+></P
+><UL
+><LI
+><P
+>          Upload to: <A
+HREF="ftp://upload.sourceforge.net/incoming"
+TARGET="_top"
+>ftp://upload.sourceforge.net/incoming</A
 >
-       </P
+        </P
+></LI
+><LI
 ><P
->      Choose the right operating system. If you have downloaded Privoxy
-       before:
-       </P
+>         user: <TT
+CLASS="LITERAL"
+>anonymous</TT
+>
+       </P
+></LI
+><LI
 ><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  cd current
-  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
-       </PRE
-></TD
-></TR
-></TABLE
+>         password: <TT
+CLASS="LITERAL"
+>ijbswa-developers@lists.sourceforge.net</TT
 >
-       </P
+       </P
+></LI
+></UL
+>
+    </P
 ><P
->      If not, please <A
-HREF="http://www.privoxy.org/user-manual/user-manual/installation.html#INSTALLATION-SOURCE"
+>     Once this done go to <A
+HREF="http://sourceforge.net/project/admin/editpackages.php?group_id=11118"
 TARGET="_top"
->checkout
-       Privoxy via CVS first</A
->. Run:
-       </P
+>http://sourceforge.net/project/admin/editpackages.php?group_id=11118</A
+>, 
+     making sure you are logged in. Find your target platform in the 
+     second column, and click <TT
+CLASS="LITERAL"
+>Add Release</TT
+>. You will 
+     then need to create a new release for your package, using the format 
+     of <TT
+CLASS="LITERAL"
+>$VERSION ($CODE_STATUS)</TT
+>, e.g. <I
+CLASS="EMPHASIS"
+>2.9.14
+     (beta)</I
+>.
+    </P
 ><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  autoheader &#38;&#38; autoconf &#38;&#38; ./configure
-       </PRE
-></TD
-></TR
-></TABLE
+>     Now just follow the prompts. Be sure to add any appropriate Release
+     notes. You should see your freshly uploaded packages in 
+     <SPAN
+CLASS="QUOTE"
+>"Step 2. Add Files To This Release"</SPAN
+>. Check the 
+     appropriate box(es). Remember at each step to hit the 
+     <SPAN
+CLASS="QUOTE"
+>"Refresh/Submit"</SPAN
+> 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 <SPAN
+CLASS="QUOTE"
+>"Update"</SPAN
 >
-       </P
-><P
->      Then run:
-       </P
+     for each file. If anyone is monitoring your platform, check the 
+     <SPAN
+CLASS="QUOTE"
+>"email"</SPAN
+> box at the very bottom to notify them of 
+     the new package. This should do it!
+    </P
 ><P
->      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  make aix-dist
-       </PRE
-></TD
-></TR
-></TABLE
->
-       </P
+>     If you have made errors, or need to make changes, you can go through 
+     essentially the same steps, but select <TT
+CLASS="LITERAL"
+>Edit Release</TT
+>, 
+     instead of <TT
+CLASS="LITERAL"
+>Add Release</TT
+>.
+    </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AFTERRELEASE"
+>8.4. After the Release</A
+></H2
 ><P
->      which creates a gzip'ed tar archive. Sadly, you cannot use <B
-CLASS="COMMAND"
->make
-       aix-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.
-       </P
+>      When all (or: most of the) packages have been uploaded and made available,
+      send an email to the <A
+HREF="mailto:ijbswa-announce@lists.sourceforge.net"
+TARGET="_top"
+>announce
+      mailing list</A
+>, Subject: "Version X.Y.Z available for download". Be sure to
+      include the
+      <A
+HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
+TARGET="_top"
+>download
+      location</A
+>, the release notes and the change log.
+     </P
 ></DIV
 ></DIV
 ><DIV
@@ -1271,7 +1234,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="contact.html"
+HREF="webserver-update.html"
 >Next</A
 ></TD
 ></TR
@@ -1290,7 +1253,7 @@ VALIGN="top"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Contacting the developers, Bug Reporting and Feature Requests</TD
+>Update the Webserver</TD
 ></TR
 ></TABLE
 ></DIV