8. Releasing a new version

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.

The following programs are required to follow this process: ncftpput (ncftp), scp (ssh), gmake (GNU's version of make), autoconf, cvs, ???.

8.1. Before the Release

The following must be done by one of the developers prior to each new release:

8.2. Update the webserver

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 doc/webserver directory (or create new directories under doc/webserver), then do

  make webserver
	

Note that "make dok" (or "make redhat-dok") creates doc/webserver/user-manual, doc/webserver/developer-manual, doc/webserver/faq and doc/webserver/man-page automatically.

Please do NOT use any other means of transferring files to the webserver. "make webserver" not only uploads, but will make sure that the appropriate permissions are preserved for shared group access.

8.3. SuSE or Red Hat

Ensure that you have the latest code version. Hence run:

  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
	

first.

  autoheader && autoconf && ./configure
	

Then do

  make suse-dist or make redhat-dist
	

To upload the package to Sourceforge, simply issue

  make suse-upload or make redhat-upload
	

Go to the displayed URL and release the file publicly on Sourceforge.

8.4. OS/2

Ensure that you have the latest code version. Hence run:

  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
	

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 autoheader, autoconf and sh tools. The packaging takes place with WarpIN, available from various sources, including its home page: xworkplace.

Change directory to the os2setup directory. Edit the os2build.cmd file to set the final executable filename. For example,
  installExeName='privoxyos2_setup_X.Y.Z.exe'
	
Next, edit the IJB.wis file so the release number matches in the PACKAGEID section:
  PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"
	
You're now ready to build. Run:
  os2build
	
And in the ./files directory you will have the WarpIN-installable executable. Upload this anonymously to uploads.sourceforge.net/incoming, create a release for it, and you're done.

8.5. Solaris

Login to Sourceforge's compilefarm via ssh

  ssh cf.sourceforge.net
	

Choose the right operating system (not the Debian one). If you have downloaded Privoxy before,

  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
	

If not, please checkout Privoxy via CVS first. Run:

  autoheader && autoconf && ./configure
	

Then run

  gmake solaris-dist
	

which creates a gzip'ed tar archive. Sadly, you cannot use make solaris-upload on the Sourceforge machine (no ncftpput). You now have to manually upload the archive to Sourceforge's ftp server and release the file publicly.

8.6. Windows

Ensure that you have the latest code version. Hence run

  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
	

Run:

  autoheader && autoconf && ./configure
	

Then do FIXME.

8.7. Debian

Ensure that you have the latest code version. Hence run:

  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
	

first. Run:

  autoheader && autoconf && ./configure
	

Then do FIXME.

8.8. Mac OSX

Ensure that you have the latest code version. Hence run:

  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
	

From the osxsetup directory, run:
  build
	

This will run autoheader, autoconf and configure as well as make. Finally, it will copy over the necessary files to the ./osxsetup/files directory for further processing by PackageMaker.

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:
zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg
	
You can then upload privoxyosx_setup_x.y.z.zip anonymously to uploads.sourceforge.net/incoming, create a release for it, and you're done.

8.9. FreeBSD

Change the version number of Privoxy in the configure.in file. Run:
  autoheader && autoconf && ./configure
	
Then ...

Login to Sourceforge's compilefarm via ssh:

  ssh cf.sourceforge.net
	

Choose the right operating system. If you have downloaded Privoxy before,

  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
	

If not, please checkout Privoxy via CVS first. Run:

  autoheader && autoconf && ./configure
	

Then run:

  gmake freebsd-dist
	

which creates a gzip'ed tar archive. Sadly, you cannot use make freebsd-upload on the Sourceforge machine (no ncftpput). You now have to manually upload the archive to Sourceforge's ftp server and release the file publicly.

8.10. Tarball

Ensure that you have the latest code version. Hence run:

  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
	

first. Run:

  make clobber
  autoheader && autoconf && ./configure
	

Then do:

  make tarball-dist
	

To upload the package to Sourceforge, simply issue

  make tarball-upload
	

Goto the displayed URL and release the file publicly on Sourceforge.

8.11. HP-UX 11

Ensure that you have the latest code version. Hence run:

  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
	

first. Run:

  autoheader && autoconf && ./configure
	

Then do FIXME.

8.12. Amiga OS

Ensure that you have the latest code version. Hence run:

  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
	

first. Run:

  autoheader && autoconf && ./configure
	

Then do FIXME.

8.13. AIX

Login to Sourceforge's compilefarm via ssh:

  ssh cf.sourceforge.net
	

Choose the right operating system. If you have downloaded Privoxy before:

  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
	

If not, please checkout Privoxy via CVS first. Run:

  autoheader && autoconf && ./configure
	

Then run:

  make aix-dist
	

which creates a gzip'ed tar archive. Sadly, you cannot use make aix-upload on the Sourceforge machine (no ncftpput). You now have to manually upload the archive to Sourceforge's ftp server and release the file publicly.