[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