Browse Source

Implement first version of the ability to target arch and OS in rpm
builds. This also implements the resulting dist-rpm filename to match the
target arch.


svn:r6023

Andrew Lewman 18 years ago
parent
commit
fab7268bf0
2 changed files with 18 additions and 3 deletions
  1. 2 2
      Makefile.am
  2. 16 1
      tor.spec.in

+ 2 - 2
Makefile.am

@@ -23,8 +23,8 @@ dist-rpm: dist
 	    mkdir $$RPM_BUILD_DIR/$$subdir;                     \
 	done;                                                   \
 	cp tor-$(VERSION).tar.gz $$RPM_BUILD_DIR/SOURCES;       \
-	rpmbuild -ba --define "_topdir $$RPM_BUILD_DIR"		\
-	   $$RPMBUILD_OPTIONS tor.spec; 			\
+	rpmbuild -ba --define "_topdir $$RPM_BUILD_DIR"	tor.spec;
+#	   $$RPMBUILD_OPTIONS tor.spec; 			\
 	mv $$RPM_BUILD_DIR/SRPMS/* .;                           \
 	mv $$RPM_BUILD_DIR/RPMS/*/* .;                          \
 	rm -rf $$RPM_BUILD_DIR

+ 16 - 1
tor.spec.in

@@ -15,6 +15,13 @@
 %define toruser @TORUSER@
 %define torgroup @TORGROUP@
 
+## Target a specific arch and OS
+#
+# default is i386 linux
+%define target gnu
+%define target_cpu i386
+%define target_os linux
+
 ## Version song and dance
 #
 # This should be the Tor version number, as it appears on the tarball,
@@ -25,6 +32,11 @@
 
 %define version %(echo %{native_version} | sed -e 's/-/./g')
 
+## Define output filename 
+# 
+# This creates filenames based upon the value of target_cpu defined above
+%define _build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%{target_cpu}.rpm
+
 ## Release and OS identification song and dance
 #
 # This identifies the lineage of the spec file. This file is the
@@ -144,7 +156,10 @@ for high-stakes anonymity.
 %setup -q -n %{name}-%{native_version}
 
 %build
-%configure --with-tor-user=%{toruser} --with-tor-group=%{torgroup}
+%configure --with-tor-user=%{toruser} --with-tor-group=%{torgroup} \
+	--build=%{target_cpu}-pc-%{target_os}-%{target} \
+	--host=%{target_cpu}-pc-%{target_os}-%{target}  \
+	--target=%{target_cpu}-pc-%{target_os}-%{target}
 %make
 
 %install