diff --git a/.cvsignore b/.cvsignore index 67be7a6..635e917 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -subversion-0.27.0.tar.gz +subversion-0.32.1.tar.gz diff --git a/filter-requires.sh b/filter-requires.sh new file mode 100755 index 0000000..8dce59c --- /dev/null +++ b/filter-requires.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +/usr/lib/rpm/perl.req $* | sed -e '/perl(Config::IniFiles)/d' diff --git a/sources b/sources index 0cc8779..a2d03cb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0f4fa0ebb0b58b83bad9433b8baa3f9a subversion-0.27.0.tar.gz +b06717a8ef50db4b5c4d380af00bd901 subversion-0.32.1.tar.gz diff --git a/subversion-0.20.1-deplibs.patch b/subversion-0.20.1-deplibs.patch new file mode 100644 index 0000000..79f758d --- /dev/null +++ b/subversion-0.20.1-deplibs.patch @@ -0,0 +1,33 @@ + +APR and APR-util are patched to store dependencies in the .la file. + +--- subversion-0.20.1/build/ac-macros/aprutil.m4.deplibs 2003-03-26 16:34:47.000000000 +0000 ++++ subversion-0.20.1/build/ac-macros/aprutil.m4 2003-04-29 11:03:54.000000000 +0100 +@@ -64,11 +64,9 @@ + AC_MSG_ERROR([apu-config --includes failed]) + fi + +- dnl When APR stores the dependent libs in the .la file, we don't need +- dnl --libs. +- SVN_APRUTIL_LIBS="`$apu_config --link-libtool --libs`" ++ SVN_APRUTIL_LIBS="`$apu_config --link-libtool`" + if test $? -ne 0; then +- AC_MSG_ERROR([apu-config --link-libtool --libs failed]) ++ AC_MSG_ERROR([apu-config --link-libtool failed]) + fi + + SVN_APRUTIL_EXPORT_LIBS="`$apu_config --link-ld --libs`" +--- subversion-0.20.1/build/ac-macros/apr.m4.deplibs 2003-03-26 16:34:47.000000000 +0000 ++++ subversion-0.20.1/build/ac-macros/apr.m4 2003-04-29 11:03:45.000000000 +0100 +@@ -68,9 +68,9 @@ + + dnl When APR stores the dependent libs in the .la file, we don't need + dnl --libs. +- SVN_APR_LIBS="`$apr_config --link-libtool --libs`" ++ SVN_APR_LIBS="`$apr_config --link-libtool`" + if test $? -ne 0; then +- AC_MSG_ERROR([apr-config --link-libtool --libs failed]) ++ AC_MSG_ERROR([apr-config --link-libtool failed]) + fi + + SVN_APR_EXPORT_LIBS="`$apr_config --link-ld --libs`" diff --git a/subversion-0.31.0-rpath.patch b/subversion-0.31.0-rpath.patch new file mode 100644 index 0000000..cc6adbc --- /dev/null +++ b/subversion-0.31.0-rpath.patch @@ -0,0 +1,28 @@ + +Only pass -rpath $(libdir) on the link line when linking programs, +not libraries. + +--- subversion-0.31.0/build/generator/gen_base.py.rpath ++++ subversion-0.31.0/build/generator/gen_base.py +@@ -421,6 +421,9 @@ + tfile = '%s-%s%s' % (name, cfg.version, extmap['lib', 'target']) + self.filename = os.path.join(self.path, tfile) + ++ ### hmm. this is Makefile-specific ++ self.link_cmd = '$(LINK_LIB)' ++ + class TargetApacheMod(TargetLib): + + def __init__(self, name, options, cfg, extmap): +--- subversion-0.31.0/Makefile.in.rpath ++++ subversion-0.31.0/Makefile.in +@@ -127,7 +127,8 @@ + 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) -rpath $(libdir) ++LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) ++LINK_LIB = $(LINK) -rpath $(libdir) + + # 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.conf b/subversion.conf new file mode 100644 index 0000000..2094092 --- /dev/null +++ b/subversion.conf @@ -0,0 +1,25 @@ + +LoadModule dav_svn_module modules/mod_dav_svn.so +LoadModule authz_svn_module modules/mod_authz_svn.so + +# +# Example configuration to enable HTTP access for a Subversion +# repository, "/home/svnroot". This repository must be readable +# and writable by the 'apache' user. +# + +# +# DAV svn +# SVNPath /home/svnroot +# +# # Limit write permission to list of valid users. +# +# # Require SSL connection for password protection. +# # SSLRequireSSL +# +# AuthType Basic +# AuthName "Authorization Realm" +# AuthUserFile /path/to/passwdfile +# Require valid-user +# +# diff --git a/subversion.spec b/subversion.spec index 7586591..297a8e1 100644 --- a/subversion.spec +++ b/subversion.spec @@ -4,87 +4,109 @@ Summary: A Concurrent Versioning system similar to, but better than, CVS. Name: subversion -Version: 0.27.0 -Release: 2 -Copyright: BSD +Version: 0.32.1 +Release: 1 +License: BSD Group: Development/Tools URL: http://subversion.tigris.org -Source0: http://subversion.tigris.org/tarballs/subversion-0.27.0.tar.gz +Source0: http://svn.collab.net/tarballs/subversion-%{version}.tar.gz +Source1: subversion.conf +Source3: filter-requires.sh -Patch0: subversion-0.27.0-CAN-2004-0179.patch -Patch1: subversion-0.27.0-rpath.patch -Patch2: subversion-0.27.0-libtool.patch +Patch1: subversion-0.24.2-swig.patch +Patch2: subversion-0.20.1-deplibs.patch +Patch3: subversion-0.31.0-rpath.patch +Patch4: subversion-0.32.1-libtool.patch -Requires: /sbin/install-info - -BuildPreReq: autoconf >= 2.53 -BuildPreReq: db4-devel >= 4.0.14 -BuildPreReq: expat-devel -BuildPreReq: gdbm-devel -BuildPreReq: libtool >= 1.4.2 -BuildPreReq: openssl-devel -BuildPreReq: python -BuildPreReq: python-devel - -BuildPreReq: texinfo -BuildPreReq: zlib-devel +BuildPreReq: autoconf, libtool, python, python-devel +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 +%define __perl_requires %{SOURCE3} -%description -Subversion is a concurrent version control system which enables one or more -users to collaborate in developing and maintaining a hierarchy of files and -directories while keeping a history of all changes. Subversion only stores -the differences between versions, instead of every complete file. Subversion -also keeps a log of who, when, and why changes occured. +# Put Python bindings in site-packages +%define pydir %(python -c 'from distutils import sysconfig; print sysconfig.get_python_lib()') +%define swigdirs swig_pydir=%{pydir}/libsvn swig_pydir_extra=%{pydir}/svn -As such it basically does the same thing CVS does (Concurrent Versioning System) -but has major enhancements compared to CVS and fixes a lot of the annoyances -that CVS users face. +%description +Subversion is a concurrent version control system which enables one +or more users to collaborate in developing and maintaining a +hierarchy of files and directories while keeping a history of all +changes. Subversion only stores the differences between versions, +instead of every complete file. Subversion is intended to be a +compelling replacement for CVS. %package devel Group: Development/Tools Summary: Development package for Subversion developers. -Requires: subversion = %{version}-%{release} +Requires: subversion = %{version}-%{release}, apr-devel, apr-util-devel %description devel -The subversion-devel package includes the static libraries and include files -for developers interacting with the subversion package. +The subversion-devel package includes the static libraries and +include files for developers interacting with the subversion +package. + +%package -n mod_dav_svn +Group: System Environment/Daemons +Summary: Apache server module for Subversion server. +Requires: httpd-mmn = %(cat %{_includedir}/httpd/.mmn) +Requires: subversion = %{version}-%{release} +BuildPreReq: httpd-devel >= 2.0.45 + +%description -n mod_dav_svn +The mod_dav_svn package allows access to a Subversion repository +using HTTP, via the Apache httpd server. %prep %setup -q -%patch0 -p1 -b .can0179 -%patch1 -p1 -b .rpath + +%patch1 -p1 -b .swig +%patch2 -p1 -b .deplibs +%patch3 -p1 -b .rpath + +rm -rf neon apr apr-util db4 %build ./autogen.sh -patch -p1 -b -z .libtool < %{PATCH2} -%configure --without-swig --without-apxs -make -%if %{make_check} -make check -%endif +# libtool + db4 + ppc64 = confusion +patch -p1 < %PATCH4 +autoconf + +%configure --with-apr=%{_prefix} --with-apr-util=%{_prefix} \ + --with-swig --with-neon=%{_prefix} \ + --with-apxs=%{_sbindir}/apxs --disable-mod-activation \ + CC=gcc CXX=g++ +make %{?_smp_mflags} all swig-py %{swigdirs} %install rm -rf ${RPM_BUILD_ROOT} -mkdir -p ${RPM_BUILD_ROOT}%{_datadir} +make install install-swig-py DESTDIR=$RPM_BUILD_ROOT %{swigdirs} -# XXX avoid "perl(Config::IniFiles) >= 2.27" dependency -chmod -x ./tools/hook-scripts/commit-access-control.pl +# Add subversion.conf configuration file into httpd/conf.d directory. +install -m 755 -d ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d +install -m 644 $RPM_SOURCE_DIR/subversion.conf ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d -make install DESTDIR=$RPM_BUILD_ROOT +# Make cvs2svn more accessible. +install -m 755 -d ${RPM_BUILD_ROOT}%{pydir}/rcsparse +install -m 644 tools/cvs2svn/rcsparse/*.py ${RPM_BUILD_ROOT}%{pydir}/rcsparse +install -m 755 tools/cvs2svn/cvs2svn.py ${RPM_BUILD_ROOT}%{_bindir}/cvs2svn +install -m 644 tools/cvs2svn/cvs2svn.1 ${RPM_BUILD_ROOT}%{_mandir}/man1 -mkdir -p ${RPM_BUILD_ROOT}%{_includedir}/apr-0 -mv ${RPM_BUILD_ROOT}%{_includedir}/a*.h ${RPM_BUILD_ROOT}%{_includedir}/apr-0 +# Remove unpackaged files +rm -rf ${RPM_BUILD_ROOT}%{_includedir}/subversion-*/*.txt \ + ${RPM_BUILD_ROOT}%{pydir}/*/*.{a,la} -rm -rf ${RPM_BUILD_ROOT}%{_datadir}/doc/neon-0.23.*/html/ +# Trim what goes in docdir +rm -rf tools/cvs2svn tools/*/*.in tools/test-scripts \ + doc/book/book/images/images doc/book/book/images/*.ppt -rm -rf ${RPM_BUILD_ROOT}%{_datadir}/build -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/doc/%{name}-%{version} -mv ${RPM_BUILD_ROOT}%{_datadir}/doc/neon-0.23.* \ - ${RPM_BUILD_ROOT}%{_datadir}/doc/%{name}-%{version} +%if %{make_check} +%check +make check CLEANUP=yes +%endif %clean rm -rf ${RPM_BUILD_ROOT} @@ -95,14 +117,15 @@ rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,root) -%doc BUGS COMMITTERS COPYING HACKING IDEAS INSTALL README +%doc BUGS COMMITTERS COPYING HACKING INSTALL README CHANGES %doc tools subversion/LICENSE -%{_bindir}/svn* -%{_libdir}/libsvn*.so.* +%doc doc/book/book/book.html doc/book/book/images +%{_bindir}/* +%{_libdir}/libsvn_*.so.* %{_mandir}/man1/* - -%{_libdir}/libapr*.so.* -%{_libdir}/libneon*.so.* +%{pydir}/svn +%{pydir}/libsvn +%{pydir}/rcsparse %files devel %defattr(-,root,root) @@ -110,26 +133,105 @@ rm -rf ${RPM_BUILD_ROOT} %{_libdir}/libsvn*.a %{_libdir}/libsvn*.la -%{_bindir}/apr-config -%{_bindir}/apu-config -%{_includedir}/apr-* -%{_libdir}/apr*.exp -%{_libdir}/libapr*.a -%{_libdir}/libapr*.la - -%{_bindir}/neon-config -%{_includedir}/neon -%{_libdir}/libneon*.a -%{_libdir}/libneon*.la -%{_mandir}/man3/* +%files -n mod_dav_svn +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/httpd/conf.d/subversion.conf +%{_libdir}/httpd/modules/mod_dav_svn.so +%{_libdir}/httpd/modules/mod_authz_svn.so %changelog -* Tue Apr 6 2004 Joe Orton 0.27.0-2 -- fix RPATH and libtool issues +* Fri Oct 24 2003 Joe Orton 0.32.1-1 +- update to 0.31.2 +- work around libtool/ppc64/db4 confusion + +* Fri Oct 10 2003 Joe Orton 0.31.0-2 +- include The Book +- don't add an RPATH for libdir to executables + +* Thu Oct 9 2003 Joe Orton 0.31.0-1 +- update to 0.31.0 + +* Wed Sep 24 2003 Joe Orton 0.30.0-1 +- update to 0.30.0 + +* Sun Sep 7 2003 Joe Orton 0.29.0-1 +- update to 0.29.0 + +* Tue Jul 22 2003 Nalin Dahyabhai 0.25-2 +- rebuild + +* Tue Jul 15 2003 Joe Orton 0.25-1 +- update to 0.25 + +* Mon Jul 14 2003 Joe Orton 0.24.2-4 +- rebuild + +* Tue Jun 24 2003 Joe Orton 0.24.2-3 +- rebuild + +* Tue Jun 24 2003 Joe Orton 0.24.2-2 +- don't use any LDFLAGS when building swig, fix for libdir=lib64 + +* Tue Jun 24 2003 Joe Orton 0.24.2-1 +- update to 0.24.2; fix Python bindings + +* Tue Jun 17 2003 Joe Orton 0.24.1-1 +- update to 0.24.1; include mod_authz_svn +- force use of CC=gcc CXX=g++ + +* Mon Jun 9 2003 Joe Orton 0.23.0-2 +- add cvs2svn man page + +* Mon Jun 9 2003 Joe Orton 0.23.0-1 +- update to 0.23.0 + +* Sun Jun 8 2003 Joe Orton 0.22.2-7 +- package cvs2svn to be usable outside docdir +- remove unnecessary files + +* Thu Jun 5 2003 Joe Orton 0.22.2-6 +- add fix for unhandled deadlock errors in libsvn_fs +- don't package the out-of-date info pages + +* Wed Jun 04 2003 Elliot Lee 0.22.2-5 +- rebuilt + +* Tue Jun 3 2003 Joe Orton 0.22.2-4 +- cleanups + +* Mon Jun 2 2003 Elliot Lee 0.22.2-3 +- Add back in s390x, excludearch bad. + +* Tue May 20 2003 Jeff Johnson 0.22.2-2 +- use external neon-0.23.9-2 (i.e. with neon-config), drop internal neon. +- use db-4.1.25, not db-4.0.14. +- do "make check" (but ignore failure for now). +- s390x knows not of httpd >= 2.0.45. + +* Thu May 8 2003 Joe Orton 0.22.2-1 +- update to 0.22.2; add mod_dav_svn subpackage +- include Python bindings +- neon: force use of expat, enable SSL +- drop check for specific apr version added in -3 + +* Thu May 1 2003 Joe Orton 0.20.1-6 +- filter out perl(Config::IniFiles) requirement + +* Thu May 1 2003 Joe Orton 0.20.1-5 +- fail early if apr-config is not 0.9.3 + +* Wed Apr 30 2003 Joe Orton 0.20.1-4 +- fix workaround for non-lib64 platforms + +* Wed Apr 30 2003 Joe Orton 0.20.1-3 +- add workaround for libtool problem + +* Tue Apr 29 2003 Joe Orton 0.20.1-2 +- require and use system apr, apr-util libraries +- use License not Copyright -* Mon Apr 5 2004 Joe Orton 0.27.0-1 -- update to 0.27.0 (last version using the format 1 db schema) -- add neon fix for CAN-2004-0179 +* Fri Apr 04 2003 Florian La Roche +- update to 0.20.1 * Wed Jan 22 2003 Jeff Johnson 0.17.1-4503.0 - upgrade to 0.17.1.