From b890c23a06982acf23c08ab8333aabd1d94ae8c4 Mon Sep 17 00:00:00 2001 From: jorton Date: May 14 2009 10:45:26 +0000 Subject: - fix libjavahl link (#496617) - fix RPATHs in binaries (#469524) --- diff --git a/subversion-1.6.0-rpath.patch b/subversion-1.6.0-rpath.patch deleted file mode 100644 index 1e6dc4e..0000000 --- a/subversion-1.6.0-rpath.patch +++ /dev/null @@ -1,31 +0,0 @@ - -Libraries should be linked with -rpath $libdir but programs should not. -Doing so for the latter means that a redundant RPATH entry of $libdir -will end up in the binaries. - -The redundant RPATH can also cause obscure build failures by causing -in-build binaries to pick up libraries from the system environment, -which libtool will otherwise avoid. - ---- subversion-1.6.0/build/generator/gen_base.py.rpath -+++ subversion-1.6.0/build/generator/gen_base.py -@@ -455,6 +455,9 @@ class TargetLib(TargetLinked): - self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target - self.msvc_export = options.get('msvc-export', '').split() - -+ ### hmm. this is Makefile-specific -+ self.link_cmd = '$(LINK_LIB)' -+ - class TargetApacheMod(TargetLib): - - def __init__(self, name, options, gen_obj): ---- subversion-1.6.0/Makefile.in.rpath -+++ subversion-1.6.0/Makefile.in -@@ -184,6 +184,7 @@ 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) -rpath $(libdir) - LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir) - diff --git a/subversion-1.6.1-rpath.patch b/subversion-1.6.1-rpath.patch new file mode 100644 index 0000000..6061e05 --- /dev/null +++ b/subversion-1.6.1-rpath.patch @@ -0,0 +1,54 @@ + +Libraries should be linked with -rpath $libdir but programs should not. +Doing so for the latter means that a redundant RPATH entry of $libdir +will end up in the binaries. + +The redundant RPATH can also cause obscure build failures by causing +in-build binaries to pick up libraries from the system environment, +which libtool will otherwise avoid. + +--- subversion-1.6.1/build.conf.rpath ++++ subversion-1.6.1/build.conf +@@ -472,7 +472,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) +@@ -495,7 +495,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.6.1/build/generator/gen_base.py.rpath ++++ subversion-1.6.1/build/generator/gen_base.py +@@ -455,6 +455,10 @@ class TargetLib(TargetLinked): + self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target + self.msvc_export = options.get('msvc-export', '').split() + ++ ### hmm. this is Makefile-specific ++ if self.link_cmd == '$(LINK)': ++ self.link_cmd = '$(LINK_LIB)' ++ + class TargetApacheMod(TargetLib): + + def __init__(self, name, options, gen_obj): +--- subversion-1.6.1/Makefile.in.rpath ++++ subversion-1.6.1/Makefile.in +@@ -184,7 +184,8 @@ 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) -rpath $(libdir) ++LINK_LIB = $(LINK) -rpath $(libdir) ++LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) + 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 9ad0b83..296c6b2 100644 --- a/subversion.spec +++ b/subversion.spec @@ -15,7 +15,7 @@ Summary: A Modern Concurrent Version Control System Name: subversion Version: 1.6.1 -Release: 4%{?dist} +Release: 5%{?dist} License: ASL 1.1 Group: Development/Tools URL: http://subversion.tigris.org/ @@ -25,7 +25,7 @@ Source3: filter-requires.sh Source4: http://www.xsteve.at/prg/emacs/psvn.el Source5: psvn-init.el Patch2: subversion-1.6.0-deplibs.patch -Patch3: subversion-1.6.0-rpath.patch +Patch3: subversion-1.6.1-rpath.patch Patch6: subversion-1.6.0-pie.patch Patch7: subversion-1.1.3-java.patch BuildRequires: autoconf, libtool, python, python-devel, texinfo, which @@ -286,6 +286,10 @@ rm -rf ${RPM_BUILD_ROOT} %endif %changelog +* Thu May 14 2009 Joe Orton 1.6.1-5 +- fix libjavahl link (#496617) +- fix RPATHs in binaries (#469524) + * Wed Apr 15 2009 Joe Orton 1.6.1-4 - really disable PIE