diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-07-31 11:49:32 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-07-31 11:49:32 -0400 |
commit | 43b81325b5782ce7986421bdfefae57cd4c8ab81 (patch) | |
tree | 1fd3936907f6f91e0c00f5d72b16b01babbeb5db /doc | |
parent | 5919e8e561d3abb3e74b92ac1b95f05243bb9372 (diff) | |
parent | ae75fb13e175ec24cb3bff44150fd2f932aa5385 (diff) | |
download | tor-43b81325b5782ce7986421bdfefae57cd4c8ab81.tar tor-43b81325b5782ce7986421bdfefae57cd4c8ab81.tar.gz |
Merge remote-tracking branch 'origin/maint-0.2.3'
Diffstat (limited to 'doc')
-rw-r--r-- | doc/tor-rpm-creation.txt | 56 |
1 files changed, 43 insertions, 13 deletions
diff --git a/doc/tor-rpm-creation.txt b/doc/tor-rpm-creation.txt index 3fc6bde79..a03891e2b 100644 --- a/doc/tor-rpm-creation.txt +++ b/doc/tor-rpm-creation.txt @@ -2,18 +2,9 @@ ## The process used to create the official rpms is as follows: -Download latest stable libevent from -http://www.monkey.org/~provos/libevent/ - -The first step of compiling libevent is to configure it as follows: -./configure --enable-static --disable-shared - -Complete the "make" and "make install". You will need to be root, -or sudo -s, to complete the "make install". - -Check for a successful universal binary of libevent.a in, by default, -/usr/local/lib by using the following command: - "file /usr/local/lib/libevent.a" +You'll need to install libevent headers, usually located in package named +libevent-devel. Alternatively, you could download latest libevent from +http://libevent.org/ but that shouldn't be necessary. Download and Extract the latest tor source code from https://www.torproject.org/download @@ -23,4 +14,43 @@ LIBS=-lrt ./configure 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. +(i686|x86_64).rpm, a src.rpm, and on redhat/centos machines, a debuginfo.rpm. +The debuginfo rpms are created if package redhat-rpm-config is installed (case +of redhat distros). + +This step suffices unless you want to create RPMs for distros other than the +one you used for building. + + +## Instructions for building RPMs for multiple architectures or distributions +## using 'mock' on Fedora or RHEL (and clones) + +Make sure you have mock installed and configured, see following HOWTOs for setup: +https://fedoraproject.org/wiki/How_to_create_an_RPM_package +https://fedoraproject.org/wiki/Using_Mock_to_test_package_builds + +Take the source RPM generated by previous step, and execute mock for every +target architecture (the names come from files in /etc/mock, strip the .cfg +extension in the -r parameter): + +mock --rebuild -r fedora-17-x86_64 tor-X.Y.Z.src.rpm + +Building for EL5 from newer distro (e.g. EL6 or Fedora 17) will fail due to bug +(https://bugzilla.redhat.com/show_bug.cgi?id=490613). +Here's a workaround: + +Before even building the source RPM, install fedora-packager and instruct +the build system to use rpmbuild-md5 like this: + +yum install fedora-packager +export RPMBUILD=rpmbuild-md5 + +Then proceed as usual to create the source RPM and binary RPMs: + +LIBS=-lrt ./configure +make dist-rpm +mock --rebuild -r epel-5-x86_64 tor-X.Y.Z.src.rpm + + +(Note: don't build under OpenVZ - it breaks unshare() syscall, which in turn +breaks mock. It could save you several hours.) |