X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fwebserver%2Fdeveloper-manual%2Fnewrelease.html;h=a188843bb5125d889fc11f5d8cdafa88239e864b;hb=56d03106907472899fa6e8933e81058744ce0fed;hp=9e67a867db57113ca90b6e6dadcdb893e2f842c9;hpb=281c503f6d2799387e2dfac7fccdd3d885c6312e;p=privoxy.git diff --git a/doc/webserver/developer-manual/newrelease.html b/doc/webserver/developer-manual/newrelease.html index 9e67a867..a188843b 100644 --- a/doc/webserver/developer-manual/newrelease.html +++ b/doc/webserver/developer-manual/newrelease.html @@ -1,7 +1,7 @@ Releasing a new versionReleasing a New VersionNext8. Releasing a new version8. 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. +> When we release versions of Privoxy, + our work leaves our cozy secret lab and has to work in the cold + RealWorld[tm]. Once it is released, there is no way to call it + back, so it is very important that great care is taken to ensure + that everything runs fine, and not to introduce problems in the + very last minute. +

So when releasing a new version, please adhere exactly to the + procedure outlined in this chapter.

The following programs are required to follow this process: @@ -86,12 +95,16 @@ CLASS="FILENAME" >ncftpput (ncftp), scpscp, ssh (ssh), -gmake (GNU's version of make), autoconf, cvs, ???. +> (GNU's version of make), autoconf, cvs. +

In the following text, replace X, Y and Z with the actual version number + (X = major, Y = minor, Z = point):

