[subversion] - restore PIE support

jorton jorton at fedoraproject.org
Fri Sep 3 14:48:20 UTC 2010


commit d9d021d68b70d378a308a329904947393fa2fee9
Author: Joe Orton <jorton at redhat.com>
Date:   Fri Sep 3 15:47:21 2010 +0100

    - restore PIE support

 subversion-1.6.0-pie.patch  |   62 -------------------------------------------
 subversion-1.6.11-pie.patch |   49 ++++++++++++++++++++++++++++++++++
 subversion.spec             |   18 ++++++++----
 3 files changed, 61 insertions(+), 68 deletions(-)
---
diff --git a/subversion-1.6.11-pie.patch b/subversion-1.6.11-pie.patch
new file mode 100644
index 0000000..1747122
--- /dev/null
+++ b/subversion-1.6.11-pie.patch
@@ -0,0 +1,49 @@
+--- subversion-1.6.11/build/generator/gen_base.py.pie
++++ subversion-1.6.11/build/generator/gen_base.py
+@@ -357,7 +357,7 @@ class TargetLinked(Target):
+     self.install = options.get('install')
+     self.compile_cmd = options.get('compile-cmd')
+     self.sources = options.get('sources', '*.c *.cpp')
+-    self.link_cmd = options.get('link-cmd', '$(LINK)')
++    self.link_cmd = options.get('link-cmd', '$(LINK_LIB)')
+ 
+     self.external_lib = options.get('external-lib')
+     self.external_project = options.get('external-project')
+@@ -413,6 +413,11 @@ class TargetExe(TargetLinked):
+     self.manpages = options.get('manpages', '')
+     self.testing = options.get('testing')
+ 
++    if self.install == 'test' or self.install == 'bdb-test':
++      self.link_cmd = '$(LINK_TEST)'
++    else:
++      self.link_cmd = '$(LINK_EXE)'
++
+   def add_dependencies(self):
+     TargetLinked.add_dependencies(self)
+ 
+@@ -456,8 +461,8 @@ class TargetLib(TargetLinked):
+     self.msvc_export = options.get('msvc-export', '').split()
+ 
+     ### hmm. this is Makefile-specific
+-    if self.link_cmd == '$(LINK)':
+-      self.link_cmd = '$(LINK_LIB)'
++    if self.install == 'test':
++       self.link_cmd = '$(LINK_TEST_LIB)'
+ 
+ class TargetApacheMod(TargetLib):
+ 
+--- subversion-1.6.11/Makefile.in.pie
++++ subversion-1.6.11/Makefile.in
+@@ -184,8 +184,11 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF
+ COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
+ COMPILE_JAVAHL_JAVAH = $(JAVAH)
+ 
+-LINK_LIB = $(LINK) -rpath $(libdir)
+ LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
++LINK_LIB = $(LINK) -rpath $(libdir)
++LINK_TEST = $(LINK) -no-install
++LINK_TEST_LIB = $(LINK) -avoid-version
++LINK_EXE = $(LINK) -pie
+ LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
+ 
+ # special link rule for mod_dav_svn
diff --git a/subversion.spec b/subversion.spec
index 455689a..049fa25 100644
--- a/subversion.spec
+++ b/subversion.spec
@@ -30,7 +30,7 @@ Source5: psvn-init.el
 Patch0: subversion-1.6.5-newlines.patch
 Patch2: subversion-1.6.0-deplibs.patch
 Patch3: subversion-1.6.1-rpath.patch
-Patch6: subversion-1.6.0-pie.patch
+Patch6: subversion-1.6.11-pie.patch
 Patch7: subversion-1.1.3-java.patch
 Patch8: subversion-1.6.6-kwallet.patch
 Patch9: subversion-1.6.12-disable-client-test.patch
@@ -152,13 +152,10 @@ cd contrib/client-side/svn2cl
 cd ../../..
 %patch2 -p1 -b .deplibs
 %patch3 -p1 -b .rpath
-#patch6 -p1 -b .pie
+%patch6 -p1 -b .pie
 %if %{with_java}
 %patch7 -p1 -b .java
 %endif
-%ifarch sparc64
-sed -i -e 's|-fpie|-fPIE|g' Makefile.in
-%endif
 %patch8 -p1 -b .kwallet
 %patch9 -p1 -b .disable-client-test
 
@@ -188,7 +185,13 @@ export svn_cv_ruby_link="%{__cc} -shared"
 export svn_cv_ruby_sitedir_libsuffix=""
 export svn_cv_ruby_sitedir_archsuffix=""
 
-export CC=gcc CXX=g++ JAVA_HOME=%{jdk_path} CFLAGS="$RPM_OPT_FLAGS"
+%ifarch sparc64
+pieflag=-fPIE
+%else
+pieflag=-fpie
+%endif
+
+export CC=gcc CXX=g++ JAVA_HOME=%{jdk_path} CFLAGS="$RPM_OPT_FLAGS $pieflag"
 %configure --with-apr=%{_prefix} --with-apr-util=%{_prefix} \
         --with-swig --with-neon=%{_prefix} \
         --with-ruby-sitedir=%{ruby_sitearch} \
@@ -393,6 +396,9 @@ rm -rf ${RPM_BUILD_ROOT}
 %{_mandir}/man1/svn2cl.1*
 
 %changelog
+* Fri Sep  3 2010 Joe Orton <jorton at redhat.com> - 1.6.12-3
+- restore PIE support
+
 * Sat Jul 24 2010 David Malcolm <dmalcolm at redhat.com> - 1.6.12-3
 - for now, disable python cases that fail against python 2.7 (patch 9)
 


More information about the scm-commits mailing list