X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=doc%2Fsource%2Fdeveloper-manual.sgml;h=e17e675cb9f781eaae8e6c1c3a27b38551253c15;hb=8566fa5928990558ee7fb10b2fb662ac3d20fb90;hp=2936a5511d37af52d46f011313ae4022dee72df5;hpb=5a8b4a2143b0e27a5f3436c9901b98d7ed3f104a;p=privoxy.git
diff --git a/doc/source/developer-manual.sgml b/doc/source/developer-manual.sgml
index 2936a551..e17e675c 100644
--- a/doc/source/developer-manual.sgml
+++ b/doc/source/developer-manual.sgml
@@ -5,7 +5,7 @@
-
+
@@ -19,7 +19,7 @@
Purpose : developer manual
- Copyright (C) 2001-2021 Privoxy Developers https://www.privoxy.org/
+ Copyright (C) 2001-2023 Privoxy Developers https://www.privoxy.org/
See LICENSE.
========================================================================
@@ -39,7 +39,7 @@
Copyright
- &my-copy; 2001-2021 by
+ &my-copy; 2001-2023 by
Privoxy Developers
@@ -2057,7 +2057,7 @@ fk@t520 ~ $privoxy-regression-test.pl --test-number 785 --verbose --debug 4
2020-12-14 12:17:56: Ooops. Expected removal but: 'Referer: https://p.p/' is still there.
2020-12-14 12:17:56: Failure for test 785 (0/13/5). Header 'Referer: https://p.p/' and tag 'hide-referrer{conditional-block}'
2020-12-14 12:17:56: Executed 1 regression tests. Skipped 1201. 0 successes, 1 failures.
-
+
Use the if the --privoxy-address option if the
http_proxy environment variable isn't configured and you don't want
@@ -2294,12 +2294,12 @@ for-privoxy-version=3.0.11
Create the change log:
- $ git tag
- # to see the tags
- $ git log [last release tag]..master > /tmp/log
- # get the commit log since the last release
- $ utils/makeChangeLog /tmp/log > /tmp/change.log
- # reformat the commit log
+$ git tag
+# to see the tags
+$ git log [last release tag]..master > /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
@@ -2322,7 +2322,7 @@ for-privoxy-version=3.0.11
doc/source/changelog.sgml:
- $ utils/changelog2doc.pl /tmp/change.log >| doc/source/changelog.sgml
+$ utils/changelog2doc.pl /tmp/change.log >| doc/source/changelog.sgml
@@ -2340,11 +2340,11 @@ for-privoxy-version=3.0.11
All documentation should be rebuilt:
- $ make man
- $ make dok
- $ make dok-man
- $ make dok-tidy
- $ make config-file
+$ 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
@@ -2417,11 +2417,11 @@ for-privoxy-version=3.0.11
- mkdir dist # delete or choose different name if it already exists
- cd dist
- git clone https://www.privoxy.org/git/privoxy.git
- cd privoxy
- git checkout v_X_Y_Z
+mkdir dist # delete or choose different name if it already exists
+cd dist
+git clone https://www.privoxy.org/git/privoxy.git
+cd privoxy
+git checkout v_X_Y_Z
@@ -2571,13 +2571,13 @@ for-privoxy-version=3.0.11
packages" above). Then run from that directory:
- autoheader && autoconf && ./configure
+autoheader && autoconf && ./configure
Then do:
- make tarball-dist
+make tarball-dist
@@ -2596,17 +2596,32 @@ for-privoxy-version=3.0.11
First, make sure that you have freshly exported the right
version into an empty directory. (See "Building and releasing
packages" above).
-
+
+
+ Check that you have the current versions of the
+
+ NSIS installer,
+ PCRE library,
+ MBED TLS library,
+
+ Brotli library,
+ and that the MAKENSIS evar in
+ windows/GNUMakefile
+ points to the NSIS installer program. (See the
+
+ Building from Source / Windows
+ section of the User Manual for details.)
+
+
Then you can build the package. This is fully automated, and is
controlled by windows/GNUmakefile.
All you need to do is:
- cd windows
- make
+cd windows
+make
Now you can manually rename privoxy_setup.exe to
@@ -2616,8 +2631,8 @@ for-privoxy-version=3.0.11
GPG sign the installer and zip file,
- $ gpg --armor --detach --sign privoxy_setup_X.Y.Z.exe
- $ gpg --armor --detach --sign privoxy_X.Y.Z.zip
+gpg --armor --detach --sign privoxy_setup_X.Y.Z.exe
+gpg --armor --detach --sign privoxy_X.Y.Z.zip
and upload the files to SourceForge.
@@ -2634,62 +2649,62 @@ for-privoxy-version=3.0.11
Using git-buildpackage we start with a clone of the last Debian version:
- gbp clone https://salsa.debian.org/debian/privoxy.git
- cd privoxy
+gbp clone https://salsa.debian.org/debian/privoxy.git
+cd privoxy
or if the repository is already there
- cd privoxy
- gbp pull
+cd privoxy
+gbp pull
Now import the newly released upstream tarball via debian/watch file:
- gbp import-orig --uscan
+gbp import-orig --uscan
Next update all Debian quilt patches to the new version:
- while quilt push; do quilt refresh; done
+while quilt push; do quilt refresh; done
If some patch is no longer required (because it is already merged
upstream), it can be removed using
- quilt delete XX_patchname.patch
- git rm debian/patches/XX_patchname.patch
+quilt delete XX_patchname.patch
+git rm debian/patches/XX_patchname.patch
If the patch needs modification, you can apply, edit and update it with
- quilt push -f
- quilt edit some_file
- quilt refresh
+quilt push -f
+quilt edit some_file
+quilt refresh
until
- while quilt push; do quilt refresh; done
+while quilt push; do quilt refresh; done
succeeds. Then you can
- quilt pop -a
+quilt pop -a
Now add a new entry to the debian/changelog representing the new
version:
- dch -v &p-version;-1
+dch -v &p-version;-1
and describe what you did before and don't forget to git commit all
@@ -2699,26 +2714,26 @@ for-privoxy-version=3.0.11
Now you can build the package on the local machine using
- gbp buildpackage -us -uc
+gbp buildpackage -us -uc
You should check for warnings using
- lintian -iI ../build-area/privoxy_&p-version;-1_amd64.changes
+lintian -iI ../build-area/privoxy_&p-version;-1_amd64.changes
Maybe rebuild the package in different defined cowbuilder environments
like
- sudo cowbuilder --build --basepath /var/cache/pbuilder/base.cow ../build-area/privoxy_&p-version;-1.dsc
+sudo cowbuilder --build --basepath /var/cache/pbuilder/base.cow ../build-area/privoxy_&p-version;-1.dsc
And try to run autopackage testing suite on the result:
- autopkgtest /var/cache/pbuilder/result/privoxy_&p-version;-1_amd64.changes -s -- schroot sid
+autopkgtest /var/cache/pbuilder/result/privoxy_&p-version;-1_amd64.changes -s -- schroot sid
Or just push the changes to salsa.debian.org, where a CI pipeline is
@@ -2731,8 +2746,8 @@ for-privoxy-version=3.0.11
Then sign both files:
- gpg --detach-sign --armor privoxy_&p-version;-1_i386.deb
- gpg --detach-sign --armor privoxy_&p-version;-1_amd64.deb
+gpg --detach-sign --armor privoxy_&p-version;-1_i386.deb
+gpg --detach-sign --armor privoxy_&p-version;-1_amd64.deb
Create a README file containing the recent block from debian/changelog
@@ -2748,34 +2763,34 @@ for-privoxy-version=3.0.11
run the following commands:
- sudo apt install build-essential devscripts
- sudo apt-get build-dep privoxy
+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
+dpkg-checkbuilddeps
If something is missing, just add it using
- sudo apt install foobar
+sudo apt install foobar
Now you may update debian/changelog, especially the version number
using
- dch
+dch
and finally build the package:
- debuild -us -uc -b
+debuild -us -uc -b
If everything went okay, you may find the resulting Debian package in
@@ -2785,117 +2800,45 @@ for-privoxy-version=3.0.11
You may want to clean up the build tree using
- debian/rules clean
+debian/rules clean
And maybe repair some artefacts using one or both of the following
commands:
- git reset --hard
- git clean -fd
+git reset --hard
+git clean -fd
- Mac OS X
+ macOS / 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).
+ The OSXPackageBuilder module can generate OS X installer packages
+ supporting all Macs running OS X 10.4 and above. Obtain it from Git as
+ follows into a folder parallel to the exported privoxy source:
-
- 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
-
-
- 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.
-
-
-
- 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
-
-
- Then run:
-
-
- 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:
-
-
- 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 package supports.
-
-
-
- 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
+
+git clone ssh://git@git.privoxy.org:23/git/OSXPackageBuilder.git
-
- 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 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 which version of OS X.
+
FreeBSD
@@ -2934,6 +2877,31 @@ for-privoxy-version=3.0.11
+
+
After the Release
@@ -2993,7 +2961,7 @@ for-privoxy-version=3.0.11
SGML files, do:
- make dok
+make dok && make dok-tidy
That will generate doc/webserver/user-manual,
@@ -3018,7 +2986,7 @@ for-privoxy-version=3.0.11
If these are docs in the stable branch, then do:
- make webserver
+make webserver
This will do the upload to the SourceForge webserver (which is manually