mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-20 02:09:24 +01:00
76c5fbfe28
Include it in the build instructions. svn:r10826
67 lines
2.7 KiB
Plaintext
67 lines
2.7 KiB
Plaintext
## Instructions for building the official rpms.
|
|
##
|
|
These are instructions for building Tor binaries in the rpm format on
|
|
various cpu architectures and operating systems. Each rpm will require
|
|
glibc on the target system. It is believed that any rpm-based linux
|
|
distribution should have semi-current glibc installed by default.
|
|
If you run into a distribution that does not work with glibc, or does
|
|
not contain it, please let us know the details.
|
|
|
|
These are the exact steps used to build the official rpms of Tor.
|
|
|
|
If you wish to further tune Tor binaries in rpm format beyond this list,
|
|
see the GCC doc page for further options:
|
|
http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/
|
|
|
|
The tor.spec.in file contains the basic info needed to tune the binaries
|
|
produced in rpm format. The key parameters to tune are located in the
|
|
third section of the tor.spec.in file. Locate the section similar to
|
|
this:
|
|
|
|
## Target a specific arch and OS
|
|
#
|
|
# default is i386 linux
|
|
%define target gnu
|
|
%define target_cpu i386
|
|
%define target_os linux
|
|
|
|
The three parameters: target, target_cpu, and target_os are used
|
|
throughout the "make dist-rpm" process. They control the parameters
|
|
passed to "configure" and the final tuning of the binaries produced.
|
|
The default settings, as shown above, create binaries for the widest
|
|
range of Intel x86 or x86-compatible architectures.
|
|
|
|
The parameters can be set as follows:
|
|
|
|
The "target" parameter:
|
|
This should be "gnu", "redhat", or the short name of your linux distribution.
|
|
Other possibilities are "mandrake" or "suse". This is passed to
|
|
"configure" through the --host, --build, and --target parameters.
|
|
Therefore, this "target" parameter must be a valid OS for "configure" as
|
|
well.
|
|
|
|
The "target_cpu" parameter:
|
|
This parameter controls the optimization and tuning of your binaries via
|
|
gcc and "configure". This parameter is passed to gcc via the -mtune= or
|
|
-mcpu= options. The "configure" script will also receive this parameter
|
|
through the --host, --build, and --target parameters. Therefore, this
|
|
"target_cpu" parameter must be valid for both gcc and "configure". A
|
|
few common options for this parameter may be "athlon64, i686, pentium4" or
|
|
others.
|
|
|
|
The "target_os" parameter:
|
|
This parameter controls the target operating system. Normally, this is
|
|
only "linux". If you wish to build rpms for a non-linux operating
|
|
system, you can replace "linux" with your operating system.
|
|
|
|
The process used to create the distributed rpms is as follows:
|
|
|
|
Download and Extract the latest tor source code from https://tor.eff.org/.
|
|
In the Tor directory:
|
|
./configure --enable-eventdns --enable-static --disable-shared
|
|
make dist-rpm
|
|
|
|
You should have at least two, maybe three, rpms. There should be the binary
|
|
i386.rpm, a src.rpm, and on redhat/centos machines, a debuginfo.rpm.
|
|
|