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, ???.
Replace X, Y and Z with the actual version number (X = major, Y = minor, Z = point):
The following must be done by one of the developers prior to each new release.
Make sure that everybody who has worked on the code in the last couple of days has had a chance to yell "no!" in case they have pending changes/fixes in their pipelines.
Increment the version number in configure.in in CVS. Also, inrease or reset the RPM release number in configure.in as appropriate. Do NOT touch version information after export from CVS. All packages will use the version and release data from configure.in. Local files should not be changed, except prior to a CVS commit!!! This way we are all on the same page!
If the default actionsfile has changed since last release, bump up its version info in this line:
{+add-header{X-Actions-File-Version: A.B} -filter -no-popups} |
Then change the version info in doc/webserver/actions/index.php, line: '$required_actions_file_version = "A.B";'
Commit all files that were changed in the above steps!
Tag all files in CVS with the version number with "cvs tag v_X_Y_Z". Don't use vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) etc.
The first package uploaded should be the official "tarball" release. This is built with the "make tarball-dist" Makefile target, and then can be uploaded with "make tarball-upload" (see below).
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.
Ensure that you have the latest code version. Hence run:
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 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.
Ensure that you have the latest code version. Hence run:
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' |
PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z" |
os2build |
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,
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 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.
Ensure that you have the latest code version. Hence run
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 current |
Run:
autoheader && autoconf && ./configure |
Then do FIXME.
Ensure that you have the latest code version. Hence run:
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 current |
first. Run:
autoheader && autoconf && ./configure |
Then do FIXME.
Ensure that you have the latest code version. Hence run:
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 |
Change the version number of Privoxy in the configure.in file. Run:
autoheader && autoconf && ./configure |
Login to Sourceforge's compilefarm via ssh:
ssh cf.sourceforge.net |
Choose the right operating system.
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 current |
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.
Ensure that you have the right code version. Hence run:
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 current |
first. Run:
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.
Ensure that you have the latest code version. Hence run:
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 current |
first. Run:
autoheader && autoconf && ./configure |
Then do FIXME.
Ensure that you have the latest code version. Hence run:
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 current |
first. Run:
autoheader && autoconf && ./configure |
Then do FIXME.
Login to Sourceforge's compilefarm via ssh:
ssh cf.sourceforge.net |
Choose the right operating system. If you have downloaded Privoxy before:
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 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.