+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML
><HEAD
><TITLE
>Releasing a New Version</TITLE
><META
NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="Privoxy Developer Manual"
HREF="index.html"><LINK
CLASS="SECT1"
><A
NAME="NEWRELEASE"
-></A
->6. Releasing a New Version</H1
+>6. Releasing a New Version</A
+></H1
><P
> When we release versions of <SPAN
CLASS="APPLICATION"
CLASS="SECT2"
><A
NAME="VERSIONNUMBERS"
-></A
->6.1. Version numbers</H2
+>6.1. Version numbers</A
+></H2
><P
> First you need to determine which version number the release will have.
<SPAN
little to no development happening in such branches. Remember,
only bugfixes, which presumably should have had some testing
before being committed. Stable branches will then have their
- version reported as <TT
+ version reported as <VAR
CLASS="LITERAL"
->0.0.0</TT
+>0.0.0</VAR
>, during that period
between releases when changes are being added. This is to denote
that this code is <SPAN
></SPAN
>. Then
as the release nears, the version is bumped according: e.g.
- <TT
+ <VAR
CLASS="LITERAL"
->3.0.1 -> 0.0.0 -> 3.0.2</TT
+>3.0.1 -> 0.0.0 -> 3.0.2</VAR
>.
</P
></LI
features are being worked on for the next stable series. This should
almost always be where the most activity takes place. There is always at
least one stable branch from the trunk, e.g now it is
- <TT
+ <VAR
CLASS="LITERAL"
->3.0</TT
+>3.0</VAR
>, which is only used to release stable versions.
Once the initial *.0 release of the stable branch has been done, then as a
rule, only bugfixes that have had prior testing should be committed to
>and</I
></SPAN
> the stable release branch,
- which is <TT
+ which is <VAR
CLASS="LITERAL"
->v_3_0_branch</TT
+>v_3_0_branch</VAR
> at the moment).
</P
></DIV
CLASS="SECT2"
><A
NAME="BEFORERELEASE"
-></A
->6.2. Before the Release: Freeze</H2
+>6.2. Before the Release: Freeze</A
+></H2
><P
> The following <SPAN
CLASS="emphasis"
>
link from the main page since we need to keep manuals for various
versions available). The CGI pages will link to something like
- <TT
+ <VAR
CLASS="LITERAL"
->http://privoxy.org/$(VERSION)/user-manual/</TT
+>http://privoxy.org/$(VERSION)/user-manual/</VAR
>. This
will need to be updated for each new release. There is no Makefile
target for this at this time!!! It needs to be done manually.
CLASS="SECT2"
><A
NAME="THERELEASE"
-></A
->6.3. Building and Releasing the Packages</H2
+>6.3. Building and Releasing the Packages</A
+></H2
><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.
CLASS="SECT3"
><A
NAME="PACK-GUIDELINES"
-></A
->6.3.1. Note on Privoxy Packaging</H3
+>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="SECT3"
><A
NAME="NEWRELEASE-TARBALL"
-></A
->6.3.2. Source Tarball</H3
+>6.3.2. Source Tarball</A
+></H3
><P
> First, <SPAN
CLASS="emphasis"
CLASS="SECT3"
><A
NAME="NEWRELEASE-RPM"
-></A
->6.3.3. SuSE, Conectiva or Red Hat RPM</H3
+>6.3.3. SuSE, Conectiva or Red Hat RPM</A
+></H3
><P
-> In following text, replace <TT
+> In following text, replace <VAR
CLASS="REPLACEABLE"
-><I
->dist</I
-></TT
+>dist</VAR
>
with either <SPAN
CLASS="QUOTE"
now examine the file <TT
CLASS="FILENAME"
>privoxy-</TT
-><TT
+><VAR
CLASS="REPLACEABLE"
-><I
->dist</I
-></TT
+>dist</VAR
><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
+ <VAR
CLASS="REPLACEABLE"
-><I
->dist</I
-></TT
+>dist</VAR
> which is built from version
X.Y.Z. Check the
<A
><TD
><PRE
CLASS="PROGRAMLISTING"
-> make <TT
+> make <VAR
CLASS="REPLACEABLE"
-><I
->dist</I
-></TT
+>dist</VAR
>-dist</PRE
></TD
></TR
><TD
><PRE
CLASS="PROGRAMLISTING"
-> make <TT
+> make <VAR
CLASS="REPLACEABLE"
-><I
->dist</I
-></TT
->-upload <TT
+>dist</VAR
+>-upload <VAR
CLASS="REPLACEABLE"
-><I
->rpm_packagerev</I
-></TT
+>rpm_packagerev</VAR
></PRE
></TD
></TR
>
</P
><P
-> where <TT
+> where <VAR
CLASS="REPLACEABLE"
-><I
->rpm_packagerev</I
-></TT
+>rpm_packagerev</VAR
> is the
RPM release number as determined above.
Go to the displayed URL and release the file publicly on Sourceforge.
CLASS="SECT3"
><A
NAME="NEWRELEASE-OS2"
-></A
->6.3.4. OS/2</H3
+>6.3.4. OS/2</A
+></H3
><P
> First, <SPAN
CLASS="emphasis"
CLASS="SECT3"
><A
NAME="NEWRELEASE-SOLARIS"
-></A
->6.3.5. Solaris</H3
+>6.3.5. Solaris</A
+></H3
><P
> Login to Sourceforge's compilefarm via ssh:
</P
CLASS="SECT3"
><A
NAME="NEWRELEASE-WINDOWS"
-></A
->6.3.6. Windows</H3
+>6.3.6. Windows</A
+></H3
><P
> You should ensure you have the latest version of Cygwin (from
<A
CLASS="SECT3"
><A
NAME="NEWRELEASE-DEBIAN"
-></A
->6.3.7. Debian</H3
+>6.3.7. Debian</A
+></H3
><P
> First, <SPAN
CLASS="emphasis"
><TD
><PRE
CLASS="PROGRAMLISTING"
-> debchange -v 3.0.2-stable-1 "New upstream version"</PRE
+> debchange -v 3.0.3-stable-1 "New upstream version"</PRE
></TD
></TR
></TABLE
> This will create
<TT
CLASS="FILENAME"
->../privoxy_3.0.2-stable-1_i386.deb</TT
+>../privoxy_3.0.3-stable-1_i386.deb</TT
>
which can be uploaded. To upload the package to Sourceforge, simply
issue
CLASS="SECT3"
><A
NAME="NEWRELEASE-MACOSX"
-></A
->6.3.8. Mac OSX</H3
+>6.3.8. Mac OSX</A
+></H3
><P
> First, <SPAN
CLASS="emphasis"
CLASS="SECT3"
><A
NAME="NEWRELEASE-FREEBSD"
-></A
->6.3.9. FreeBSD</H3
+>6.3.9. FreeBSD</A
+></H3
><P
> Login to Sourceforge's compile-farm via ssh:
</P
CLASS="SECT3"
><A
NAME="NEWRELEASE-HPUX"
-></A
->6.3.10. HP-UX 11</H3
+>6.3.10. HP-UX 11</A
+></H3
><P
> First, <SPAN
CLASS="emphasis"
CLASS="SECT3"
><A
NAME="NEWRELEASE-AMIGA"
-></A
->6.3.11. Amiga OS</H3
+>6.3.11. Amiga OS</A
+></H3
><P
> First, <SPAN
CLASS="emphasis"
CLASS="SECT3"
><A
NAME="NEWRELEASE-AIX"
-></A
->6.3.12. AIX</H3
+>6.3.12. AIX</A
+></H3
><P
> Login to Sourceforge's compilefarm via ssh:
</P
CLASS="SECT2"
><A
NAME="RELEASING"
-></A
->6.4. Uploading and Releasing Your Package</H2
+>6.4. Uploading and Releasing Your Package</A
+></H2
><P
> After the package is ready, it is time to upload it
to SourceForge, and go through the release steps. The upload
></LI
><LI
><P
-> user: <TT
+> user: <VAR
CLASS="LITERAL"
->anonymous</TT
+>anonymous</VAR
>
</P
></LI
><LI
><P
-> password: <TT
+> password: <VAR
CLASS="LITERAL"
->ijbswa-developers@lists.sourceforge.net</TT
+>ijbswa-developers@lists.sourceforge.net</VAR
>
</P
></LI
>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
+ second column, and click <VAR
CLASS="LITERAL"
->Add Release</TT
+>Add Release</VAR
>. You will
then need to create a new release for your package, using the format
- of <TT
+ of <VAR
CLASS="LITERAL"
->$VERSION ($CODE_STATUS)</TT
+>$VERSION ($CODE_STATUS)</VAR
>, e.g. <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
->3.0.2
+>3.0.3
(beta)</I
></SPAN
>.
</P
><P
> If you have made errors, or need to make changes, you can go through
- essentially the same steps, but select <TT
+ essentially the same steps, but select <VAR
CLASS="LITERAL"
->Edit Release</TT
+>Edit Release</VAR
>,
- instead of <TT
+ instead of <VAR
CLASS="LITERAL"
->Add Release</TT
+>Add Release</VAR
>.
</P
></DIV
CLASS="SECT2"
><A
NAME="AFTERRELEASE"
-></A
->6.5. After the Release</H2
+>6.5. After the Release</A
+></H2
><P
> When all (or: most of the) packages have been uploaded and made available,
send an email to the <A