X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fsource%2Fdeveloper-manual.sgml;h=79e0a7e02350f3a54d00ace8bd9eeaefda232b29;hp=50447a035c4e5a37bd91f873db7c45d4c74e0abf;hb=34a6a841e529579e2be4457ea0d4cb1befbc840a;hpb=cb8fe0ca6c21cf4a8a433fc9cc4c6794c5e2b5f8
diff --git a/doc/source/developer-manual.sgml b/doc/source/developer-manual.sgml
index 50447a03..79e0a7e0 100644
--- a/doc/source/developer-manual.sgml
+++ b/doc/source/developer-manual.sgml
@@ -2060,7 +2060,8 @@ fk@t520 ~ $privoxy-regression-test.pl --test-number 785 --verbose --debug 4
Use the if the --privoxy-address option if the
- http_proxy environment variable isn't configured.
+ http_proxy environment variable isn't configured and you don't want
+ to use the default (http://127.0.0.1:8118/).
@@ -2490,9 +2491,7 @@ for-privoxy-version=3.0.11
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.
+ HTML docs.
The documentation has been designed such that the manuals are linked
@@ -2522,7 +2521,8 @@ for-privoxy-version=3.0.11
- Other configuration files (default.action and
+ 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
@@ -2557,10 +2557,9 @@ 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). Then run:
+ packages" above). Then run from that directory:
- cd current
autoheader && autoconf && ./configure
@@ -2569,98 +2568,6 @@ for-privoxy-version=3.0.11
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.
-
-
-
- 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 Git,
- 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:
-
-
- cd current
- autoheader && autoconf && ./configure
-
-
- Then do
-
-
- make dist-dist
-
-
- To upload the package to Sourceforge, simply issue
-
-
- make dist-upload rpm_packagerev
-
-
- 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.
-
-
-
- Solaris
-
- Login to Sourceforge's compilefarm via ssh:
-
-
- ssh cf.sourceforge.net
-
-
- 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
- autoheader && autoconf && ./configure
-
-
- Then run
-
-
- gmake solaris-dist
-
-
- 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.
-
Windows
@@ -2717,13 +2624,13 @@ for-privoxy-version=3.0.11
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:
+ already there, for example by running (from the debian directory):
debchange -v &p-version;-&p-status;-1 "New upstream version"
- Then, run:
+ Then, run (from the root directory):
dpkg-buildpackage -rfakeroot -us -uc -b
@@ -2731,12 +2638,172 @@ for-privoxy-version=3.0.11
This will create
../privoxy_&p-version;-&p-status;-1_i386.deb
- which can be uploaded. To upload the package to Sourceforge, simply
- issue
+ which can be uploaded.
-
- make debian-upload
-
+
+ Using git-buildpackage we start with a clone of the last Debian version:
+
+
+ gbp clone https://salsa.debian.org/debian/privoxy.git
+ cd privoxy
+
+
+ or if the repository is already there
+
+
+ cd privoxy
+ gbp pull
+
+
+ Now import the newly released upstream tarball via debian/watch file:
+
+
+ gbp import-orig --uscan
+
+
+ Next update all Debian quilt patches to the new version:
+
+
+ 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
+
+
+ If the patch needs modification, you can apply, edit and update it with
+
+
+ quilt push -f
+ quilt edit some_file
+ quilt refresh
+
+
+ until
+
+
+ while quilt push; do quilt refresh; done
+
+
+ succeeds. Then you can
+
+
+ quilt pop -a
+
+
+ Now add a new entry to the debian/changelog representing the new
+ version:
+
+
+ dch -v &p-version;-1
+
+
+ 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
+
+
+ gbp buildpackage -us -uc
+
+
+ You should check for warnings using
+
+
+ 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
+
+
+ And try to run autopackage testing suite on the result:
+
+
+ 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
+ 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_&p-version;-1_i386.deb and privoxy_&p-version;-1_amd64.deb.
+ Then sign both files:
+
+
+ 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
+ and upload the two packages, the two signatures and the README to a
+ freshly created folder below
+ https://sourceforge.net/projects/ijbswa/files/Debian/
+
+
+ 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
+
+
Mac OS X
@@ -2851,38 +2918,10 @@ for-privoxy-version=3.0.11
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:
-
-
-
-
- Upload to: ftp://upload.sourceforge.net/incoming
-
-
-
-
- user: anonymous
-
-
-
-
- password: ijbswa-developers@lists.sourceforge.net
-
-
-
-
- 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. &p-version;
- (beta).
+ 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
@@ -2909,7 +2948,7 @@ for-privoxy-version=3.0.11
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
+ 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