4 >Releasing a new version</TITLE
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.64
10 TITLE="Privoxy Developer Manual"
11 HREF="index.html"><LINK
13 TITLE="Testing Guidelines"
14 HREF="testing.html"><LINK
16 TITLE="Contacting the developers, Bug Reporting and Feature Requests"
17 HREF="contact.html"><LINK
20 HREF="../p_doc.css"></HEAD
39 >Privoxy Developer Manual</TH
74 >8. Releasing a new version</A
77 > To minimize trouble with distribution contents, web-page
78 errors and the like, we strongly encourage you
79 to follow this section if you prepare a new release of
80 code or new pages on the webserver.
83 > The following programs are required to follow this process:
94 > (GNU's version of make), autoconf, cvs, ???.
97 > Replace X, Y and Z with the actual version number (X = major, Y = minor, Z = point):
105 >8.1. Before the Release</A
110 >must be done by one of the
112 > prior to each new release.
120 > Make sure that everybody who has worked on the code in the last
121 couple of days has had a chance to yell <SPAN
125 they have pending changes/fixes in their pipelines.
130 > Increment the version number in <TT
134 CVS. Also, increase or reset the RPM release number in
138 > as appropriate. Do <I
142 touch version information after export from CVS.
146 > will use the version and release data
151 Local files should not be changed, except prior to a CVS commit!!!
152 This way we are all on the same page!
160 > has changed since last
161 release, bump up its version info in this line:
172 CLASS="PROGRAMLISTING"
173 > {+add-header{X-Actions-File-Version: A.B} -filter -no-popups}
182 Then change the version info in doc/webserver/actions/index.php,
183 line: '$required_actions_file_version = "A.B";'
190 >Commit all files that were changed in the above steps!</I
196 > Tag all files in CVS with the version number with
204 Don't use vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) etc.
209 > The first package uploaded should be the official
213 > release, as required by the GPL. This is built
218 >make tarball-dist</B
221 target, and then can be uploaded with
226 >make tarball-upload</B
240 NAME="NEWRELEASE-WEB"
241 >8.2. Update the webserver</A
244 > All files must be group-readable and group-writable (or no one else
245 will be able to change them)! To update the webserver, create any
246 pages locally in the <TT
250 create new directories under <TT
263 CLASS="PROGRAMLISTING"
272 > This will do the upload to the webserver (www.privoxy.org).
291 >doc/webserver/user-manual</TT
295 >doc/webserver/developer-manual</TT
299 >doc/webserver/faq</TT
303 >doc/webserver/index.html</TT
307 >doc/webserver/man-page/privoxy-man-page.html</TT
309 is created by a separate Makefile target, <SPAN
316 >, due to dependencies on some obscure perl scripts.
324 Someone should also commit these to CVS so that packagers without the
325 ability to build docs locally, have access to them. This is a separate
326 step, and should also be done before each official release.
329 > Please do NOT use any other means of transferring files to the
337 uploads, but will make sure that the appropriate permissions are
338 preserved for shared group access.
346 NAME="NEWRELEASE-RPM"
347 >8.3. SuSE or Red Hat</A
350 > Ensure that you have the latest code version. Hence run:
360 CLASS="PROGRAMLISTING"
361 > cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
362 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
381 CLASS="PROGRAMLISTING"
382 > autoheader && autoconf && ./configure
400 CLASS="PROGRAMLISTING"
401 > make suse-dist or make redhat-dist
409 > To upload the package to Sourceforge, simply issue
419 CLASS="PROGRAMLISTING"
420 > make suse-upload (or make redhat-upload)
428 > Go to the displayed URL and release the file publicly on Sourceforge.
436 NAME="NEWRELEASE-OS2"
440 > Ensure that you have the latest code version. Hence run:
450 CLASS="PROGRAMLISTING"
451 > cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
452 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
454 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co os2setup
462 > You will need a mix of development tools.
463 The main compilation takes place with IBM Visual Age C++.
464 Some ancillary work takes place with GNU tools, available from
465 various sources like hobbes.nmsu.edu.
466 Specificially, you will need <TT
477 The packaging takes place with WarpIN, available from various sources, including
479 HREF="http://www.xworkplace.org/"
485 > Change directory to the <TT
489 Edit the os2build.cmd file to set the final executable filename.
498 CLASS="PROGRAMLISTING"
499 > installExeName='privoxyos2_setup_X.Y.Z.exe'
508 > file so the release number matches
520 CLASS="PROGRAMLISTING"
521 > PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"
527 You're now ready to build. Run:
535 CLASS="PROGRAMLISTING"
545 > directory you will have the
546 WarpIN-installable executable.
547 Upload this anonymously to
550 >uploads.sourceforge.net/incoming</TT
552 for it, and you're done.
560 NAME="NEWRELEASE-SOLARIS"
564 > Login to Sourceforge's compilefarm via ssh
574 CLASS="PROGRAMLISTING"
575 > ssh cf.sourceforge.net
583 > Choose the right operating system (not the Debian one). If you have
597 CLASS="PROGRAMLISTING"
598 > cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
599 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
609 HREF="http://www.privoxy.org/user-manual/user-manual/installation.html#INSTALLATION-SOURCE"
612 Privoxy via CVS first</A
623 CLASS="PROGRAMLISTING"
624 > autoheader && autoconf && ./configure
642 CLASS="PROGRAMLISTING"
651 > which creates a gzip'ed tar archive. Sadly, you cannot use <B
655 > on the Sourceforge machine (no ncftpput). You now have
656 to manually upload the archive to Sourceforge's ftp server and release
665 NAME="NEWRELEASE-WINDOWS"
669 > You should ensure you have the latest version of Cygwin (from
671 HREF="http://www.cygwin.com/"
673 >http://www.cygwin.com/</A
675 Run the following commands from within a Cygwin bash shell.
678 > First check out a clean copy of the correct code version, by running:
688 CLASS="PROGRAMLISTING"
691 cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
692 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z .
700 > (Note: It is important that this is a clean copy of the code,
701 do not re-use a working directory after you have manually compiled
705 > Then you can build the package. This is fully automated, and is
708 >winsetup/GNUmakefile</TT
710 All you need to do is:
720 CLASS="PROGRAMLISTING"
730 > Now you can manually rename <TT
732 >privoxy_setup.exe</TT
736 >privoxy_setup_X_Y_Z.exe</TT
746 NAME="NEWRELEASE-DEBIAN"
750 > Ensure that you have the latest code version. Hence run:
760 CLASS="PROGRAMLISTING"
761 > cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
762 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
781 CLASS="PROGRAMLISTING"
782 > autoheader && autoconf && ./configure
798 NAME="NEWRELEASE-MACOSX"
802 > Ensure that you have the latest code version. Hence run:
812 CLASS="PROGRAMLISTING"
813 > cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
814 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
816 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co osxsetup
824 > From the osxsetup directory, run:
832 CLASS="PROGRAMLISTING"
855 Finally, it will copy over the necessary files to the ./osxsetup/files directory
856 for further processing by <TT
862 > Bring up PackageMaker with the PrivoxyPackage.pmsp definition file, modify the package
863 name to match the release, and hit the "Create package" button.
864 If you specify ./Privoxy.pkg as the output package name, you can then create
865 the distributable zip file with the command:
873 CLASS="PROGRAMLISTING"
874 >zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg
880 You can then upload <TT
882 >privoxyosx_setup_x.y.z.zip</TT
886 >uploads.sourceforge.net/incoming</TT
888 create a release for it, and you're done.
896 NAME="NEWRELEASE-FREEBSD"
900 > Change the version number of <SPAN
904 configure.in file. Run:
912 CLASS="PROGRAMLISTING"
913 > autoheader && autoconf && ./configure
922 > Login to Sourceforge's compilefarm via ssh:
932 CLASS="PROGRAMLISTING"
933 > ssh cf.sourceforge.net
941 > Choose the right operating system.
951 CLASS="PROGRAMLISTING"
952 > cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
953 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
972 CLASS="PROGRAMLISTING"
973 > autoheader && autoconf && ./configure
991 CLASS="PROGRAMLISTING"
1000 > which creates a gzip'ed tar archive. Sadly, you cannot use <B
1004 > on the Sourceforge machine (no ncftpput). You now have
1005 to manually upload the archive to Sourceforge's ftp server and release
1014 NAME="NEWRELEASE-TARBALL"
1018 > Ensure that you have the right code version. Hence run:
1028 CLASS="PROGRAMLISTING"
1029 > cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
1030 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
1049 CLASS="PROGRAMLISTING"
1050 > autoheader && autoconf && ./configure
1068 CLASS="PROGRAMLISTING"
1077 > To upload the package to Sourceforge, simply issue
1087 CLASS="PROGRAMLISTING"
1088 > make tarball-upload
1096 > Goto the displayed URL and release the file publicly on Sourceforge.
1104 NAME="NEWRELEASE-HPUX"
1108 > Ensure that you have the latest code version. Hence run:
1118 CLASS="PROGRAMLISTING"
1119 > cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
1120 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
1139 CLASS="PROGRAMLISTING"
1140 > autoheader && autoconf && ./configure
1156 NAME="NEWRELEASE-AMIGA"
1160 > Ensure that you have the latest code version. Hence run:
1170 CLASS="PROGRAMLISTING"
1171 > cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
1172 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
1191 CLASS="PROGRAMLISTING"
1192 > autoheader && autoconf && ./configure
1208 NAME="NEWRELEASE-AIX"
1212 > Login to Sourceforge's compilefarm via ssh:
1222 CLASS="PROGRAMLISTING"
1223 > ssh cf.sourceforge.net
1231 > Choose the right operating system. If you have downloaded Privoxy
1242 CLASS="PROGRAMLISTING"
1243 > cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
1244 cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
1254 HREF="http://www.privoxy.org/user-manual/user-manual/installation.html#INSTALLATION-SOURCE"
1257 Privoxy via CVS first</A
1268 CLASS="PROGRAMLISTING"
1269 > autoheader && autoconf && ./configure
1287 CLASS="PROGRAMLISTING"
1296 > which creates a gzip'ed tar archive. Sadly, you cannot use <B
1300 > on the Sourceforge machine (no ncftpput). You now have
1301 to manually upload the archive to Sourceforge's ftp server and release
1346 >Testing Guidelines</TD
1356 >Contacting the developers, Bug Reporting and Feature Requests</TD