<!--
- File : $Source: /cvsroot/ijbswa/current/doc/source/buildsource.sgml,v $
+ File : doc/source/buildsource.sgml
Purpose : Entity included in other project documents.
-
- $Id: buildsource.sgml,v 2.15 2008/01/17 01:49:51 hal9 Exp $
- Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
+ Copyright (C) 2001-2018 Privoxy Developers https://www.privoxy.org/
See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
- If you make changes to this file, please verify the finished
+ If you make changes to this file, please verify the finished
docs all display as intended.
This file is included into:
-->
<para>
- To build <application>Privoxy</application> from source,
+ To build <application>Privoxy</application> from source,
<ulink url="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</ulink>,
- <ulink
- url="http://www.gnu.org/software/make/make.html">GNU make
- (gmake)</ulink>, and, of course, a C compiler like <ulink
- url="http://www.gnu.org/software/gcc/gcc.html">gcc</ulink> are required.
+ <ulink url="http://www.gnu.org/software/make/make.html">GNU make (gmake)</ulink>,
+ and, of course, a C compiler like
+ <ulink url="http://www.gnu.org/software/gcc/gcc.html">gcc</ulink> are required.
</para>
<para>
When building from a source tarball,
-<!--
- no longer available ...
- <ulink
- url="http://cvs.sourceforge.net/cvstarballs/ijbswa-cvsroot.tar.gz">nightly CVS
- tarball</ulink>),
---> first unpack the source:
+<!-- no longer available ...
+ <ulink url="http://cvs.sourceforge.net/cvstarballs/ijbswa-cvsroot.tar.gz">
+ nightly CVS tarball</ulink>),
+-->
+ first unpack the source:
</para>
-<para>
- <screen>
- tar xzvf privoxy-&p-version;<![%p-not-stable;[-beta]]>-src* [.tgz or .tar.gz]
- cd privoxy-&p-version;<![%p-not-stable;[-beta]]>
+<screen>
+ tar xzvf privoxy-&p-version;<![%p-not-stable;[-beta]]><![%p-stable;[-stable]]>-src.tar.gz
+ cd privoxy-&p-version;<![%p-not-stable;[-beta]]><![%p-stable;[-stable]]>
</screen>
-</para>
<para>
- For retrieving the current CVS sources, you'll need a CVS client installed.
- Note that sources from CVS are typically development quality, and may not be
- stable, or well tested. To download CVS source, check the Sourceforge
- documentation, which might give commands like:
+ To build the development version, you can get the source code by doing:
</para>
-<para>
- <screen>
- cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
- cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
- cd current
+<screen>
+ cd <root-dir>
+ git clone https://www.privoxy.org/git/privoxy.git
</screen>
-</para>
<para>
- This will create a directory named <filename>current/</filename>, which will
- contain the source tree.
+ This will create a directory named <filename><root-dir>/privoxy/</filename>,
+ which will contain the source tree.
</para>
<para>
+ Note that source code in GIT is development quality, and may not be
+ stable or well tested.
+</para>
+
+<!-- para>
You can also check out any <application>Privoxy</application>
<quote>branch</quote>, just exchange the <application>current</application>
name with the wanted branch name (Example: v_3_0_branch for the 3.0 cvs
tree).
-</para>
+</para -->
<para>
- It is also strongly recommended to not run <application>Privoxy</application>
+ It is strongly recommended to not run <application>Privoxy</application>
as root. You should configure/install/run <application>Privoxy</application> as
- an unprivileged user, preferably by creating a <quote>privoxy</quote> user
+ an unprivileged user, preferably by creating a <quote>privoxy</quote> user
and group just for this purpose. See your local documentation for the correct
command line to do add new users and groups (something like
<command>adduser</command>, but the command syntax may vary from platform
- to platform).
+ to platform).
</para>
<para>
<filename>/etc/passwd</filename> might then look like:
</para>
-<para>
<screen> privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell</screen>
-</para>
<para>
And then <filename>/etc/group</filename>, like:
</para>
-<para>
<screen> privoxy:*:7777:</screen>
-</para>
<para>
Some binary packages may do this for you.
Then, to build from either unpacked tarball or CVS source:
</para>
-<para>
<screen>
autoheader
autoconf
./configure # (--help to see options)
- make # (the make from GNU, sometimes called gmake)
+ make # (the make from GNU, sometimes called gmake)
su # Possibly required
make -n install # (to see where all the files will go)
make -s install # (to really install, -s to silence output)</screen>
-</para>
<para>
Using GNU <command>make</command>, you can have the first four steps
automatically done for you by just typing:
</para>
-<para>
<screen>
make
</screen>
-</para>
<para>
in the freshly downloaded or unpacked source directory.
</para>
<para>
- To build an executable with security enhanced features so that
+ To build an executable with security enhanced features so that
users cannot easily bypass the proxy (e.g. <quote>Go There Anyway</quote>), or
alter their own configurations, <command>configure</command> like this:
</para>
-<para>
<screen>
./configure --disable-toggle --disable-editor --disable-force</screen>
-</para>
<para>
-Then build as above. In Privoxy 3.0.7 and later, all of these options
-can also be disabled through the configuration file.
+ Note that all of these options can also be disabled through the configuration file.
</para>
<para>
<emphasis>WARNING:</emphasis> If installing as root, the install will fail
on the <command>make</command> command line, but be sure both already exist:
</para>
-<para>
<screen>
make -s install USER=privoxy GROUP=privoxy</screen>
-</para>
<para>
- The default installation path for <command>make install</command> is
- <filename>/usr/local</filename>. This may of course be customized with
- the various <command>./configure</command> path options. If you are doing
+ The default installation path for <command>make install</command> is
+ <filename>/usr/local</filename>. This may of course be customized with
+ the various <command>./configure</command> path options. If you are doing
an install to anywhere besides <filename>/usr/local</filename>, be
sure to set the appropriate paths with the correct configure options
(<command>./configure --help</command>). Non-privileged users must of course
<literal>localstatedir</literal> (ie: <filename>var/</filename>) will default
to <filename>/var</filename> instead of <literal>$prefix/var</literal> so
the logs will go to <filename>/var/log/privoxy/</filename>, and the pid file
- will be created in <filename>/var/run/privoxy.pid</filename>.
+ will be created in <filename>/var/run/privoxy.pid</filename>.
</para>
<para>
- <command>make install</command> will attempt to set the correct values
- in <filename>config</filename> (main configuration file). You should
+ <command>make install</command> will attempt to set the correct values
+ in <filename>config</filename> (main configuration file). You should
check this to make sure all values are correct. If appropriate,
- an init script will be installed, but it is up to the user to determine
- how and where to start <application>Privoxy</application>. The init
+ an init script will be installed, but it is up to the user to determine
+ how and where to start <application>Privoxy</application>. The init
script should be checked for correct paths and values, if anything other than
a default install is done.
</para>
For more detailed instructions on how to build Redhat RPMs,
Windows self-extracting installers, building on platforms with
special requirements etc, please consult the <ulink
- url="../developer-manual/newrelease.html">developer manual</ulink>.
+ url="https://www.privoxy.org/developer-manual/newrelease.html">developer manual</ulink>.
</para>
<!-- print for README only -->
<!-- Actually this is now in INSTALL -->
<![%p-readme;[
<para>
- The simplest command line to start <application>Privoxy</application> is
- <command>$path/privoxy --user=privoxy $path/etc/privoxy/config</command>.
- See <command>privoxy --usage</command>, or the man page, for other options,
+ The simplest command line to start <application>Privoxy</application> is
+ <command>$path/privoxy --user=privoxy $path/etc/privoxy/config</command>.
+ See <command>privoxy --usage</command>, or the man page, for other options,
and configuration.
</para>
]]>