X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fsource%2Fdeveloper-manual.sgml;h=638a49b9251692599fddd9ec81b4c5493bac76ac;hp=9a4fe6d578868df03a22d34a2dc792170e7d8915;hb=979620bb4c7aaaeb96f07b73b823c686d83cf14c;hpb=3e837e6e9561de90b1db799199f8036977cb36b0 diff --git a/doc/source/developer-manual.sgml b/doc/source/developer-manual.sgml index 9a4fe6d5..638a49b9 100644 --- a/doc/source/developer-manual.sgml +++ b/doc/source/developer-manual.sgml @@ -5,10 +5,10 @@ - - - - + + + + @@ -19,7 +19,7 @@ Purpose : developer manual - Copyright (C) 2001-2018 Privoxy Developers https://www.privoxy.org/ + Copyright (C) 2001-2020 Privoxy Developers https://www.privoxy.org/ See LICENSE. ======================================================================== @@ -39,7 +39,7 @@ Copyright - &my-copy; 2001-2018 by + &my-copy; 2001-2020 by Privoxy Developers @@ -133,8 +133,8 @@ Hal. can be sent to the list for review too. - You will also need to have a git package installed, which will - entail having ssh installed as well, in order to access the git repository. + You will also need to have a git package installed, + in order to access the git repository. Having the GNU build tools is also going to be important (particularly, autoconf and gmake). @@ -158,10 +158,16 @@ Hal. Access to Git The project's Git repository is hosted at the - Privoxy site. - The Git repository URL is - ssh://git@git.privoxy.org:23/git/privoxy.git, - the central repository is called privoxy, and the + Privoxy website. + For Privoxy team members with push privileges the Git repository URL is + ssh://git@git.privoxy.org:23/git/privoxy.git. + + + Contributors without push privileges can + git clone https://www.privoxy.org/git/privoxy.git. + + + The central repository is called privoxy, and the source branch is called master. Subfolders exist within the project for target-dependent build and packaging tools, each including the name of the target operating system in their name (e.g. @@ -2139,7 +2145,7 @@ $ afl-fuzz -i input/ -o output/ -f bla.filter -m none privoxy --fuzz filter bla. - Before the Release: Freeze + Before the Release The following must be done by one of the developers prior to each new release. @@ -2189,7 +2195,56 @@ for-privoxy-version=3.0.11 - All documentation should be rebuild after the code status has been changed. + Create the change log: + + + $ git tag + # to see the tags + $ git log [last release tag]..HEAD > /tmp/log + # get the commit log since the last release + $ utils/makeChangeLog /tmp/log > /tmp/change.log + # reformat the commit log + + + Edit /tmp/change.log to remove trivial + changes and group the changes under general headings like: + + +- Bug fixes: +- Action file improvements: +- Filter file improvements: +- General improvements: +- Documentation improvements: +- Build system improvements: +- Code cleanups: +- Privoxy-Log-Parser: +- Privoxy-Regression-Test: + + + Add the contents of /tmp/change.log to the + start of ChangeLog and re-create + doc/source/changelog.sgml: + + + $ utils/changelog2doc.pl /tmp/change.log >| doc/source/changelog.sgml + + + + + All developers should look at the ChangeLog and + make sure noteworthy changes are referenced. + + + + + All documentation should be rebuilt: + + $ make man + $ make dok + $ make dok-man + $ make dok-tidy + $ make config-file + Finished docs should be then be committed to Git (for those without the ability to build these). Some docs may require rather obscure processing tools. config, @@ -2201,6 +2256,11 @@ for-privoxy-version=3.0.11 in this manual for details. + + + Commit all files that were changed in the above steps! + + The User Manual is also used for context @@ -2215,31 +2275,13 @@ for-privoxy-version=3.0.11 target for this at this time!!! It needs to be done manually. - - - All developers should look at the ChangeLog and - make sure noteworthy changes are referenced. - - - - - Commit all files that were changed in the above steps! - - Tag all files in Git with the version number with - cvs tag v_X_Y_Z. + git tag v_X_Y_Z. Don't use vX_Y_Z, ver_X_Y_Z, v_X.Y.Z (won't work) etc. - - - If the release was in a development branch, increase the point version - from even to odd (X.Y.(Z+1)) again in configure.in and - commit your change. - - On the webserver, copy the user manual to a new top-level directory @@ -2270,8 +2312,9 @@ for-privoxy-version=3.0.11 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 @@ -2493,55 +2536,6 @@ for-privoxy-version=3.0.11 - 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: - - - cvs -z3 -d:pserver:anonymous@ijbswa.cvs.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 - - - 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. - - - Solaris Login to Sourceforge's compilefarm via ssh: