blob: 5ae6fe1ba1c506d98a8bebc8d2195fe1d9a9efa8 [file] [log] [blame]
%define apache_version 2.0.36-0.1
%define neon_version 0.19.2
Summary: A Concurrent Versioning system similar to but better than CVS.
Name: subversion
Version: @VERSION@
Release: @RELEASE@
Copyright: BSD
Group: Utilities/System
URL: http://subversion.tigris.org
Source0: subversion-%{version}-%{release}.tar.gz
Patch0: expat.patch
Patch1: install.patch
Vendor: Summersoft
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-devel >= %{apache_version}
BuildPreReq: apache-libapr-devel >= %{apache_version}
BuildPreReq: apache-libapr-utils-devel >= %{apache_version}
BuildPreReq: autoconf >= 2.52
BuildPreReq: db-devel >= 4.0.14
BuildPreReq: expat-devel
BuildPreReq: libtool >= 1.4.2
BuildPreReq: neon = %{neon_version}
BuildPreReq: python
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
Prefix: /usr
%description
Subversion does the same thing CVS does (Concurrent Versioning System) but has
major enhancements compared to CVS.
*** 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: Utilities/System
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 interacing with the subversion package.
%package server
Group: Utilities/System
Summary: Apache server module for Subversion server.
Requires: apache-libapr >= 0.%{apache_version}
Requires: apache-libapr-utils >= 0.%{apache_version}
Requires: perl
Requires: subversion = %{version}-%{release}
BuildPreReq: apache-devel >= %{apache_version}
%description server
The subversion-server package adds the Subversion server Apache module to
the Apache directories and configuration.
%changelog
* Wed Mar 06 2002 David Summers <david@summersoft.fay.ar.us> 0.9.0-1447
- Back to apache-libapr* stuff, hopefully to stay.
* Sun Feb 24 2002 David Summers <david@summersoft.fay.ar.us> 0.9.0-1373
- Fixed expat.patch to not have to make so many changes by writing a small
shell script that changes libexpat to -lexpat.
* Fri Feb 22 2002 Blair Zajac <blair@orcaware.com> 0.9.0-1364
- Updated to neon-0.19.2.
* Mon Feb 11 2002 David Summers <david@summersoft.fay.ar.us> 0.8.0-1250
- Back to using apr and apr-util separately from apache.
* Mon Feb 11 2002 David Summers <david@summersoft.fay.ar.us> 0.8.0-1232
- Updated to APR and APR-UTIL 2002.02.11.
- Updated to apache-2.0.32-0.2. (Requires apache-libapr and apache-libapr-util).
- Took out a (now non-existant) documentation file.
- Moved SPEC file changelog to after all package definitions.
* Sun Feb 03 2002 David Summers <david@summersoft.fay.ar.us> 0.8.0-1153
- Updated to neon-0.18.5.
- Broke up apache and apache-devel into apache-apr, apache-apr-devel,
apache-apr-utils, and apache-apr-utils-devel.
- Updated apache to APR and APR-UTILS to 2002.02.03 version.
* Sat Feb 02 2002 David Summers <david@summersoft.fay.ar.us> 0.8.0-1147
- Now builds without the separate APR package as it is built into and
"exported" from apache-2.0.31-0.3.
* Fri Feb 01 2002 David Summers <david@summersoft.fay.ar.us> 0.8.0-1132
- Took out patches to install procedure now not required because of fixes
in rev 1130.
* Fri Feb 01 2002 David Summers <david@summersoft.fay.ar.us> 0.8.0-1129
- Added requirement for APR 0.2002.01.19 rev 2 where the /usr/bin/apr-config
program was added.
* Sun Oct 28 2001 David Summers <david@summersoft.fay.ar.us>
- Release M5-r340: Added the subversion-server package.
* Fri Oct 26 2001 David Summers <david@summersoft.fay.ar.us>
- Release M5-r327: No longer need expat-lite. We can use the normal expat.
* Thu Sep 27 2001 David Summers <david@summersoft.fay.ar.us>
- Release M3-r117: Initial Version.
%prep
%setup -q
# Fix up expat library.
%patch0 -p1
sed -e 's;libexpat;-lexpat;' < build.conf > build.conf.new && mv build.conf build.conf.old && mv build.conf.new build.conf
sh autogen.sh
# EXPAT is external so get rid of all except (patched) xmlparse.h
rm -rf expat-lite/[a-w]*.[ch]
rm -rf expat-lite/xmldef.h
rm -rf expat-lite/xmlparse.c
rm -rf expat-lite/xmlrole*
rm -rf expat-lite/xmltok*
LDFLAGS="-lcrypt -ldl -pthread" ./configure --prefix=/usr --with-apr=/usr --with-apr-util=/usr
# Fix up mod_dav_svn installation.
%patch1 -p1
%build
make
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/share
make prefix=$RPM_BUILD_ROOT/usr libexecdir=$RPM_BUILD_ROOT/usr/lib/apache install
# Install man page until the previous install can do it correctly.
mv $RPM_BUILD_ROOT/usr/man $RPM_BUILD_ROOT/usr/share/man
# Install INFO pages in correct place.
mv $RPM_BUILD_ROOT/usr/info $RPM_BUILD_ROOT/usr/share/info
%post
/sbin/install-info /usr/share/info/svn-design.info.gz /usr/share/info/dir --entry='* Subversion-design: (svn-design). Subversion Versioning System Design Manual'
/sbin/install-info /usr/share/info/svn-manual.info.gz /usr/share/info/dir --entry='* Subversion: (svn-manual). Subversion Versioning System Manual'
/sbin/install-info /usr/share/info/svn_for_cvs_users.info.gz /usr/share/info/dir --entry='* Subversion-cvs: (svn_for_cvs_users). Subversion Versioning System Information for CVS Users'
%preun
/sbin/install-info --delete /usr/share/info/svn-design.info.gz /usr/share/info/dir --entry='* Subversion-design: (svn-design). Subversion Versioning System Design Manual'
/sbin/install-info --delete /usr/share/info/svn-manual.info.gz /usr/share/info/dir --entry='* Subversion: (svn-manual). Subversion Versioning System Manual'
/sbin/install-info --delete /usr/share/info/svn_for_cvs_users.info.gz /usr/share/info/dir --entry='* Subversion-cvs: (svn_for_cvs_users). Subversion Versioning System Information for CVS Users'
%post server
# Load subversion server into apache configuration.
CONF=/etc/httpd/conf/httpd.conf
# Search for Subversion dav_svn_module and add it to config file if not found.
if [ "`grep -i dav_svn_module $CONF`"x = "x" ]; then
# Put in LoadModule dav_svn_module line at end of LoadModule section.
perl -e '
while ( <> )
{
$FirstLoadFound = 1 if ( ! $FirstLoadFound &&
(/^LoadModule/ || /^#LoadModule/ || /^# LoadModule/) );
$InsertPointFound = 1,
print "LoadModule dav_svn_module modules/libmod_dav_svn.so\n"
if ( $FirstLoadFound && ! $InsertPointFound &&
! (/^LoadModule/ || /^#LoadModule/ || /^# LoadModule/ ) );
print;
}
' < $CONF > $CONF.new && mv $CONF $CONF.bak && mv $CONF.new $CONF
fi
# Conditionally add subversion example configuration.
if [ "`grep -i svnpath $CONF`"x = "x" ]; then
cat >> $CONF <<EOF
# Begin Subversion server configuration - Please don't delete this line.
#<Location /svn/repos>
# DAV svn
# SVNPath /home/svnroot
#
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
# AuthType Basic
# AuthName "Authorization Realm"
# AuthUserFile /absolute/path/to/passwdfile
# Require valid-user
# </LimitExcept>
#</Location>
# End Subversion server configuration - Please don't delete this line.
EOF
fi
# Restart apache server if needed.
source /etc/init.d/functions
if [ "`pidof httpd`"x != "x" ]; then
/etc/init.d/httpd restart
fi
%preun server
# Take subversion configuration out of apache configuration file.
# Only take it out if this package is being erased and not upgraded.
if [ "$1" = "0" ];
then
cd /etc/httpd/conf && sed -e 's/^LoadModule dav_svn_module/#LoadModule dav_svn_module/' -e '/^# Begin Subversion server/,/^# End Subversion server/s/^/#/' < httpd.conf > httpd.conf.new && mv httpd.conf httpd.conf.bak && mv httpd.conf.new httpd.conf
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
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%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*so*
/usr/share/man/man1/*
/usr/share/info/*
%files devel
%defattr(-,root,root)
/usr/lib/libsvn*.a
/usr/lib/libsvn*.la
/usr/include/svn*
%files server
%defattr(-,root,root)
/usr/lib/apache/libmod_dav_svn.*