some other performance-oriented fixes to integrate
[tor.git] / doc / tor-rpm-creation.txt
bloba8280fe367233a99402a253b1c4773a1fb7cd766
1 ## Instructions for building the official rpms.
2 ##
3 The process used to create the official rpms is as follows:
5 Download and Extract the latest tor source code from https://www.torproject.org/.
6 In the resulting directory:
7 ./configure
8 make dist-rpm
10 You should have at least two, maybe three, rpms.  There should be the binary
11 i386.rpm, a src.rpm, and on redhat/centos machines, a debuginfo.rpm.
13 ## Optional customization
15 If you wish to further tune Tor binaries in rpm format beyond this list,
16 see the GCC doc page for further options:
17 http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/
19 The tor.spec.in file contains the basic info needed to tune the binaries
20 produced in rpm format. The key parameters to tune are located in the
21 third section of the tor.spec.in file.  Locate the section similar to
22 this:
24 ## Target a specific arch and OS
26 # default is i386 linux
27 %define target gnu
28 %define target_cpu i386
29 %define target_os linux
31 The three parameters: target, target_cpu, and target_os are used
32 throughout the "make dist-rpm" process.  They control the parameters
33 passed to "configure" and the final tuning of the binaries produced.
34 The default settings, as shown above, create binaries for the widest
35 range of Intel x86 or x86-compatible architectures.
37 The parameters can be set as follows:
39 The "target" parameter:
40 This should be "gnu", "redhat", or the short name of your linux distribution.
41 Other possibilities are "mandrake" or "suse".  This is passed to
42 "configure" through the --host, --build, and --target parameters.
43 Therefore, this "target" parameter must be a valid OS for "configure" as
44 well.
46 The "target_cpu" parameter:
47 This parameter controls the optimization and tuning of your binaries via
48 gcc and "configure".  This parameter is passed to gcc via the -mtune= or
49 -mcpu= options.  The "configure" script will also receive this parameter
50 through the --host, --build, and --target parameters.  Therefore, this
51 "target_cpu" parameter must be valid for both gcc and "configure".  A
52 few common options for this parameter may be "athlon64, i686, pentium4" or
53 others.
55 The "target_os" parameter:
56 This parameter controls the target operating system.  Normally, this is
57 only "linux".  If you wish to build rpms for a non-linux operating
58 system, you can replace "linux" with your operating system.