aboutsummaryrefslogtreecommitdiff
path: root/doc/contrib/tor-rpm-creation.txt
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-06-12 21:07:27 -0400
committerNick Mathewson <nickm@torproject.org>2013-06-12 21:11:49 -0400
commita3f6f3316a8037e723f225021186a772cb6707fe (patch)
treeff84dd4ca95943ad0c5b14b866cf66363f10456c /doc/contrib/tor-rpm-creation.txt
parent75b7cc1785c040b4f0deb46b89fecec5c90a9fe6 (diff)
downloadtor-a3f6f3316a8037e723f225021186a772cb6707fe.tar
tor-a3f6f3316a8037e723f225021186a772cb6707fe.tar.gz
Remove various outdated documents.
doc/TODO and doc/spec/README were placeholders to tell people where to look for the real TODO and README stuff -- we replaced them years ago, though. authority-policy, v3-authority-howto, and torel-design.txt belong in torspec. I'm putting them in attic there since I think they may be in large part obsolete, but someone can rescue them if they're not. translations.txt is outdated, and refers to lots of programs other than Tor. We have much better translation resources on the website now. tor-win32-mingw-creation.txt is pending review of a revised version for 0.2.5 (see ticket #4520), but there's no reason to ship this one while we're waiting for an accurate version. the tor-rpm-creation.txt isn't obsolete AFAIK, but it belongs in doc/contrib if anywhere. Resolves bug #8965.
Diffstat (limited to 'doc/contrib/tor-rpm-creation.txt')
-rw-r--r--doc/contrib/tor-rpm-creation.txt56
1 files changed, 56 insertions, 0 deletions
diff --git a/doc/contrib/tor-rpm-creation.txt b/doc/contrib/tor-rpm-creation.txt
new file mode 100644
index 000000000..a03891e2b
--- /dev/null
+++ b/doc/contrib/tor-rpm-creation.txt
@@ -0,0 +1,56 @@
+## Instructions for building the official rpms.
+##
+The process used to create the official rpms is as follows:
+
+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
+
+In the resulting directory:
+LIBS=-lrt ./configure
+make dist-rpm
+
+You should have at least two, maybe three, rpms. There should be the binary
+(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.)