X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fwebserver%2Fdeveloper-manual%2Fnewrelease.html;h=0cdb4851bb41ea3637234515cdd62674ef63fc3c;hp=9e364c901f9cd2c680d7d722e3126d576cb79732;hb=345a4d0bce0d40df7255eb1aeb2c1473dcb11f47;hpb=86ac3ff98d6515df64db2e147c1725cf87dabda5 diff --git a/doc/webserver/developer-manual/newrelease.html b/doc/webserver/developer-manual/newrelease.html index 9e364c90..0cdb4851 100644 --- a/doc/webserver/developer-manual/newrelease.html +++ b/doc/webserver/developer-manual/newrelease.html @@ -1,10 +1,11 @@ + Releasing a new versionReleasing a New Version

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 On the webserver, copy the user manual to a new top-level directory + called doc/webserver directory (or - create new directories under X.Y.Z. This ensures that help links from the CGI + pages, which have the version as a prefix, will go into the right version of the manual. + If this is a development branch release, also symlink doc/webserver), then do -

      make webserver
    -	
    X.Y.(Z-1)
    -

    Note that "make dok" - (or "make redhat-dok") creates - doc/webserver/user-manual, - doc/webserver/developer-manual, - X.Y.Z and doc/webserver/faq and - X.Y.(Z+1) to + 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. -

    . (i.e. dot). +

  • +

    8.3. SuSE or Red Hat6.3. Building and Releasing the Packages

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

    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 (just press return when + asked for a password): +

      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
    -	
    mkdir dist # delete or choose different name if it already exists + cd dist + cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login + cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
    -

    first. -

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

      autoheader && autoconf && ./configure
    -	
    Warning
    -

    Then do -

      make suse-dist or make redhat-dist
    -	

    Every significant release of Privoxy has included at least one + package that either had incorrect versions of files, missing files, + or incidental leftovers from a previous build process that gave + unknown numbers of users headaches to try to figure out what was + wrong. PLEASE, make sure you are using pristene sources, and are + following the prescribed process! +

    Please find additional instructions for the source tarball and the + individual platform dependent binary packages below. And details + on the Sourceforge release process below that. +

    6.3.1. Note on Privoxy Packaging

    Please keep these general guidelines in mind when putting together + your package. These apply to all platforms! +

    • Privoxy requires -

      *.action files, all + logfiles, and the trust file. You will + need to determine the best way to do this for your platform. +

    • To upload the package to Sourceforge, simply issue -

      Please include up to date documentation. At a bare minimum: +

      LICENSE (top-level directory) +
        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: -

    README (top-level directory) +
      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, -

    AUTHORS (top-level directory) +
      installExeName='privoxyos2_setup_X.Y.Z.exe'
    -	
    - Next, edit the IJB.wis file so the release number matches - in the PACKAGEID section: -

    man page (top-level directory, Unix-like + platforms only) +
      PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"
    -	
    - You're now ready to build. Run: -

    The User Manual (doc/webserver/user-manual/) +
      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 -

    FAQ (doc/webserver/faq/) +
      ssh cf.sourceforge.net
    -	

    Also suggested: Developer Manual -

    ChangeLog + (top-level directory). FAQ and the manuals are + HTML docs. There are also text versions in + doc/text/ which could conceivably also be + included. +

    Choose the right operating system (not the Debian one). If you have - downloaded Privoxy before, +> The documentation has been designed such that the manuals are linked + to each other from parallel directories, and should be packaged + that way. privoxy-index.html can also be + included and can serve as a focal point for docs and other links of + interest (and possibly renamed to index.html). + This should be one level up from the manuals. There is a link also + on this page to an HTMLized version of the man page. To avoid 404 for + this, it is in CVS as + doc/webserver/man-page/privoxy-man-page.html, + and should be included along with the manuals. There is also a + css stylesheets that can be included for better presentation: + p_doc.css. This should be in the same directory + with privoxy-index.html, (i.e. one level up from + the manual directories). +

  • user.action and user.filter + are designed for local preferences. Make sure these do not get overwritten! + config should not be overwritten either. This + has especially important configuration data in it. + trust should be left in tact as well. +

  • Other configuration files (default.action and + default.filter) should be installed as the new + defaults, but all previously installed configuration files should be + preserved as backups. This is just good manners :-) These files are + likely to change between releases and contain important new features + and bug fixes. +

  • Please check platform specific notes in this doc, if you haven't + done "Privoxy" packaging before for other platform + specific issues. Conversely, please add any notes that you know + are important for your platform (or contact one of the doc + maintainers to do this if you can't). +

  • Packagers should do a "clean" install of their + package after building it. So any previous installs should be + removed first to ensure the integrity of the newly built package. + Then run the package for a while to make sure there are no + obvious problems, before uploading. +

  • +

    6.3.2. Source Tarball

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

    If not, please checkout - Privoxy via CVS first. Run: +> Then do:

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

    Then run +> To upload the package to Sourceforge, simply issue

      gmake solaris-dist
    -	
    make tarball-upload

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

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

    6.3.3. SuSE, Conectiva or Red Hat RPM

    In following text, replace dist + with either "rh" for Red Hat or "suse" for SuSE. +

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

    As the only exception to not changing anything after export from CVS, + now examine the file privoxy-dist.spec + 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 + dist which is built from version + X.Y.Z. Check the + file + list if unsure. Else, it must be set to the highest already available RPM + release number for that version plus one. +

    Ensure that you have the latest code version. Hence run +> Then 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
    -	
    cd current + autoheader && autoconf && ./configure

    Run: +> Then do

      autoheader && autoconf && ./configure
    -	
    make dist-dist

    Then do FIXME. -

    8.7. Debian

    Ensure that you have the latest code version. Hence run: +> To upload the package to Sourceforge, simply issue

      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
    -	
    make dist-upload rpm_packagerev

    first. Run: +> where rpm_packagerev is the + RPM release number as determined above. + Go to the displayed URL and release the file publicly on Sourceforge. + Use the release notes and change log from the source tarball package. +

    6.3.4. OS/2

    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:

      autoheader && autoconf && ./configure
    -	
    cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co os2setup

    Then do FIXME. +> 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.

    8.8. Mac OSX

    Ensure that you have the latest code version. Hence run: +> Change directory to the os2setup directory. + Edit the os2build.cmd file to set the final executable filename. + For example,

      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
    -	
    installExeName='privoxyos2_setup_X.Y.Z.exe'

    From the osxsetup directory, run: - Next, edit the IJB.wis file so the release number matches + in the PACKAGEID section: +

      build
    -	
    PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"

    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. +> You're now ready to build. Run:

    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
    -	
    os2build
    - You can then upload

    You will find the WarpIN-installable executable in the + privoxyosx_setup_x.y.z.zip anonymously to - ./files directory. Upload this anonymously to + 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

    6.3.5. Solaris

    Change the version number of Privoxy in the - configure.in file. Run: - Login to Sourceforge's compilefarm via ssh: +

      autoheader && autoconf && ./configure
    -	
    ssh cf.sourceforge.net
    - Then ... -

    Login to Sourceforge's compilefarm via ssh: +> 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:

      ssh cf.sourceforge.net
    -	
    cd current + autoheader && autoconf && ./configure

    Choose the right operating system. +> Then 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
    -	
    gmake solaris-dist

    Run: +> 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. Use the release notes and Change Log from the + source tarball package.

    6.3.6. Windows

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

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

      autoheader && autoconf && ./configure
    -	
    cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co winsetup
    -

    Then run: -

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

      gmake freebsd-dist
    -	
    cd winsetup + make
    -

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

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

    6.3.7. Debian

    Ensure that you have the right 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 add a log + entry to debian/changelog, if it is not + already there, for example by running: +

      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
    -	
    debchange -v 3.0.12-stable-1 "New upstream version"
    -

    Then, run: +

      dpkg-buildpackage -rfakeroot -us -uc -b
    +

    This will create + ../privoxy_3.0.12-stable-1_i386.deb + which can be uploaded. To upload the package to Sourceforge, simply + issue +

      make debian-upload
    +

    6.3.8. Mac OS X

    first. 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 OS X setup module:

      autoheader && autoconf && ./configure
    -	
    cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup

    Then do: +> Then run:

      make tarball-dist
    -	
    cd osxsetup + build

    To upload the package to Sourceforge, simply issue +> 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:

      make tarball-upload
    -	
    zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg

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

    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. Use the release notes + and Change Log from the source tarball package. +

    8.11. HP-UX 11

    6.3.9. FreeBSD

    Ensure that you have the latest code version. Hence run: +> Login to Sourceforge's compile-farm via ssh:

      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
    -	
    ssh cf.sourceforge.net

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

    Then do FIXME. -

    8.12. Amiga OS

    Ensure that you have the latest code version. Hence run: +> Then 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
    -	
    gmake freebsd-dist

    first. Run: +> 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. Use the release notes and Change Log from the + source tarball package. +

    6.3.10. HP-UX 11

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

    8.13. AIX

    6.3.11. Amiga OS

    Login to Sourceforge's compilefarm via ssh: +> First, make sure that you have freshly exported the right + version into an empty directory. (See "Building and releasing + packages" above). Then run:

      ssh cf.sourceforge.net
    -	
    cd current + autoheader && autoconf && ./configure

    Choose the right operating system. If you have downloaded Privoxy - before: +> Then do FIXME. +

    6.3.12. AIX

    Login to Sourceforge's compilefarm via ssh:

      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
    -	
    ssh cf.sourceforge.net

    If not, please checkout - Privoxy via CVS first. Run: +> 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
    -	
    cd current + autoheader && autoconf && ./configure

      make aix-dist
    -	
    make aix-dist 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.

    6.4. Uploading and Releasing Your Package

    After the package is ready, it is time to upload it + to SourceForge, and go through the release steps. The upload + is done via FTP: +

    +

    Or use the make targets as described above. +

    Once this done go to https://sourceforge.net/project/admin/editpackages.php?group_id=11118, + making sure you are logged in. Find your target platform in the + second column, and click Add Release. You will + then need to create a new release for your package, using the format + of $VERSION ($CODE_STATUS), e.g. 3.0.12 + (beta). +

    Now just follow the prompts. Be sure to add any appropriate Release + notes. You should see your freshly uploaded packages in + "Step 2. Add Files To This Release". Check the + appropriate box(es). Remember at each step to hit the + "Refresh/Submit" buttons! You should now see your + file(s) listed in Step 3. Fill out the forms with the appropriate + information for your platform, being sure to hit "Update" + for each file. If anyone is monitoring your platform, check the + "email" box at the very bottom to notify them of + the new package. This should do it! +

    If you have made errors, or need to make changes, you can go through + essentially the same steps, but select Edit Release, + instead of Add Release. +

    6.5. 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 Changelog. Also, post an + updated News item on the project page Sourceforge, and update the Home + page and docs linked from the Home page (see below). Other news sites + and release oriented sites, such as Freshmeat, should also be notified. +