Create a separate INSTALL file, and remove install instructions from README.
[privoxy.git] / doc / source / buildsource.sgml
1 <!--
2  File        :  $Source: /cvsroot/ijbswa/current/doc/source/buildsource.sgml,v $
3
4  Purpose     :  Entity included in other project documents.
5                 
6  $Id: buildsource.sgml,v 2.2 2002/09/05 05:45:30 hal9 Exp $
7
8  Copyright (C) 2001, 2002 Privoxy Developers <developers@privoxy.org>
9  See LICENSE.
10
11  ======================================================================
12   This file used for inclusion with other documents only.
13  ======================================================================
14
15  If you make changes to this file, please verify the finished 
16  docs all display as intended.
17
18  This file is included into:
19
20   user-manual
21   INSTALL
22
23 -->
24
25 <para>
26  To build <application>Privoxy</application> from source, 
27  <ulink url="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</ulink>,
28  <ulink
29  url="http://www.gnu.org/software/make/make.html">GNU make
30  (gmake)</ulink>, and, of course, a C compiler like <ulink
31  url="http://www.gnu.org/software/gcc/gcc.html">gcc</ulink> are required.
32 </para>
33
34 <para>
35  When building from a source tarball (either release version or
36  <ulink
37  url="http://cvs.sourceforge.net/cvstarballs/ijbswa-cvsroot.tar.gz">nightly CVS
38  tarball</ulink>), first unpack the source: 
39 </para>
40
41 <para>
42  <screen>
43  tar xzvf privoxy-&p-version;<![%p-not-stable;[-beta]]>-src* [.tgz or .tar.gz]
44  cd privoxy-&p-version;<![%p-not-stable;[-beta]]>
45 </screen>
46 </para>
47
48 <para>
49  For retrieving the current CVS sources, you'll need CVS installed.
50  Note that sources from CVS are development quality, and may not be
51  stable, or well tested. To download CVS source:
52 </para>
53
54 <para>
55  <screen>
56   cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login
57   cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co current
58   cd current
59 </screen>
60 </para>
61
62 <para>
63  This will create a directory named <filename>current/</filename>, which will 
64  contain the source tree.
65 </para>
66
67 <para>
68  You can also check out any <application>Privoxy</application>
69  <quote>branch</quote>, just exchange the <application>current</application>
70  name with the wanted branch name (Example: v_3_0_branch for the 3.0 cvs
71  tree).
72 </para>
73
74 <para>
75  It is also recommended to not run <application>Privoxy</application> as 
76  root, and instead it is suggested to create a <quote>privoxy</quote> user for
77  this purpose.
78 </para>
79
80 <para>
81  <filename>/etc/passwd</filename> might then look like:
82 </para>
83
84 <para>
85  <screen>  privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell</screen>
86 </para>
87
88 <para>
89  And then <filename>/etc/group</filename>, like:
90 </para>
91
92 <para>
93  <screen>  privoxy:*:7777:privoxy</screen>
94 </para>
95
96 <para>
97  Then, to build from either unpacked tarball or CVS source:
98 </para>
99
100 <para>
101  <screen>
102  autoheader
103  autoconf
104  ./configure      # (--help to see options)
105  make             # (the make from gnu, gmake for *BSD) 
106  su 
107  make -n install  # (to see where all the files will go)
108  make install     # (to really install)
109 </screen>
110 </para>
111
112 <warning>
113  <para> 
114   The <quote>make install</quote> target is temporary quite broken! It is
115   recommended to use a binary package, or do a source build, and manually 
116   install the components. Sorry.
117  </para>
118 </warning>
119
120 <para>
121   If you have GNU <command>make</command>, you can have the first four steps
122   automatically done for you by just typing:
123 </para>
124
125 <para>
126  <screen>
127   make
128 </screen>
129 </para>
130
131 <para>
132   in the freshly downloaded or unpacked source directory.
133 </para>
134
135 <para>
136  For more detailed instructions on how to build Redhat and SuSE RPMs,
137  Windows self-extracting installers, building on platforms with
138  special requirements etc, please consult the <ulink
139  url="../developer-manual/newrelease.html">developer manual</ulink>.
140 </para>
141
142 <!-- print for README only -->
143 <!-- Actually this is now in INSTALL -->
144  <![%p-readme;[
145  <para>
146   For binary RPM installation, and other platforms, see the User Manual
147   as well.
148  </para>
149 ]]>