Last Update: Wed Apr  2 18:40:23 PST 2003

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

	NOTE : I have given up trying to keep subversion working on
	mandrake 9.0. There is a new spec file for mandrake 9.1 one
	directory up from here. Please use that.

	If someone wants to get new builds of subversion packaging
	on mandrake 9.0 again, let me know at ballbach@rten.net and
	I'll try to give you a little guidance. It will be a pain
	to do though becaus almost everything subversion uses is out
	of date in a stock mandrake 9.0 box.

-----------------
Mandrake SVN RPM:
-----------------

These are the files required to build a mandrake 9.0 RPM for subversion.
At the moment, mandrake does not package DB4.0, it also does not package
Neon, and it has an older version of SWIG. So, you might want to go to:

http://www.rten.net/mdk-svn.html

To acquire the related packages before building your own mandrake RPM.
Also, a note on Apache2. There is a version of apache2 in cooker, but it
is insufficient because it is not built against DB4.0. You can either get
apache2 rpms built against DB4.0 at the above URL, or get the apache2
SRPM and modify the spec file to build against DB4.0. A simple patch is
included at the end of this file.

When building this RPM with the neon RPM provided at the above URL, you
may find that no libneon.so file exists in your /usr/lib. This may cause
problems when subversion tries to build. Just create the link and it
should work okay.

To build the RPMs directly from this directory, you should be able to
just `make'. You must have followed the setup directions in the mandrake
rpm howto though, and, of course, you must have the appropriate
development packages. (also available at the above url) You might want to
read the top of the makefile for some other notes.

Now notes on the RPMs this spec file produces:

subversion-base:
----------------
This is the base set of common libraries required by subversion
components. All further packages depend on this one. This package
requires the apache portability runtime libraries and the apr-util
libraries.

subversion-client-common:
-------------------------
Subversion is written so that any number of RA modules can be built to
access repositories. This package includes the basic `svn' executable and
man page, and other client parts required to run it, but it does not
include any of the RA modules. This is a prerequisite for any of the
other subversion-client-something RPMs.

subversion-client-dav:
----------------------
This RPM includes the RA module for WebDAV repositories. In other words,
if you are going to access remote repositories, you want to install this
one. This package depends on subversion-client-common. This package also
depends on the NEON libraries.

subversion-client-local:
------------------------
This RPM includes the RA module for local repositories. This is so you
can access repositories stored in DB files on the local mounts. This
package requires the common client package, subversion-repos, and DB4.0.

subversion-devel:
-----------------
This RPM includes the static libraries, header files, and linker scripts
for subversion.

subversion-python:
------------------
This RPM includes the python SWIG bindings for subversion. This package
requires SWIG, the base subversion package, and any client packages one
might want depending on what the python scripts you're writing will do.

subversion-repos:
-----------------
This RPM includes the libraries required to access local repositories.
This is a required package for client-local, and the server RPM.

subversion-server:
------------------
This package will install the mod_dav_svn.so apache DSO, and a
configuration file called 46_mod_dav_svn.conf in /etc/httpd/conf.d. The
later file being the one you should modify to include your subversion
directory roots. Setting up the repositories and adding any users or
groups for the process is left to the user.

So, many combinations of packages are available depending on the type of
installation you want to do. The apr, apr-util, and subversion-base
packages are always required, but then you could just simply install
neon, client-common, and client-dav to get a subversion setup for network
repositories. Add client-local, repos, and DB4.0 for local repositories,
or add repos and server to setup a subversion server.

--------
Contact:
--------

Please let me know if you have problems or additions to the spec file. My
email address is: ballbach@rten.net. Thanks.

--------------------------
Apache2 DB4.0 Specs Patch:
--------------------------

This patch also adds --enable-maintainer-mode. The specs file for the
mandrake RPMS for subversion also uses this tag. This is because
subversion isn't done yet, so enabling the debug information will
hopefully allow users to submit better traces and such.

This patch is verbatim from the modified SPEC file I use, except I
removed the Packager: portion, and my changelog entry.

--- /home/ballbach/rpm/SPECS/apache2.spec.orig	2002-10-10 14:23:34.000000000 -0600
+++ /home/ballbach/rpm/SPECS/apache2.spec	2002-10-10 20:29:12.000000000 -0600
@@ -37,14 +38,14 @@
 Patch4:			mod_logio-2.0.43.patch.bz2
 
 BuildRequires:		ADVX-build
-BuildRequires:		perl >= 0:5.600 libgdbm2-devel libdb3.3-devel byacc glibc-devel libtool
+BuildRequires:		perl >= 0:5.600 libgdbm2-devel db4.0-devel byacc glibc-devel libtool
 BuildRequires:		openssl-devel libexpat0-devel zlib-devel
 #BuildRequires:		libldap2-devel libsasl7-devel
 Prereq:			%{ap_name}-conf 
 Prereq:			%{ap_name}-common
 Prereq: 		%{ap_name}-modules = %{ap_version}
 Prereq:			%{apr_name} = %{ap_version}
-Requires:		libgdbm2 libdb3.3 glibc libexpat0 libtool
+Requires:		libgdbm2 db4.0 glibc libexpat0 libtool
 #Requires:		libldap2 libsasl7
 BuildRoot:		%{_tmppath}/%{ap_name}-%{version}-buildroot
 Provides:		webserver 
@@ -230,7 +231,7 @@
 Group: System/Servers
 Summary: The %{ap_name} Source
 #No use to install it if you don't have libgdbm.so and libpthread.so!
-Requires: libdb3.3-devel, db1-devel
+Requires: db4.0-devel, db1-devel
 Requires: libgdbm2-devel, glibc-devel
 Obsoletes: apache-source
 Provides: apache-source
@@ -376,7 +377,9 @@
 APVARS="--build=%_target_platform \
     --host=%_target_platform \
     --target=%_target_platform \
-    --with-dbm=db3 \
+    --with-dbm=db4 \
+    --with-berkeley-db=/usr/BerkeleyDB.4.0 \
+    --enable-maintainer-mode \
     --with-installbuilddir=%{ap_installbuilddir} \
     --with-expat=%{_prefix} \
     --with-pcre=%{_prefix} \