must be done by one of the developers prior to each new release: +> prior to each new release.

  • Increment the version number in Increment the version number and increase or reset the RPM release number + in configure.in in - CVS. Also, the RPM release number in - configure.in. 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! +> as appropriate.

  • If the default actionsfile has changed since last release, - bump up its version info in this line: +> If the default actionsfile has changed since last + release, bump up its version info in this line:

    @@ -175,40 +177,30 @@ CLASS="PROGRAMLISTING" >

  • Tag all files in CVS with the version number with - "cvs tag v_X_Y_Z" (where X = major, Y - = minor, Z = point). Don't use vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) - etc. +> If the HTML documentation is not in sync with the SGML sources + you need to regenerate it. (If in doubt, just do it.) See the + Section "Updating the webserver" in this manual for details.

  • 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 +> Commit all files that were changed in the above steps! +

  • Tag all files in CVS with the version number with "make tarball-uploadcvs tag v_X_Y_Z" (see below). +>. + Don't use vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) etc.

  • 8.2. Update the webserver8.2. Building and Releasing the Packages

    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 -

    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. +

    For all types of packages, including the source tarball, + you must make sure that you build from clean sources by exporting + the right version from CVS into an empty directory:. +

      make webserver
    -	
    mkdir dist # delete or choose different name if it already exists + cd dist + 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 +
    -

    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. -

    Do NOT change a single bit, including, but not limited to + version information after export from CVS. This is to make sure that + all release packages, and with them, all future bug reports, are based + on exactly the same code. +

    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. -

    Please find additional instructions for the source tarball and the + individual platform dependent binary packages below. +

    8.3. SuSE or Red Hat

    8.2.1. Source Tarball

    Ensure that you have the latest code version. Hence run: +> First, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then 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
    +  autoheader && autoconf && ./configure
     	

    first. +> Then do:

      autoheader && autoconf && ./configure
    +>  make tarball-dist
    +	
    +

    To upload the package to Sourceforge, simply issue +

      make tarball-upload
    +	
    +

    Go to the displayed URL and release the file publicly on Sourceforge. + For the change log field, use the relevant section of the + ChangeLog file. +

    8.2.2. SuSE or Red Hat

    First, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then run: +

    Go to the displayed URL and release the file publicly on Sourceforge. + Use the release notes and çhange log from the source tarball package.

    8.4. OS/2

    8.2.3. OS/2

    Ensure that you have the latest code version. Hence run: +> First, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then get the OS/2 Setup module:

      cd current
    +  autoheader && autoconf && ./configure
     	
      make suse-dist or make redhat-dist
    +>  make suse-dist (or make redhat-dist)
     	
      make suse-upload or make redhat-upload
    +>  make suse-upload (or make redhat-upload)
     	
    directory. Edit the os2build.cmd file to set the final executable filename. For example, -
      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
    +>  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co os2setup
     	

    - Next, edit the

    Next, edit the IJB.wis file so the release number matches @@ -469,7 +506,9 @@ CLASS="FILENAME" CLASS="FILENAME" >PACKAGEID section: -

    - You're now ready to build. Run: -

    You're now ready to build. Run: +

    - And in the

    You will find the WarpIN-installable executable in the + ./files directory you will have the - WarpIN-installable executable. - Upload this anonymously to - directory. Upload this anonymously to + uploads.sourceforge.net/incoming, create a release - for it, and you're done. + for it, and you're done. Use the release notes and Change Log from the + source tarball package.

    8.5. Solaris

    8.2.4. Solaris

    Login to Sourceforge's compilefarm via ssh +> Login to Sourceforge's compilefarm via ssh:

    Choose the right operating system (not the Debian one). If you have - downloaded Privoxy before, +> Choose the right operating system (not the Debian one). + When logged in, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then 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
    -	
    -

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

    on the Sourceforge machine (no ncftpput). You now have to manually upload the archive to Sourceforge's ftp server and release - the file publicly. + the file publicly. Use the release notes and Change Log from the + source tarball package.

    8.6. Windows

    8.2.5. Windows

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

    You should ensure you have the latest version of Cygwin (from + http://www.cygwin.com/). + Run the following commands from within a Cygwin bash shell. +

      autoheader && autoconf && ./configure
    +  autoheader && autoconf && ./configure
     	
    First, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then get the Windows setup module: +

      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
    -	
    cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co winsetup +
    -

    Run: -

    Then you can build the package. This is fully automated, and is + controlled by winsetup/GNUmakefile. + All you need to do is: +

      autoheader && autoconf && ./configure
    -	
    cd winsetup + make +
    -

    Then do FIXME. -

    Now you can manually rename privoxy_setup.exe to + privoxy_setup_X_Y_Z.exe, and upload it to + SourceForge. When releasing the package on SourceForge, use the release notes + and Change Log from the source tarball package. +

    8.7. Debian

    8.2.6. Debian

    Ensure that you have the latest code version. Hence run: +> First, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then, 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: -

    8.8. Mac OSX

    8.2.7. Mac OSX

    Ensure that you have the latest code version. Hence run: +> First, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then get the Mac OSX setup module:

      autoheader && autoconf && ./configure
    +  autoheader && autoconf && ./configure
     	

    From the osxsetup directory, 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
    +>  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co osxsetup
     	
    Then run: +

      build
    +>  cd osxsetup
    +  build
     	
    - You can then upload

    You can then upload privoxyosx_setup_x.y.z.zip anonymously to @@ -816,39 +859,18 @@ CLASS="FILENAME" CLASS="FILENAME" >uploads.sourceforge.net/incoming, - create a release for it, and you're done. + create a release for it, and you're done. Use the release notes + and Change Log from the source tarball package.

    8.9. FreeBSD

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

    8.2.8. FreeBSD

    Login to Sourceforge's compilefarm via ssh:

    Choose the right operating system. If you have downloaded Privoxy - before, +> Choose the right operating system. + When logged in, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then 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
    -	
    -

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

    on the Sourceforge machine (no ncftpput). You now have to manually upload the archive to Sourceforge's ftp server and release - the file publicly. + the file publicly. Use the release notes and Change Log from the + source tarball package.

    8.10. Tarball

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

      autoheader && autoconf && ./configure
    +  autoheader && autoconf && ./configure
     	
      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

    8.2.9. HP-UX 11

    Ensure that you have the latest code version. Hence run: +> First, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then 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: -

    8.12. Amiga OS

    8.2.10. Amiga OS

    Ensure that you have the latest code version. Hence run: +> First, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then run:

      autoheader && autoconf && ./configure
    +  autoheader && autoconf && ./configure
     	
      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: -

    8.13. AIX

    8.2.11. AIX

    Login to Sourceforge's compilefarm via ssh:

    Choose the right operating system. If you have downloaded Privoxy - before: +> Choose the right operating system. + When logged in, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then run:

      autoheader && autoconf && ./configure
    +  autoheader && autoconf && ./configure
     	
      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: -

    on the Sourceforge machine (no ncftpput). You now have to manually upload the archive to Sourceforge's ftp server and release - the file publicly. + the file publicly. Use the release notes and Change Log from the + source tarball package.

    8.3. After the Release

    When all (or: most of the) packages have been uploaded and made available, + send an email to the announce + mailing list, Subject: "Version X.Y.Z available for download". Be sure to + include the + download + location, the release notes and the change log. +

      autoheader && autoconf && ./configure
    +  autoheader && autoconf && ./configure