Browse Source

Added quick instructions for those wishing to replicate the official
build process for linux rpm and osx dmg


svn:r5980

Andrew Lewman 19 years ago
parent
commit
16c5af0f0f
2 changed files with 73 additions and 8 deletions
  1. 24 8
      contrib/osx/package.sh
  2. 49 0
      tor.spec.in

+ 24 - 8
contrib/osx/package.sh

@@ -12,15 +12,31 @@
 # This script expects to be run from the toplevel makefile, with VERSION
 # set to the latest Tor version, and Tor already built.
 #
-# Building Tor for OSX in 3 easy steps:
-# 1) Make sure PRIVOXY_PKG_ZIP= is set to the correct path to find privoxyosx_setup_3.0.3.zip
-# 2) In the top level, this means ~/tor, not tor/contrib/osx, do a configure with these parameters:
-# configure --prefix=/Library/Tor --bindir=/Library/Tor --sysconfdir=/Library
-# 3) In same top level dir, make dist-osx.  You'll have a .dmg file when complete.
+
+######################
+# The following steps are the exact steps used to produce the "official" OSX build of tor
+#
+# Summary:
+# 1) Compile and install the latest release of libevent
+# 2) Acquire privoxyosx_setup_3.0.3.zip.  Remember where you put this file.
+# 3) Acquire and install your preferred version of tor via "make dist-osx"
+#
+# Details:
+# 1)  You need to download the latest libevent from http://www.monkey.org/~provos/libevent/
+# 1a) At a shell prompt, export CFLAGS="-march=powerpc -mtune=powerpc"
+# 1b) The first step of compiling libevent is to configure it as follows: 
+# 	configure --enable-static --disable-shared
+# 1c) Complete the "make" and "make install".  
+# 2) Get your preferred version of the tor source from tor.eff.org
+# 2a) Edit /path/to/tor/contrib/osx/package.sh (the file you are reading) and confirm PRIVOXY_PKG_ZIP= is set 
+#     to the correct path to find the file privoxyosx_setup_3.0.3.zip
+# 2b) In the top level, this means /path/to/tor/, not tor/contrib/osx, do a configure with these parameters:
+#     configure --prefix=/Library/Tor --bindir=/Library/Tor --sysconfdir=/Library
+# 2c) In same top level dir, do a "make dist-osx".  You'll have a .dmg file when complete.  Install from this dmg.
 
 # Where have we put the zip file containing Privoxy?  Edit this if your
 # privoxy lives somewhere else.
-PRIVOXY_PKG_ZIP=~/src/privoxy-setup/privoxyosx_setup_3.0.3.zip
+PRIVOXY_PKG_ZIP=~/tmp/privoxyosx_setup_3.0.3.zip
 
 ###
 # Helpful info on OS X packaging:
@@ -132,8 +148,8 @@ DOC=$BUILD_DIR/output/Documents
 mkdir $DOC
 cp doc/tor-doc.html doc/tor-doc.css $DOC
 cp AUTHORS $DOC/AUTHORS.txt
-groff doc/tor.1 -T ps -m man | ps2pdf - $DOC/tor-reference.pdf
-groff doc/tor-resolve.1 -T ps -m man | ps2pdf - $DOC/tor-resolve.pdf
+groff doc/tor.1 -T ps -m man | pstopdf - $DOC/tor-reference.pdf
+groff doc/tor-resolve.1 -T ps -m man | pstopdf - $DOC/tor-resolve.pdf
 
 mkdir $DOC/Advanced
 cp doc/tor-spec.txt doc/rend-spec.txt doc/control-spec.txt doc/socks-extensions.txt doc/version-spec.txt $DOC/Advanced

+ 49 - 0
tor.spec.in

@@ -1,6 +1,55 @@
 ## NOTE: tor.spec is autogenerated from tor.spec.in . Edit the latter,
 ## not the former.
 
+## Instructions for building various rpms on various architectures
+#
+# This will build various architecture and cpu tuned versions of tor all
+# bundled in a convenient rpm.  Each rpm will require glibc on the target
+# system (which any rpm based linux distro should have already installed
+# by default).  These are the exact same steps used to build the
+# official rpms of tor
+#
+# If you wish to further tune tor rpms beyond this list, see the GCC doc
+# page for further options:
+# http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options
+#
+# i386 with zero tuning (most compatible, in theory will run an a true i386 cpu):
+# 1) download tor source tarball
+# 2) at shell prompt, export CFLAGS="-march=i386 -mtune=i386"
+# 3) in the extracted tor source dir, configure as follows:
+#   ./configure --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=i386-pc-linux-gnu
+# 4) Edit tor.spec.in, change the following to line:
+#   %configure --with-tor-user=%{toruser} --with-tor-group=%{torgroup}
+#   add to it:
+#   --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=i386-pc-linux-gnu
+# 5) make dist-rpm
+# 6) Install from the .i386.rpm file.
+#
+# i686 with i686 tuning (best for pentium pro, pentium2, pentium3, and
+# pentium4-class CPUS including the pentium4):
+# 1) download tor source tarball
+# 2) at shell prompt, export CFLAGS="-march=i686 -mtune=i686"
+# 3) in the extracted tor source dir, configure as follows:
+#   ./configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu
+# 4) Edit tor.spec.in, change the following to line:
+#   %configure --with-tor-user=%{toruser} --with-tor-group=%{torgroup}
+#   add to it:
+#   --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu
+# 5) make dist-rpm
+# 6) Install from the .i686.rpm file.
+#
+# athlon64 with athlon64 tuning (best for Athlon64 and Opteron):
+# 1) download tor source tarball
+# 2) at shell prompt, export CFLAGS="-march=athlon64 -mtune=athlon64"
+# 3) in the extracted tor source dir, configure as follows:
+#   ./configure --build=athlon64-pc-linux-gnu --host=athlon64-pc-linux-gnu --target=athlon64-pc-linux-gnu
+# 4) Edit tor.spec.in, change the following to line:
+#   %configure --with-tor-user=%{toruser} --with-tor-group=%{torgroup}
+#   add to it:
+#   --build=athlon64-pc-linux-gnu --host=athlon64-pc-linux-gnu --target=athlon64-pc-linux-gnu
+# 5) make dist-rpm
+# 6) Install from the .athlon64.rpm file.
+
 ## Things that need to be edited frequently
 #
 # This should be incremented whenever the spec file changes, but