[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] Split RPM local and remote components

From: Scott Lamb <slamb_at_slamb.org>
Date: 2002-08-09 05:35:01 CEST

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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.