The attached patch builds additional subversion-local and
subversion-remote RPMs. This should ease RPM dependency hell - you can
install the local component without neon or the remote component without
Berkeley DB. (You can also build in pieces - but not without the remote
component until issue 617 is fixed.)
This requires my "[PATCH] Move library version to svn_config".
I tested it, but only with dependencies commented out. (I can't download
RPMs because my cable modem is out. The one they installed today and
worked for less than five hours. Grr. At least telephone service for a
plain modem now.)
--
Scott Lamb
* packages/rpm/subversion.spec: Split RPM into local and remote components
to ease dependencies when only one is needed.
Index: packages/rpm/subversion.spec
===================================================================
--- packages/rpm/subversion.spec
+++ packages/rpm/subversion.spec Thu Aug 8 22:22:00 2002
@@ -1,6 +1,14 @@
%define apache_version 2.0.40-0.8
%define neon_version 0.21.3
%define apache_dir /usr/local/apache2
+
+# Which parts to build.
+# Local should be enabled if server is.
+# Disabling remote won't work until issue 617 is fixed.
+%define build_local 1
+%define build_remote 1
+%define build_server 1
+
# 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 1
@@ -17,24 +25,27 @@
Packager: David Summers <david@summersoft.fay.ar.us>
Requires: apache-libapr >= %{apache_version}
Requires: apache-libapr-utils >= %{apache_version}
-Requires: db >= 4.0.14
Requires: expat
-Requires: neon = %{neon_version}
#Requires: /sbin/install-info
-BuildPreReq: apache >= %{apache_version}
-BuildPreReq: apache-devel >= %{apache_version}
BuildPreReq: apache-libapr-devel >= %{apache_version}
BuildPreReq: apache-libapr-utils-devel >= %{apache_version}
BuildPreReq: autoconf253 >= 2.53
+%if %{build_local}
BuildPreReq: db-devel >= 4.0.14
+%endif
BuildPreReq: expat-devel
BuildPreReq: gdbm-devel
BuildPreReq: libtool >= 1.4.2
-BuildPreReq: neon = %{neon_version}
+%if %{build_remote}
+BuildPreReq: neon-devel = %{neon_version}
+%endif
BuildPreReq: openssl-devel
BuildPreReq: python
BuildPreReq: texinfo
BuildPreReq: zlib-devel
+%if %{build_server}
+BuildPreReq: apache-devel >= %{apache_version}
+%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
Prefix: /usr
%description
@@ -46,10 +57,31 @@
if you don't have root access on your machine but would like to use this
package.
+%package remote
+Group: Utilities/System
+Summary: Remote repository access for Subversion.
+Requires: subversion = %{version}-%{release}
+Requires: neon = %{neon_version}
+%description remote
+The subversion-remote package contains the ra_dav module for accessing remote
+repositories over WebDAV.
+
+%package local
+Group: Utilities/System
+Summary: Local repository access for Subversion.
+Requires: subversion = %{version}-%{release}
+Requires: db >= 4.0.14
+%description local
+The subversion-local package includes files necessary to directly access a
+local repository (without using a webserver). This includes the filesystem
+layer, the ra_local module, and administrative tools.
+
%package devel
Group: Utilities/System
Summary: Development package for Subversion developers.
Requires: subversion = %{version}-%{release}
+Requires: subversion-remote = %{version}-%{release}
+Requires: subversion-local = %{version}-%{release}
Requires: apache >= %{apache_version}
%description devel
The subversion-devel package includes the static libraries and include files
@@ -58,16 +90,20 @@
%package server
Group: Utilities/System
Summary: Apache server module for Subversion server.
+Requires: apache >= %{apache_version}
Requires: apache-libapr >= 0.%{apache_version}
Requires: apache-libapr-utils >= 0.%{apache_version}
Requires: perl
Requires: subversion = %{version}-%{release}
-BuildPreReq: apache-devel >= %{apache_version}
+Requires: subversion-local = %{version}-%{release}
%description server
The subversion-server package adds the Subversion server Apache module to
the Apache directories and configuration.
%changelog
+* Thu Aug 08 2002 Scott Lamb <slamb@slamb.org> 0.14.0-2918
+- Separated local and remote components.
+
* Tue Jun 25 2002 David Summers <david@summersoft.fay.ar.us> 0.13.0-2332
- Updated to APACHE/APR/APR-UTIL 2002-06-25.
- Previous version had a few problems because of missing apache error/ files.
@@ -149,9 +185,20 @@
-L$RPM_BUILD_DIR/subversion-%{version}/subversion/libsvn_wc/.libs \
" ./configure \
--prefix=/usr \
- --with-apxs=%{apache_dir}/usr/bin/apxs \
+%if %{build_server}
+ --with-apxs=%{apache_dir}/bin/apxs \
+%endif
--with-apr=%{apache_dir}/bin/apr-config \
- --with-apr-util=%{apache_dir}/bin/apu-config
+ --with-apr-util=%{apache_dir}/bin/apu-config \
+%if %{build_local}
+ --with-berkeley-db \
+%else
+ --without-berkeley-db \
+%endif
+%if ! %{build_remote}
+ --without-neon \
+%endif
+ --enable-dso
# Fix up mod_dav_svn installation.
%patch0 -p1
@@ -210,6 +257,7 @@
fi
fi
+%if %{build_server}
%post server
# Load subversion server into apache configuration.
CONF=%{apache_dir}/conf/httpd.conf
@@ -276,6 +324,7 @@
if [ "`pidof httpd`"x != "x" ]; then
/etc/init.d/httpd2 restart
fi
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
@@ -285,18 +334,29 @@
%doc BUGS COMMITTERS COPYING HACKING IDEAS INSTALL PORTING README
%doc tools subversion/LICENSE
/usr/bin/svn
-/usr/bin/svnadmin
-/usr/bin/svnlook
/usr/lib/libsvn_client*so*
/usr/lib/libsvn_delta*so*
-/usr/lib/libsvn_fs*so*
-/usr/lib/libsvn_ra*so*
-/usr/lib/libsvn_repos*so*
+/usr/lib/libsvn_ra-*so*
/usr/lib/libsvn_subr*so*
/usr/lib/libsvn_wc*so*
-/usr/share/man/man1/*
+/usr/share/man/man1/svn.1.gz
/usr/share/info/*
+%if %{build_remote}
+%files remote
+/usr/lib/libsvn_ra_dav*so*
+%endif
+
+%if %{build_local}
+%files local
+/usr/lib/libsvn_fs-*.so*
+/usr/lib/libsvn_ra_local*so*
+/usr/lib/libsvn_repos*so*
+/usr/bin/svnadmin
+/usr/bin/svnlook
+/usr/share/man/man1/svnadmin.1.gz
+%endif
+
%files devel
%defattr(-,root,root)
/usr/lib/libsvn*.a
@@ -304,7 +364,9 @@
/usr/include/subversion-1
/usr/bin/svn-config
+%if %{build_server}
%files server
%defattr(-,root,root)
%{apache_dir}/modules/mod_dav_svn.la
%{apache_dir}/modules/mod_dav_svn.so
+%endif
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Aug 9 05:39:15 2002