X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fwebserver%2Fdeveloper-manual%2Fnewrelease.html;h=117bf1a0b03f2e3847efad2c9ac81bf2e459dc1f;hp=cc274d0c3ec3b4155c976c712e768963ba9b4bec;hb=65690f437fa5f89034b8e788f10eba449a5312e5;hpb=82ac2e01d409b437aef32aa0d182c4bcd2dbea6c diff --git a/doc/webserver/developer-manual/newrelease.html b/doc/webserver/developer-manual/newrelease.html index cc274d0c..117bf1a0 100644 --- a/doc/webserver/developer-manual/newrelease.html +++ b/doc/webserver/developer-manual/newrelease.html @@ -1,369 +1,304 @@ - Releasing a New Version - + - + - - + -
-

6. Releasing a New - Version

- -

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: ncftpput (ncftp), scp, ssh - (ssh), gmake (GNU's version of make), autoconf, - cvs.

- +

6. Releasing a New Version

+

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: ssh, gmake (GNU's version of make), autoconf, git, a web browser.

-

6.1. - Version numbers

- -

First you need to determine which version number the release will - have. Privoxy version numbers consist - of three numbers, separated by dots, like in X.Y.Z (e.g. 3.0.0), - where:

- +

6.1. Version numbers

+

First you need to determine which version number the release will have. Privoxy version numbers consist of three numbers, separated by dots, like in X.Y.Z (e.g. + 3.0.0), where:

- -

In summary, the main CVS trunk is the development branch where new - features are being worked on for the next stable series. This should - almost always be where the most activity takes place. There is always - at least one stable branch from the trunk, e.g now it is 3.0, which is only used to release stable versions. Once - the initial *.0 release of the stable branch has been done, then as a - rule, only bugfixes that have had prior testing should be committed to - the stable branch. Once there are enough bugfixes to justify a new - release, the version of this branch is again incremented Example: 3.0.0 - -> 3.0.1 -> 3.0.2, etc are all stable releases from within the - stable branch. 3.1.x is currently the main trunk, and where work on - 3.2.x is taking place. If any questions, please post to the devel list - before committing - to a stable branch!

- -

Developers should remember too that if they commit a bugfix to the - stable branch, this will more than likely require a separate submission - to the main trunk, since these are separate development trees within - CVS. If you are working on both, then this would require at least two - separate check outs (i.e main trunk, and the stable release branch, which is - v_3_0_branch at the moment).

+

In summary, the main Git trunk is the development branch where new features are being worked on for the next + stable series. This should almost always be where the most activity takes place. There is always at least one + stable branch from the trunk, e.g now it is 3.0, which is only used to release stable + versions. Once the initial *.0 release of the stable branch has been done, then as a rule, only bugfixes that + have had prior testing should be committed to the stable branch. Once there are enough bugfixes to justify a new + release, the version of this branch is again incremented Example: 3.0.0 -> 3.0.1 -> 3.0.2, etc are all + stable releases from within the stable branch. 3.1.x is currently the main trunk, and where work on 3.2.x is + taking place. If any questions, please post to the devel list before committing to a stable branch!

+

Developers should remember too that if they commit a bugfix to the stable branch, this will more than likely + require a separate submission to the main trunk, since these are separate development trees within Git. If you + are working on both, then this would require at least two separate check outs (i.e main trunk, and the stable release branch, which is v_3_0_branch at the moment).

-
-

6.2. - Before the Release: Freeze

- -

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

- +

6.2. Before the Release

+

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

-
-

6.3. Building - and Releasing the Packages

- -

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

- +

6.3. Building and Releasing the Packages

+

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 Git into an empty directory (just press return when asked for a password):

-
-  mkdir dist # delete or choose different name if it already exists
+            
  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
-
+ git clone https://www.privoxy.org/git/privoxy.git + cd privoxy + git checkout v_X_Y_Z
- -

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.

- +

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

-
Warning
-

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!

+

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.

- +

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!

- +

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 write access - to: all *.action files, all logfiles, - and the trust file. You will need to - determine the best way to do this for your platform.

    +

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

  • -
  • -

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

    - +

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

    - +
    LICENSE (top-level - directory)LICENSE (top-level directory)
    - - +
    README (top-level - directory)README (top-level directory)
    - - +
    AUTHORS (top-level - directory)AUTHORS (top-level directory)
    - - +
    man page (top-level - directory, Unix-like platforms only)man page (top-level directory, Unix-like platforms only)
    - - +
    The User Manual - (doc/webserver/user-manual/)The User Manual (doc/webserver/user-manual/)
    - @@ -371,782 +306,437 @@
    - -

    Also suggested: Developer Manual - (doc/webserver/developer-manual) and 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.

    - -

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

    +

    Also suggested: Developer Manual (doc/webserver/developer-manual) and + ChangeLog (top-level directory). FAQ and the manuals + are HTML docs.

    +

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

    +

    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.

    +

    Other configuration files (default.action, regression-tests.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).

    +

    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.

    +

    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:

- +

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 from that + directory:

-
-  cd current
-  autoheader && autoconf && ./configure
-
+
  autoheader && autoconf && ./configure
-

Then do:

-
-
-  make tarball-dist
-
+
  make tarball-dist
- -

To upload the package to Sourceforge, simply issue

- +
+
+

6.3.3. Windows

+

Note that the docbook generated files might need some hand editing, so the Windows build makefile does not + rebuild the docs.

+

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

+

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

-
-  make tarball-upload
-
+
  cd windows
+  make
- -

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.

-
- -
-

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.

- -

Then run:

- +

Now you can manually rename privoxy_setup.exe to privoxy_setup_X.Y.Z.exe, and the build directory to privoxy_X.Y.Z. Create a .zip file of the newly renamed privoxy_X.Y.Z + directory, GPG sign the installer and zip file,

-
-  cd current
-  autoheader && autoconf && ./configure
-
+
  $ gpg --armor --detach --sign privoxy_setup_X.Y.Z.exe
+  $ gpg --armor --detach --sign privoxy_X.Y.Z.zip
- -

Then do

- +

and upload the files to SourceForge.

+

When releasing the package on SourceForge, use the release notes and Change Log from the source tarball + package.

+
+
+

6.3.4. Debian

+

Using git-buildpackage we start with a clone of the last Debian version:

-
-  make dist-dist
-
+
  gbp clone https://salsa.debian.org/debian/privoxy.git
+  cd privoxy
- -

To upload the package to Sourceforge, simply issue

- +

or if the repository is already there

-
-  make dist-upload rpm_packagerev
-
+
  cd privoxy
+  gbp pull
- -

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:

- +

Now import the newly released upstream tarball via debian/watch file:

-
-  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co os2setup
-
+
  gbp import-orig --uscan
- -

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,

- +

Next update all Debian quilt patches to the new version:

-
-  installExeName='privoxyos2_setup_X.Y.Z.exe'
-
+
  while quilt push; do quilt refresh; done
- -

Next, edit the IJB.wis file so the - release number matches in the PACKAGEID - section:

- +

If some patch is no longer required (because it is already merged upstream), it can be removed using

-
-  PACKAGEID="Privoxy Team\Privoxy\Privoxy Package\X\Y\Z"
-
+
  quilt delete XX_patchname.patch
+  git rm debian/patches/XX_patchname.patch
- -

You're now ready to build. Run:

- +

If the patch needs modification, you can apply, edit and update it with

-
-  os2build
-
+
  quilt push -f
+  quilt edit some_file
+  quilt refresh
- -

You will find the WarpIN-installable executable in the ./files directory. Upload this 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.

-
- -
-

6.3.5. Solaris

- -

Login to Sourceforge's compilefarm via ssh:

- +

until

-
-  ssh cf.sourceforge.net
-
+
  while quilt push; do quilt refresh; done
- -

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:

- +

succeeds. Then you can

-
-  cd current
-  autoheader && autoconf && ./configure
-
+
  quilt pop -a
- -

Then run

- +

Now add a new entry to the debian/changelog representing the new version:

-
-  gmake solaris-dist
-
+
  dch -v 3.0.30-1
- -

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:

- +

and describe what you did before and don't forget to git commit all changes.

+

Now you can build the package on the local machine using

-
-  cvs -z3  -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co winsetup
-
+
  gbp buildpackage -us -uc
- -

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

- +

You should check for warnings using

-
-  cd winsetup
-  make
-
+
  lintian -iI ../build-area/privoxy_3.0.30-1_amd64.changes
- -

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.

-
- -
-

6.3.7. Debian

- -

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:

- +

Maybe rebuild the package in different defined cowbuilder environments like

-
-  debchange -v 3.0.22-stable-1 "New upstream version"
-
+
  sudo cowbuilder --build --basepath /var/cache/pbuilder/base.cow ../build-area/privoxy_3.0.30-1.dsc
- -

Then, run:

- +

And try to run autopackage testing suite on the result:

-
-  dpkg-buildpackage -rfakeroot -us -uc -b
-
+
  autopkgtest /var/cache/pbuilder/result/privoxy_3.0.30-1_amd64.changes -s -- schroot sid
- -

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

- +

Or just push the changes to salsa.debian.org, where a CI pipeline is defined for the package, that builds + and tests it.

+

If everything is okay, run cowbuilder with i386 and amd64 environments for current Debian stable release and + build privoxy_3.0.30-1_i386.deb and privoxy_3.0.30-1_amd64.deb. Then sign both files:

-
-  make debian-upload
-
+
  gpg --detach-sign --armor privoxy_3.0.30-1_i386.deb
+  gpg --detach-sign --armor privoxy_3.0.30-1_amd64.deb
+

Create a README file containing the recent block from debian/changelog and upload the two packages, the two + signatures and the README to a freshly created folder below + https://sourceforge.net/projects/ijbswa/files/Debian/

+
+

6.3.4.1. Debian GIT Snapshot

+

For building just a git snapshot build the following workflow may be useful. First create a build + environment, for this you may have to run the following commands:

+ + + + +
+
  sudo apt install build-essential devscripts
+  sudo apt-get build-dep privoxy
+
+

After this enter the checked out privoxy git tree and check that all (new) build dependencies are met:

+ + + + +
+
  dpkg-checkbuilddeps
+
+

If something is missing, just add it using

+ + + + +
+
  sudo apt install foobar
+
+

Now you may update debian/changelog, especially the version number using

+ + + + +
+
  dch
+
+

and finally build the package:

+ + + + +
+
  debuild -us -uc -b
+
+

If everything went okay, you may find the resulting Debian package in the parent directory.

+

You may want to clean up the build tree using

+ + + + +
+
  debian/rules clean
+
+

And maybe repair some artefacts using one or both of the following commands:

+ + + + +
+
  git reset --hard
+  git clean -fd
+
+
-
-

6.3.8. Mac OS X

- -

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

- -

There are three modules available in the CVS repository for use on - Mac OS X, though technically only two of them generate a release (the - other can be used to install from source).

- +

6.3.5. Mac OS X

+

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

+

There are three modules available in the CVS repository backups for use on Mac OS X, though technically only + two of them generate a release (the other can be used to install from source).

-

6.3.8.1. OSXPackageBuilder - module

- -

The OSXPackageBuilder module generates OS X installer packages - supporting all Macs running OS X 10.4 and above. Obtain it from CVS - as follows into a folder parallel to the exported privoxy - source:

- +

6.3.5.1. + OSXPackageBuilder module (Documentation out of date)

+

The OSXPackageBuilder module generates OS X installer packages supporting all Macs running OS X 10.4 and + above. Obtain it from CVS as follows into a folder parallel to the exported privoxy source:

-
-  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co OSXPackageBuilder
-
+
  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co OSXPackageBuilder
- -

The module contains complete instructions on its usage in the - file OS X Package Builder HOWTO.txt.

- -

Once the package(s) have been generated, you can then upload - them directly to the Files section of the Sourceforge project in - the Macintosh (OS X) folder. Each new version release of Privoxy - should have a new subfolder created in which to store its files. - Please ensure that the folder contains a readme file that makes it - clear which package is for whichversion of OS X.

+

The module contains complete instructions on its usage in the file OS X Package + Builder HOWTO.txt.

+

Once the package(s) have been generated, you can then upload them directly to the Files section of the + Sourceforge project in the Macintosh (OS X) folder. Each new version release of Privoxy should have a new + subfolder created in which to store its files. Please ensure that the folder contains a readme file that + makes it clear which package is for whichversion of OS X.

-
-

6.3.8.2. osxsetup module - (DEPRECATED)

- -

This module is - deprecated since the installer it generates places all Privoxy - files in one folder in a non-standard location, and supports only - Intel Macs running OS X 10.6 or higher.

- -

Check out the module from CVS as follows into a folder parallel - to the exported privoxy source:

- +

6.3.5.2. osxsetup module + (DEPRECATED) (Documentation out of date)

+

This module is deprecated since the installer it generates + places all Privoxy files in one folder in a non-standard location, and supports only Intel Macs running OS X + 10.6 or higher.

+

Check out the module from CVS as follows into a folder parallel to the exported privoxy source:

-
-  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup
-
+
  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup
-

Then run:

-
-
-  cd osxsetup
-  build
-
+
  cd osxsetup
+  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:

- +

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
-
+
  zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg
- -

You can then upload this file directly to the Files section of - the Sourceforge project in the Macintosh (OS X) folder. Each new - version release of Privoxy should have a new subfolder created in - which to store its files. Please ensure that the folder contains a - readme file that makes it clear which version(s) of OS X the +

You can then upload this file directly to the Files section of the Sourceforge project in the Macintosh + (OS X) folder. Each new version release of Privoxy should have a new subfolder created in which to store its + files. Please ensure that the folder contains a readme file that makes it clear which version(s) of OS X the package supports.

-
-

6.3.8.3. macsetup module

- -

The macsetup module is ideal if you wish to build and install - Privoxy from source on a single machine.

- -

Check out the module from CVS as follows into a folder parallel - to the exported privoxy source:

- +

6.3.5.3. macsetup module + (Documentation out of date)

+

The macsetup module is ideal if you wish to build and install Privoxy from source on a single machine.

+

Check out the module from CVS as follows into a folder parallel to the exported privoxy source:

-
-  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co macsetup
-
+
  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co macsetup
- -

The module contains complete instructions on its usage in its - README file. The end result will be the - exported version of Privoxy installed on the build machine.

+

The module contains complete instructions on its usage in its README file. The + end result will be the exported version of Privoxy installed on the build machine.

-
-

6.3.9. FreeBSD

- -

Login to Sourceforge's compile-farm via ssh:

- - - - - -
-
-  ssh cf.sourceforge.net
-
-
- -

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

- - - - - -
-
-  cd current
-  autoheader && autoconf && ./configure
-
-
- -

Then do FIXME.

-
- -
-

6.3.11. Amiga OS

- -

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

Then do FIXME.

-
- -
-

6.3.12. AIX

- -

Login to Sourceforge's compilefarm via ssh:

- - - - - -
-
-  ssh cf.sourceforge.net
-
-
- -

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

+

6.3.6. FreeBSD

+

Update the www/privoxy port and submit a diff upstream. For details see the FreeBSD Porter's + Handbook.

-
-

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:

- +

6.4. Uploading and Releasing Your Package

+

After the package is ready, it is time to upload it and go through the release steps. The upload is done at + SourceForge after logging in.

+

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: "Announcing Privoxy + X.Y.Z $CODE_STATUS". 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.

+

Then update the source code for the next version to be released:

- -

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

-