diff --git a/.cvsignore b/.cvsignore index e69de29..ee11a18 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1,3 @@ +apr-0.9.1.tar.gz +apr-util-0.9.1.tar.gz +subversion-r4503.tar.gz diff --git a/sources b/sources index e69de29..3b5a86a 100644 --- a/sources +++ b/sources @@ -0,0 +1,3 @@ +862ab3e00695f065235f6f25ea6cbace apr-0.9.1.tar.gz +fb1a1e360a2b643ab447e993975e3397 apr-util-0.9.1.tar.gz +b3fe784e9528552c574a63586522f540 subversion-r4503.tar.gz diff --git a/subversion.conf b/subversion.conf new file mode 100644 index 0000000..06a9a94 --- /dev/null +++ b/subversion.conf @@ -0,0 +1,17 @@ +#LoadModule dav_module modules/mod_dav.so +#LoadModule dav_svn_module modules/mod_dav_svn.so +# +# 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 /absolute/path/to/passwdfile +# Require valid-user +# +# diff --git a/subversion.spec b/subversion.spec new file mode 100644 index 0000000..8a1eb5d --- /dev/null +++ b/subversion.spec @@ -0,0 +1,338 @@ +# If you don't have 360+ MB of free disk space or don't want to run checks then +# set make_check to 0. +%define make_check 0 +# If you want to try to build cvs2svn then change build_cvs2svn to 1 +%define build_cvs2svn 0 + +# XXX only client and libraries for now. +%define with_server 0 + +%define apache_version 2.0.42-0.1 +%define apache_dir /usr + +Summary: A Concurrent Versioning system similar to, but better than, CVS. +Name: subversion +Version: 0.17.1 +Release: 4503.0 +Copyright: BSD +Group: Development/Tools +URL: http://subversion.tigris.org +Prefix: %{_prefix} + +Source0: http://subversion.tigris.org/files/documents/15/2123/subversion-r4503.tar.gz +Source1: subversion.conf +Source2: rcsparse.py + +Source10: apr-0.9.1.tar.gz +Source11: apr-util-0.9.1.tar.gz + +Patch0: install.patch +Patch1: cvs2svn.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 + +%if %{with_server} +Requires: httpd-apr >= %{apache_version} +BuildPreReq: httpd >= %{apache_version} +BuildPreReq: httpd-devel >= %{apache_version} +BuildPreReq: httpd-apr-devel >= %{apache_version} +%endif + +%if %{build_cvs2svn} +BuildPreReq: swig >= 1.3.15 +%endif +BuildPreReq: texinfo +BuildPreReq: zlib-devel +BuildRoot: %{_tmppath}/%{name}-root + +%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. + +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. + +*** Note: This is a relocatable package; it can be installed anywhere you like +with the "rpm -Uvh --prefix /your/favorite/path" command. This is useful +if you don't have root access on your machine but would like to use this +package. + +%package devel +Group: Development/Tools +Summary: Development package for Subversion developers. +Requires: subversion = %{version}-%{release} + +%description devel +The subversion-devel package includes the static libraries and include files +for developers interacting with the subversion package. + +%if %{with_server} +%package server +Group: Development/Tools +Summary: Apache server module for Subversion server. +Requires: httpd >= %{apache_version} +Requires: httpd-apr >= %{apache_version} +Requires: subversion = %{version}-%{release} +BuildPreReq: httpd-devel >= %{apache_version} + +%description server +The subversion-server package adds the Subversion server Apache module to +the Apache directories and configuration. +%endif + +%if %{build_cvs2svn} +%package cvs2svn +Group: Development/Tools +Summary: Converts CVS repositories to Subversion repositories. +Requires: swig-runtime >= 1.3.15 + +%description cvs2svn +Converts CVS repositories to Subversion repositories. + +See %{_docdir}/%{name}-%{version}/tools/cvs2svn directory for more information. + +%endif + +%prep +%setup -q -n subversion-r4503 + +#tar xzf %{SOURCE10} +#ln -s apr-[0-9]* apr +#tar xzf %{SOURCE11} +#ln -s apr-util-[0-9]* apr-util + +sh autogen.sh + +LDFLAGS="-L$RPM_BUILD_DIR/subversion-%{version}/subversion/libsvn_client/.libs \ + -L$RPM_BUILD_DIR/subversion-%{version}/subversion/libsvn_delta/.libs \ + -L$RPM_BUILD_DIR/subversion-%{version}/subversion/libsvn_fs/.libs \ + -L$RPM_BUILD_DIR/subversion-%{version}/subversion/libsvn_repos/.libs \ + -L$RPM_BUILD_DIR/subversion-%{version}/subversion/libsvn_ra/.libs \ + -L$RPM_BUILD_DIR/subversion-%{version}/subversion/libsvn_ra_dav/.libs \ + -L$RPM_BUILD_DIR/subversion-%{version}/subversion/libsvn_ra_local/.libs \ + -L$RPM_BUILD_DIR/subversion-%{version}/subversion/libsvn_subr/.libs \ + -L$RPM_BUILD_DIR/subversion-%{version}/subversion/libsvn_wc/.libs \ + " %configure \ +%if %{build_cvs2svn} + --with-swig \ +%endif + --without-apxs + +# Fix up mod_dav_svn installation. +%patch0 -p1 + +%if %{build_cvs2svn} +# Fix up cvs2svn python bindings +%patch1 -p1 +%endif + +%build +make + +%if %{make_check} +make check +%endif + +%if %{build_cvs2svn} +# Build cvs2svn python bindings +cd subversion/bindings/swig/python +/usr/bin/python setup.py build +%endif + +%install +rm -rf ${RPM_BUILD_ROOT} +mkdir -p ${RPM_BUILD_ROOT}%{_datadir} + +# XXX avoid "perl(Config::IniFiles) >= 2.27" dependency +chmod -x ./tools/hook-scripts/commit-access-control.pl + +%if %{with_server} +mkdir -p ${RPM_BUILD_ROOT}/%{apache_dir}/conf +%endif + +%makeinstall \ + fs_bindir=${RPM_BUILD_ROOT}%{_bindir} \ + fs_libdir=${RPM_BUILD_ROOT}%{_libdir} \ + base_libdir=${RPM_BUILD_ROOT}%{_libdir} \ + installbuilddir=${RPM_BUILD_ROOT}%{_datadir}/build \ + libexecdir=${RPM_BUILD_ROOT}%{apache_dir}/lib + +# XXX Relocate the apr include files into a sub-directory. +( cd ${RPM_BUILD_ROOT} + mkdir -p .%{_includedir}/apr-0 + mv .%{_includedir}/a*.h .%{_includedir}/apr-0 +) + +# XXX nuke unpackaged files +( cd ${RPM_BUILD_ROOT} + rm -rf .%{_datadir}/doc/neon-0.23.5/html/ +) + +%if %{with_server} +# Add subversion.conf configuration file into httpd/conf.d directory. +mkdir -p ${RPM_BUILD_ROOT}/etc/httpd/conf.d +cp %{SOURCE1} ${RPM_BUILD_ROOT}/etc/httpd/conf.d +%endif + +%if %{build_cvs2svn} +# Install cvs2svn and supporting files +cd subversion/bindings/swig/python +/usr/bin/python setup.py install --prefix ${RPM_BUILD_ROOT}%{_prefix} +chmod a+x ${RPM_BUILD_ROOT}%{_bindir}/cvs2svn +cp %{SOURCE2} ${RPM_BUILD_ROOT}/usr/lib/python2.2/site-packages/svn +%endif + +# XXX Nuke unpackaged files +( cd ${RPM_BUILD_ROOT} + rm -rf .%{_datadir}/build + mkdir -p .%{_datadir}/doc/%{name}-%{version} + mv .%{_datadir}/doc/neon-0.23.2 .%{_datadir}/doc/%{name}-%{version} +) + +%clean +rm -rf ${RPM_BUILD_ROOT} + +%post +/sbin/ldconfig +# Only add to INFO directory if this is the only instance installed. +if [ "$1"x = "1"x ]; then + if [ -x /sbin/install-info ]; then + /sbin/install-info %{_infodir}/svn-design.info.gz \ + %{_infodir}/dir \ + --entry='* Subversion-design: (svn-design). Subversion Versioning System Design Manual' + +# /sbin/install-info %{_infodir}/svn-handbook.info.gz \ +# %{_infodir}/dir \ +# --entry='* Subversion: (svn-handbook). Subversion Versioning System Manual' + +# /sbin/install-info %{_infodir}/svn-handbook-french.info.gz \ +# %{_infodir}/dir \ +# --entry='* Subversion-french: (svn-handbook-french). Guide du gestionnaire de version Subversion' + fi +fi + +%preun +# Only delete from INFO directory if this is the last instance being deleted. +if [ "$1"x = "0"x ]; then + if [ -x /sbin/install-info ]; then + /sbin/install-info --delete %{_infodir}/svn-design.info.gz \ + %{_infodir}/dir \ + --entry='* Subversion-design: (svn-design). Subversion Versioning System Design Manual' + +# /sbin/install-info --delete %{_infodir}/svn-handbook.info.gz \ +# %{_infodir}/dir \ +# --entry='* Subversion: (svn-handbook). Subversion Versioning System Manual' + +# /sbin/install-info --delete %{_infodir}/svn-handbook-french.info.gz \ +# %{_infodir}/dir \ +# --entry='* Subversion-french: (svn-handbook-french). Guide du gestionnaire de version Subversion' + fi +fi + +%postun -p /sbin/ldconfig + +%if %{with_server} +%post server +# Restart apache server if needed. +source /etc/init.d/functions +if [ "`pidof httpd`"x != "x" ]; then + /etc/init.d/httpd restart +fi + +%postun server +# Restart apache server if needed. +source /etc/init.d/functions +if [ "`pidof httpd`"x != "x" ]; then + /etc/init.d/httpd restart +fi +%endif + +%files +%defattr(-,root,root) +%doc BUGS COMMITTERS COPYING HACKING IDEAS INSTALL PORTING README +%doc tools subversion/LICENSE +%{_bindir}/svn +%{_bindir}/svnadmin +%{_bindir}/svnlook +%{_bindir}/svnserve +%{_bindir}/svnversion +%{_libdir}/libsvn_auth*.so.* +%{_libdir}/libsvn_client*.so.* +%{_libdir}/libsvn_delta*.so.* +%{_libdir}/libsvn_fs*.so.* +%{_libdir}/libsvn_ra*.so.* +%{_libdir}/libsvn_repos*.so.* +%{_libdir}/libsvn_subr*.so.* +%{_libdir}/libsvn_wc*.so.* +%{_mandir}/man1/* +%{_infodir}/* + +%{_libdir}/libapr*.so.* +%{_libdir}/libneon*.so.* + +%files devel +%defattr(-,root,root) +%{_bindir}/svn-config +%{_includedir}/subversion-1 +%{_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/* + +%if %{with_server} +%files server +%defattr(-,root,root) +%config /etc/httpd/conf.d/subversion.conf +%{apache_dir}/lib/httpd/modules/mod_dav_svn.la +%{apache_dir}/lib/httpd/modules/mod_dav_svn.so +%endif + +%if %{build_cvs2svn} +%files cvs2svn +%defattr(-,root,root) +%{_bindir}/cvs2svn +/usr/lib/python2.2/site-packages/svn +%endif + +%changelog +* Wed Jan 22 2003 Jeff Johnson 0.17.1-4503.0 +- upgrade to 0.17.1. + +* Wed Dec 11 2002 Jeff Johnson 0.16-3987.1 +- upgrade to 0.16. + +* Wed Nov 13 2002 Jeff Johnson 0.15-3687.2 +- don't mess with the info handbook install yet. + +* Sun Nov 10 2002 Jeff Johnson 0.15-3687.1 +- use libdir, build on x86_64 too. +- avoid "perl(Config::IniFiles) >= 2.27" dependency. + +* Sat Nov 9 2002 Jeff Johnson 0.15-3687.0 +- first build from adapted spec file, only client and libraries for now. +- internal apr/apr-utils/neon until incompatibilities sort themselves out. +- avoid libdir issues on x86_64 for the moment.