From 974c0616646443f24be3ab2a42a7a0e5df7f62a1 Mon Sep 17 00:00:00 2001 From: jorton Date: Sep 30 2008 11:57:47 +0000 Subject: - fix for zero-fuzz --- diff --git a/subversion-1.5.0-pie.patch b/subversion-1.5.0-pie.patch deleted file mode 100644 index 43a7eca..0000000 --- a/subversion-1.5.0-pie.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- subversion-1.5.0/build.conf.pie -+++ subversion-1.5.0/build.conf -@@ -452,7 +452,7 @@ type = swig_lib - lang = python - path = subversion/bindings/swig/python/libsvn_swig_py - libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr --link-cmd = $(LINK) $(SWIG_PY_LIBS) -+link-cmd = $(LINK_LIB) $(SWIG_PY_LIBS) - install = swig-py-lib - # need special build rule to include -DSWIGPYTHON - compile-cmd = $(COMPILE_SWIG_PY) -@@ -475,7 +475,7 @@ type = swig_lib - lang = ruby - path = subversion/bindings/swig/ruby/libsvn_swig_ruby - libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr --link-cmd = $(LINK) $(SWIG_RB_LIBS) -+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS) - install = swig-rb-lib - # need special build rule to include - compile-cmd = $(COMPILE_SWIG_RB) ---- subversion-1.5.0/build/generator/gen_base.py.pie -+++ subversion-1.5.0/build/generator/gen_base.py -@@ -411,6 +411,9 @@ 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)' -+ - def add_dependencies(self): - TargetLinked.add_dependencies(self) - -@@ -453,8 +456,11 @@ class TargetLib(TargetLinked): - self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target - self.msvc_export = string.split(options.get('msvc-export', '')) - -- ### hmm. this is Makefile-specific -- self.link_cmd = '$(LINK_LIB)' -+ ### more Makefile-specific stuff: -+ if self.install == 'test': -+ self.link_cmd = '$(LINK_TEST_LIB)' -+ elif self.link_cmd == '$(LINK)': -+ self.link_cmd = '$(LINK_LIB)' - - class TargetApacheMod(TargetLib): - ---- subversion-1.5.0/Makefile.in.pie -+++ subversion-1.5.0/Makefile.in -@@ -2,7 +2,7 @@ - # Makefile.in: template Makefile for Subversion - # - # ==================================================================== --# Copyright (c) 2000-2006 CollabNet. All rights reserved. -+# Copyright (c) 2000-2006, 2008 CollabNet. All rights reserved. - # - # This software is licensed as described in the file COPYING, which - # you should have received as part of this distribution. The terms -@@ -150,9 +150,10 @@ CXXFLAGS = @CXXFLAGS@ $(EXTRA_CXXFLAGS) - CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS) - LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS) - --COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES) -+BASE_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES) -+COMPILE = $(BASE_COMPILE) -fpie - COMPILE_CXX = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES) --LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) -+LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(BASE_COMPILE) - - # special compilation for files destined for mod_dav_svn - COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c -@@ -167,8 +168,11 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF - COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS) - COMPILE_JAVAHL_JAVAH = $(JAVAH) - --LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) --LINK_LIB = $(LINK) -rpath $(libdir) -+BASE_LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -+LINK = $(BASE_LINK) -pie -+LINK_TEST = $(BASE_LINK) -no-install -+LINK_LIB = $(BASE_LINK) -rpath $(libdir) -+LINK_TEST_LIB = $(BASE_LINK) - - # special link rule for mod_dav_svn - LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) diff --git a/subversion-1.5.2-pie.patch b/subversion-1.5.2-pie.patch new file mode 100644 index 0000000..967fde7 --- /dev/null +++ b/subversion-1.5.2-pie.patch @@ -0,0 +1,84 @@ +--- subversion-1.5.2/build.conf.pie ++++ subversion-1.5.2/build.conf +@@ -452,7 +452,7 @@ type = swig_lib + lang = python + path = subversion/bindings/swig/python/libsvn_swig_py + libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr +-link-cmd = $(LINK) $(SWIG_PY_LIBS) ++link-cmd = $(LINK_LIB) $(SWIG_PY_LIBS) + install = swig-py-lib + # need special build rule to include -DSWIGPYTHON + compile-cmd = $(COMPILE_SWIG_PY) +@@ -475,7 +475,7 @@ type = swig_lib + lang = ruby + path = subversion/bindings/swig/ruby/libsvn_swig_ruby + libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr +-link-cmd = $(LINK) $(SWIG_RB_LIBS) ++link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS) + install = swig-rb-lib + # need special build rule to include + compile-cmd = $(COMPILE_SWIG_RB) +--- subversion-1.5.2/build/generator/gen_base.py.pie ++++ subversion-1.5.2/build/generator/gen_base.py +@@ -411,6 +411,9 @@ 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)' ++ + def add_dependencies(self): + TargetLinked.add_dependencies(self) + +@@ -453,8 +456,11 @@ class TargetLib(TargetLinked): + self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target + self.msvc_export = string.split(options.get('msvc-export', '')) + +- ### hmm. this is Makefile-specific +- self.link_cmd = '$(LINK_LIB)' ++ ### more Makefile-specific stuff: ++ if self.install == 'test': ++ self.link_cmd = '$(LINK_TEST_LIB)' ++ elif self.link_cmd == '$(LINK)': ++ self.link_cmd = '$(LINK_LIB)' + + class TargetApacheMod(TargetLib): + +--- subversion-1.5.2/Makefile.in.pie ++++ subversion-1.5.2/Makefile.in +@@ -2,7 +2,7 @@ + # Makefile.in: template Makefile for Subversion + # + # ==================================================================== +-# Copyright (c) 2000-2006 CollabNet. All rights reserved. ++# Copyright (c) 2000-2006, 2008 CollabNet. All rights reserved. + # + # This software is licensed as described in the file COPYING, which + # you should have received as part of this distribution. The terms +@@ -151,9 +151,10 @@ CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS) + LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS) + SWIG_LDFLAGS = @SWIG_LDFLAGS@ $(EXTRA_SWIG_LDFLAGS) + +-COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES) ++BASE_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES) ++COMPILE = $(BASE_COMPILE) -fpie + COMPILE_CXX = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES) +-LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) ++LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(BASE_COMPILE) + + # special compilation for files destined for mod_dav_svn + COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c +@@ -168,8 +169,11 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF + COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS) + COMPILE_JAVAHL_JAVAH = $(JAVAH) + +-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) +-LINK_LIB = $(LINK) -rpath $(libdir) ++BASE_LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) ++LINK = $(BASE_LINK) -pie ++LINK_TEST = $(BASE_LINK) -no-install ++LINK_LIB = $(BASE_LINK) -rpath $(libdir) ++LINK_TEST_LIB = $(BASE_LINK) + + # special link rule for mod_dav_svn + LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) diff --git a/subversion.spec b/subversion.spec index 2f9c2ea..eefbc74 100644 --- a/subversion.spec +++ b/subversion.spec @@ -25,7 +25,7 @@ Source3: filter-requires.sh Source4: http://www.xsteve.at/prg/emacs/psvn.el Patch2: subversion-0.20.1-deplibs.patch Patch3: subversion-1.5.1-rpath.patch -Patch6: subversion-1.5.0-pie.patch +Patch6: subversion-1.5.2-pie.patch Patch7: subversion-1.1.3-java.patch Patch8: subversion-1.5.0-perl510.patch BuildRequires: autoconf, libtool, python, python-devel, texinfo, which