diff options
author | Ondrej Mikle <ondrej.mikle@gmail.com> | 2012-06-16 18:38:14 +0200 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-07-31 11:41:40 -0400 |
commit | 0e778ac6044f991bdd144a36258df341aa969554 (patch) | |
tree | e1a84932f76006841661984e209f1f72428fffc1 | |
parent | 72260cfa680ac1fd77d8859d471f766853ddc063 (diff) | |
download | tor-0e778ac6044f991bdd144a36258df341aa969554.tar.gz tor-0e778ac6044f991bdd144a36258df341aa969554.zip |
Workaround for building EL5 RPMs by specifying rpmbuild-md5. Updated old note about using static libevent when building RPMs.
-rw-r--r-- | Makefile.am | 6 | ||||
-rw-r--r-- | doc/tor-rpm-creation.txt | 35 |
2 files changed, 28 insertions, 13 deletions
diff --git a/Makefile.am b/Makefile.am index e25e8ff2a2..29bba715bd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,13 +24,17 @@ EXTRA_DIST = \ #install-data-local: # $(INSTALL) -m 755 -d $(LOCALSTATEDIR)/lib/tor +# Allows to override rpmbuild with rpmbuild-md5 from fedora-packager so that +# building for EL5 won't fail on https://bugzilla.redhat.com/show_bug.cgi?id=490613 +RPMBUILD ?= rpmbuild + # Use automake's dist-gzip target to build the tarball dist-rpm: dist-gzip TIMESTAMP=$$(date +"%Y-%m-%d_%H.%M.%S"); \ RPM_BUILD_DIR=$$(mktemp -d "/tmp/tor-rpm-build-$$TIMESTAMP-XXXX"); \ mkdir -p "$$RPM_BUILD_DIR"/{BUILD,RPMS,SOURCES/"tor-$(VERSION)",SPECS,SRPMS}; \ cp -fa "$(distdir).tar.gz" "$$RPM_BUILD_DIR"/SOURCES/; \ - LIBS=-lrt rpmbuild -ba --define "_topdir $$RPM_BUILD_DIR" tor.spec; \ + LIBS=-lrt $(RPMBUILD) -ba --define "_topdir $$RPM_BUILD_DIR" tor.spec; \ cp -fa "$$RPM_BUILD_DIR"/SRPMS/* .; \ cp -fa "$$RPM_BUILD_DIR"/RPMS/* .; \ rm -rf "$$RPM_BUILD_DIR"; \ diff --git a/doc/tor-rpm-creation.txt b/doc/tor-rpm-creation.txt index eb22c2225a..a88f2e8290 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://libevent.org/ - -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 @@ -25,6 +16,9 @@ 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. +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' @@ -39,5 +33,22 @@ 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.) |