<emphasis><quote></quote></emphasis>, for, doh, quoting text.
</member>
</simplelist>
<emphasis><quote></quote></emphasis>, for, doh, quoting text.
</member>
</simplelist>
<para>
Tags delimiting a <emphasis>block</emphasis> of text (even small
blocks) should be on their own line. Like:
<para>
Tags delimiting a <emphasis>block</emphasis> of text (even small
blocks) should be on their own line. Like:
(.h) extern int load_aclfile(struct client_state *csp);
(.c) int load_aclfile(struct client_state *csp)</programlisting>
(.h) extern int load_aclfile(struct client_state *csp);
(.c) int load_aclfile(struct client_state *csp)</programlisting>
<programlisting>
(.h) extern int load_aclfile(struct client_state *); or
(.h) extern int load_aclfile();
(.c) int load_aclfile(struct client_state *csp)
</programlisting>
<programlisting>
(.h) extern int load_aclfile(struct client_state *); or
(.h) extern int load_aclfile();
(.c) int load_aclfile(struct client_state *csp)
</programlisting>
<programlisting>
/* This is not a local include, but requires a path element. */
#include <sys/fileName.h>
</programlisting>
<programlisting>
/* This is not a local include, but requires a path element. */
#include <sys/fileName.h>
</programlisting>
<para><emphasis>Note:</emphasis> Please! do not add "-I." to the Makefile
without a _very_ good reason. This duplicates the #include
<para><emphasis>Note:</emphasis> Please! do not add "-I." to the Makefile
without a _very_ good reason. This duplicates the #include
<sect2 id="testing-plan"><title>Testplan for releases</title>
<para>
Explain release numbers. major, minor. developer releases. etc.
<sect2 id="testing-plan"><title>Testplan for releases</title>
<para>
Explain release numbers. major, minor. developer releases. etc.
<orderedlist numeration="arabic">
<listitem><para>
Remove any existing rpm with rpm -e
</para></listitem>
<listitem><para>
Remove any file that was left over. This includes (but is not limited to)
<orderedlist numeration="arabic">
<listitem><para>
Remove any existing rpm with rpm -e
</para></listitem>
<listitem><para>
Remove any file that was left over. This includes (but is not limited to)
<listitem><para>/etc/init.d/privoxy</para></listitem>
<listitem><para>/usr/doc/privoxy*</para></listitem>
</itemizedlist>
<listitem><para>/etc/init.d/privoxy</para></listitem>
<listitem><para>/usr/doc/privoxy*</para></listitem>
</itemizedlist>
<listitem><para>Start browsing. Does <application>Privoxy</application> work? Logfile written?</para></listitem>
<listitem><para>Remove the rpm. Any error messages? All files removed?</para></listitem>
</orderedlist>
<listitem><para>Start browsing. Does <application>Privoxy</application> work? Logfile written?</para></listitem>
<listitem><para>Remove the rpm. Any error messages? All files removed?</para></listitem>
</orderedlist>
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 (e.g. 3.0.0), where:
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 (e.g. 3.0.0), where:
<para>
In summary, the main CVS trunk is the development branch where new
features are being worked on for the next stable series. This should
<para>
In summary, the main CVS trunk is the development branch where new
features are being worked on for the next stable series. This should
If action file processing has changed and is not backward-compatible,
make sure the "for-privoxy-version=x.y.z" minimum version number in
default.action.master has been updated:
If action file processing has changed and is not backward-compatible,
make sure the "for-privoxy-version=x.y.z" minimum version number in
default.action.master has been updated:
<programlisting>
{{settings}}
#############################################################################
#MASTER# COMMENT: The minimum Privoxy version:
for-privoxy-version=3.0.11
</programlisting>
<programlisting>
{{settings}}
#############################################################################
#MASTER# COMMENT: The minimum Privoxy version:
for-privoxy-version=3.0.11
</programlisting>
<programlisting>
mkdir dist # delete or choose different name if it already exists
cd dist
cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
</programlisting>
<programlisting>
mkdir dist # delete or choose different name if it already exists
cd dist
cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
</programlisting>
Please keep these general guidelines in mind when putting together
your package. These apply to <emphasis>all</emphasis> platforms!
</para>
Please keep these general guidelines in mind when putting together
your package. These apply to <emphasis>all</emphasis> platforms!
</para>
<para>
Go to the displayed URL and release the file publicly on Sourceforge.
For the change log field, use the relevant section of the
<para>
Go to the displayed URL and release the file publicly on Sourceforge.
For the change log field, use the relevant section of the
<para>
where <replaceable class="parameter">rpm_packagerev</replaceable> is the
RPM release number as determined above.
<para>
where <replaceable class="parameter">rpm_packagerev</replaceable> is the
RPM release number as determined above.
version into an empty directory</emphasis>. (See "Building and releasing
packages" above). Then get the OS/2 Setup module:
</para>
version into an empty directory</emphasis>. (See "Building and releasing
packages" above). Then get the OS/2 Setup module:
</para>
<para>
Next, edit the <filename>IJB.wis</filename> file so the release number matches
in the <filename>PACKAGEID</filename> section:
</para>
<para>
Next, edit the <filename>IJB.wis</filename> file so the release number matches
in the <filename>PACKAGEID</filename> section:
</para>
<para>
You will find the WarpIN-installable executable in the
<filename>./files</filename> directory. Upload this anonymously to
<para>
You will find the WarpIN-installable executable in the
<filename>./files</filename> directory. Upload this anonymously to
<para>
Choose the right operating system (not the Debian one).
When logged in, <emphasis>make sure that you have freshly exported the right
version into an empty directory</emphasis>. (See "Building and releasing
packages" above). Then run:
</para>
<para>
Choose the right operating system (not the Debian one).
When logged in, <emphasis>make sure that you have freshly exported the right
version into an empty directory</emphasis>. (See "Building and releasing
packages" above). Then run:
</para>
<para>
which creates a gzip'ed tar archive. Sadly, you cannot use <command>make
solaris-upload</command> on the Sourceforge machine (no ncftpput). You now have
<para>
which creates a gzip'ed tar archive. Sadly, you cannot use <command>make
solaris-upload</command> on the Sourceforge machine (no ncftpput). You now have
version into an empty directory</emphasis>. (See "Building and releasing
packages" above). Then get the Windows setup module:
</para>
version into an empty directory</emphasis>. (See "Building and releasing
packages" above). Then get the Windows setup module:
</para>
<para>
Then you can build the package. This is fully automated, and is
controlled by <filename>winsetup/GNUmakefile</filename>.
All you need to do is:
</para>
<para>
Then you can build the package. This is fully automated, and is
controlled by <filename>winsetup/GNUmakefile</filename>.
All you need to do is:
</para>
<para>
Now you can manually rename <filename>privoxy_setup.exe</filename> to
<filename>privoxy_setup_X_Y_Z.exe</filename>, and upload it to
<para>
Now you can manually rename <filename>privoxy_setup.exe</filename> to
<filename>privoxy_setup_X_Y_Z.exe</filename>, and upload it to
entry to <filename>debian/changelog</filename>, if it is not
already there, for example by running:
</para>
entry to <filename>debian/changelog</filename>, if it is not
already there, for example by running:
</para>
<para>
This will create
<filename>../privoxy_&p-version;-&p-status;-1_i386.deb</filename>
which can be uploaded. To upload the package to Sourceforge, simply
issue
</para>
<para>
This will create
<filename>../privoxy_&p-version;-&p-status;-1_i386.deb</filename>
which can be uploaded. To upload the package to Sourceforge, simply
issue
</para>
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:
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:
<para>
The module contains complete instructions on its usage in the file
<filename>OS X Package Builder HOWTO.txt</filename>.
<para>
The module contains complete instructions on its usage in the file
<filename>OS X Package Builder HOWTO.txt</filename>.
<para>
This will run <filename>autoheader</filename>, <filename>autoconf</filename>
and <filename>configure</filename> as well as <filename>make</filename>.
<para>
This will run <filename>autoheader</filename>, <filename>autoconf</filename>
and <filename>configure</filename> as well as <filename>make</filename>.
package" button. If you specify ./Privoxy.pkg as the output package
name, you can then create the distributable zip file with the command:
</para>
package" button. If you specify ./Privoxy.pkg as the output package
name, you can then create the distributable zip file with the command:
</para>
<para>
You can then upload this file directly to the Files section of the
Sourceforge project in the Macintosh (OS X) folder. Each new version
<para>
You can then upload this file directly to the Files section of the
Sourceforge project in the Macintosh (OS X) folder. Each new version
<para>
The module contains complete instructions on its usage in its
<filename>README</filename> file. The end result will be the
<para>
The module contains complete instructions on its usage in its
<filename>README</filename> file. The end result will be the
<para>
That will generate <filename>doc/webserver/user-manual</filename>,
<filename>doc/webserver/developer-manual</filename>,
<para>
That will generate <filename>doc/webserver/user-manual</filename>,
<filename>doc/webserver/developer-manual</filename>,
Next, commit any changes from the above steps to CVS. All set?
If these are docs in the stable branch, then do:
</para>
Next, commit any changes from the above steps to CVS. All set?
If these are docs in the stable branch, then do:
</para>
<para>
This will do the upload to <ulink url="https://www.privoxy.org/">the
webserver</ulink> (www.privoxy.org) and ensure all files and directories
<para>
This will do the upload to <ulink url="https://www.privoxy.org/">the
webserver</ulink> (www.privoxy.org) and ensure all files and directories