diff --git a/.cvsignore b/.cvsignore index 575500e..c3af7d7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -subversion-1.0.2.tar.gz +subversion-1.0.4.tar.gz diff --git a/sources b/sources index 470eb5d..d245be2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -268603b431d93e098c51bf75f0d7fde1 subversion-1.0.2.tar.gz +fdf54470ac280e9b7cb008e907ec275a subversion-1.0.4.tar.gz diff --git a/subversion-1.0.3-pie.patch b/subversion-1.0.3-pie.patch new file mode 100644 index 0000000..edd9c67 --- /dev/null +++ b/subversion-1.0.3-pie.patch @@ -0,0 +1,59 @@ + +Build subversion executables as PIEs. Requires a slight jig to +ensure that executables in the test suite are *not* build using +-pie, since that doesn't work when main() is not itself an +object built with -pie. + +--- subversion-1.0.4/build/generator/gen_base.py.pie ++++ subversion-1.0.4/build/generator/gen_base.py +@@ -393,6 +393,9 @@ + self.manpages = options.get('manpages', '') + self.testing = options.get('testing') + ++ if self.install == 'test' or self.install == 'fs-test': ++ self.link_cmd = '$(LINK_TEST)' ++ + def add_dependencies(self, graph, cfg, extmap): + TargetLinked.add_dependencies(self, graph, cfg, extmap) + +@@ -429,8 +432,11 @@ + self.msvc_static = options.get('msvc-static') == 'yes' # is a static lib + self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target + +- ### hmm. this is Makefile-specific +- self.link_cmd = '$(LINK_LIB)' ++ ### more Makefile-specific stuff: ++ if self.install == 'test': ++ self.link_cmd = '$(LINK_TEST_LIB)' ++ else: ++ self.link_cmd = '$(LINK_LIB)' + + class TargetApacheMod(TargetLib): + +--- subversion-1.0.4/Makefile.in.pie ++++ subversion-1.0.4/Makefile.in +@@ -123,8 +123,9 @@ + CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS) + LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS) + +-COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES) +-LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) ++BASE_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES) ++COMPILE = $(BASE_COMPILE) -fpie ++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 +@@ -134,8 +135,11 @@ + COMPILE_SWIG_JAVA = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(SWIG_JAVA_INCLUDES) $(INCLUDES) -o $@ -c + COMPILE_SWIG_PL = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(SWIG_PL_INCLUDES) $(INCLUDES) -o $@ -c + +-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) ++BASE_LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) ++LINK = $(BASE_LINK) -pie ++LINK_TEST = $(BASE_LINK) -no-install + LINK_LIB = $(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 diff --git a/subversion.spec b/subversion.spec index cf1aee9..cf92233 100644 --- a/subversion.spec +++ b/subversion.spec @@ -1,21 +1,25 @@ # set to zero to avoid running test suite %define make_check 1 +%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) + Summary: Modern Version Control System designed to replace CVS Name: subversion -Version: 1.0.2 -Release: 1 +Version: 1.0.4 +Release: 1.1 License: BSD Group: Development/Tools -URL: http://subversion.tigris.org +URL: http://subversion.tigris.org/ Source0: http://subversion.tigris.org/tarballs/subversion-%{version}.tar.gz Source1: subversion.conf Source3: filter-requires.sh Patch1: subversion-0.24.2-swig.patch Patch2: subversion-0.20.1-deplibs.patch Patch3: subversion-0.31.0-rpath.patch +Patch4: subversion-1.0.2-blame.patch Patch5: subversion-r8822.patch -BuildPreReq: autoconf, libtool, python, python-devel +Patch6: subversion-1.0.3-pie.patch +BuildPreReq: autoconf, libtool, python, python-devel, texinfo BuildPreReq: db4-devel >= 4.1.25, swig >= 1.3.15, docbook-style-xsl BuildPreReq: apr-devel, apr-util-devel, neon-devel >= 0:0.24.0-1 BuildRoot: %{_tmppath}/%{name}-root @@ -58,7 +62,9 @@ using HTTP, via the Apache httpd server. %package perl Group: Development/Libraries Summary: Perl bindings to the Subversion libraries -BuildRequires: perl +BuildRequires: perl >= 2:5.8.0 +Requires: %(eval `perl -V:version`; echo "perl(:MODULE_COMPAT_$version)") +Requires: subversion = %{version}-%{release} %description perl This package includes the Perl bindings to the Subversion libraries. @@ -68,7 +74,9 @@ This package includes the Perl bindings to the Subversion libraries. %patch1 -p1 -b .swig %patch2 -p1 -b .deplibs %patch3 -p1 -b .rpath +%patch4 -p1 -b .blame %patch5 -p1 -b .r8822 +%patch6 -p1 -b .pie rm -rf neon apr apr-util db4 @@ -98,9 +106,8 @@ rm -rf ${RPM_BUILD_ROOT} make install install-swig-py install-swig-pl-lib \ DESTDIR=$RPM_BUILD_ROOT %{swigdirs} -make install -C subversion/bindings/swig/perl \ - PERL_INSTALL_ROOT=$RPM_BUILD_ROOT \ - INSTALLARCHLIB=$RPM_BUILD_ROOT%{perl_archlib} +make pure_install -C subversion/bindings/swig/perl \ + PERL_INSTALL_ROOT=$RPM_BUILD_ROOT # Add subversion.conf configuration file into httpd/conf.d directory. install -m 755 -d ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d @@ -112,8 +119,7 @@ rm -rf ${RPM_BUILD_ROOT}%{_includedir}/subversion-*/*.txt \ # remove stuff produced with Perl modules find $RPM_BUILD_ROOT -type f \ - -a \( -name perllocal.pod -o -name .packlist -o \ - \( -name '*.bs' -a -empty \) \) \ + -a \( -name .packlist -o \( -name '*.bs' -a -empty \) \) \ -print0 | xargs -0 rm -f # make Perl modules writable so they get stripped @@ -143,6 +149,10 @@ rm -rf ${RPM_BUILD_ROOT} %postun -p /sbin/ldconfig +%post perl -p /sbin/ldconfig + +%postun perl -p /sbin/ldconfig + %files %defattr(-,root,root) %doc BUGS COMMITTERS COPYING HACKING INSTALL README CHANGES @@ -154,6 +164,7 @@ rm -rf ${RPM_BUILD_ROOT} %{pydir}/svn %{pydir}/libsvn %exclude %{_libdir}/libsvn_swig_perl* +%exclude %{_mandir}/man*/*::* %files devel %defattr(-,root,root) @@ -171,10 +182,33 @@ rm -rf ${RPM_BUILD_ROOT} %files perl %defattr(-,root,root,-) -%{_libdir}/perl*/* +%{perl_vendorarch}/auto/SVN +%{perl_vendorarch}/SVN %{_libdir}/libsvn_swig_perl* +%{_mandir}/man*/*::* %changelog +* Fri May 28 2004 Joe Orton 1.0.4-1.1 +- rebuild for new swig + +* Sat May 22 2004 Joe Orton 1.0.4-1 +- update to 1.0.4 + +* Fri May 21 2004 Joe Orton 1.0.3-2 +- build /usr/bin/* as PIEs +- add fix for libsvn_client symbol namespace violation (r9608) + +* Wed May 19 2004 Joe Orton 1.0.3-1 +- update to 1.0.3 + +* Sun May 16 2004 Joe Orton 1.0.2-3 +- add ldconfig invocations for -perl post/postun (Ville Skyttä) + +* Tue May 4 2004 Joe Orton 1.0.2-2 +- add perl MODULE_COMPAT requirement for -perl subpackage +- move perl man pages into -perl subpackage +- clean up -perl installation and dependencies (Ville Skyttä, #123045) + * Mon Apr 19 2004 Joe Orton 1.0.2-1 - update to 1.0.2