subversion/subversion.spec

550 lines
17 KiB
RPMSpec

# set to zero to avoid running test suite
%define make_check 1
%ifarch %{ix86} x86_64 ppc
%define with_java 1
%else
# ecj platform bugs:
# ia64: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=154700
# ppc64: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158719
%define with_java 0
%endif
# set JDK path to build javahl; default for JPackage
%define jdk_path /usr/lib/jvm/java-1.4.2-gcj
%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
Summary: Modern Version Control System designed to replace CVS
Name: subversion
Version: 1.2.3
Release: 3
License: BSD
Group: Development/Tools
URL: http://subversion.tigris.org/
Source0: http://subversion.tigris.org/tarballs/subversion-%{version}.tar.gz
Source1: subversion.conf
Source3: filter-requires.sh
Source4: http://www.xsteve.at/prg/emacs/psvn.el
Patch1: subversion-0.24.2-swig.patch
Patch2: subversion-0.20.1-deplibs.patch
Patch3: subversion-0.31.0-rpath.patch
Patch6: subversion-1.0.3-pie.patch
Patch7: subversion-1.1.3-java.patch
BuildRequires: autoconf, libtool, python, python-devel, texinfo, which
BuildRequires: db4-devel >= 4.1.25, swig >= 1.3.20-1, docbook-style-xsl
BuildRequires: apr-devel >= 0.9.6-1, apr-util-devel >= 0.9.5-1
BuildRequires: neon-devel >= 0:0.24.7-1
BuildRoot: %{_tmppath}/%{name}-root
%define __perl_requires %{SOURCE3}
# Put Python bindings in site-packages
%define pydir %(python -c 'from distutils import sysconfig; print sysconfig.get_python_lib(1)')
%define swigdirs swig_pydir=%{pydir}/libsvn swig_pydir_extra=%{pydir}/svn
%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 is intended to be a
compelling replacement for CVS.
%package devel
Group: Development/Tools
Summary: Development package for Subversion developers.
Requires: subversion = %{version}-%{release}, apr-devel, apr-util-devel
%description devel
The subversion-devel package includes the static libraries and
include files for developers interacting with the subversion
package.
%package -n mod_dav_svn
Group: System Environment/Daemons
Summary: Apache server module for Subversion server.
Requires: httpd-mmn = %(cat %{_includedir}/httpd/.mmn || echo missing)
Requires: subversion = %{version}-%{release}
BuildRequires: httpd-devel >= 2.0.45
%description -n mod_dav_svn
The mod_dav_svn package allows access to a Subversion repository
using HTTP, via the Apache httpd server.
%package perl
Group: Development/Libraries
Summary: Perl bindings to the Subversion libraries
BuildRequires: perl >= 2:5.8.0
Requires: %(eval `perl -V:version`; echo "perl(:MODULE_COMPAT_$version)")
Requires: subversion = %{version}-%{release}
%description perl
This package includes the Perl bindings to the Subversion libraries.
%if %{with_java}
%package javahl
Group: Development/Libraries
Summary: JNI bindings to the Subversion libraries
Requires: subversion = %{version}-%{release}
BuildRequires: java-1.4.2-gcj-compat-devel
%description javahl
This package includes the JNI bindings to the Subversion libraries.
%endif
%package ruby
Group: Development/Libraries
Summary: Ruby bindings to the Subversion libraries
BuildRequires: ruby-devel >= 1.8.2, ruby >= 1.8.2
Requires: subversion = %{version}-%{release}, ruby-libs >= 1.8.2
%description ruby
This package includes the Ruby bindings to the Subversion libraries.
%prep
%setup -q
%patch1 -p1 -b .swig
%patch2 -p1 -b .deplibs
%patch3 -p1 -b .rpath
%patch6 -p1 -b .pie
%if %{with_java}
%patch7 -p1 -b .java
%endif
rm -rf neon apr apr-util db4
%build
./autogen.sh
# fix shebang lines, #111498
perl -pi -e 's|/usr/bin/env perl -w|/usr/bin/perl -w|' tools/hook-scripts/*.pl.in
# override weird -shrext from ruby
export svn_cv_ruby_link="%{__cc} -shared"
export CC=gcc CXX=g++ JAVA_HOME=%{jdk_path}
%configure --with-apr=%{_prefix} --with-apr-util=%{_prefix} \
--with-swig --with-neon=%{_prefix} \
--with-apxs=%{_sbindir}/apxs --disable-mod-activation \
--disable-static
make %{?_smp_mflags} all
make swig-pl swig-py %{swigdirs}
%if %{with_java}
make javahl
%endif
%install
rm -rf ${RPM_BUILD_ROOT}
make install install-swig-py install-swig-pl-lib install-swig-rb \
DESTDIR=$RPM_BUILD_ROOT %{swigdirs}
%if %{with_java}
make install-javahl DESTDIR=$RPM_BUILD_ROOT
%endif
make pure_vendor_install -C subversion/bindings/swig/perl/native \
PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
# Add subversion.conf configuration file into httpd/conf.d directory.
install -m 755 -d ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
install -m 644 $RPM_SOURCE_DIR/subversion.conf ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
# Remove unpackaged files
rm -rf ${RPM_BUILD_ROOT}%{_includedir}/subversion-*/*.txt \
${RPM_BUILD_ROOT}%{pydir}/*/*.{a,la}
# remove stuff produced with Perl modules
find $RPM_BUILD_ROOT -type f \
-a \( -name .packlist -o \( -name '*.bs' -a -empty \) \) \
-print0 | xargs -0 rm -f
# make Perl modules writable so they get stripped
find $RPM_BUILD_ROOT%{_libdir}/perl5 -type f -perm 555 -print0 |
xargs -0 chmod 755
# unnecessary libraries for swig bindings
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libsvn_swig_*.{so,la,a}
# Remove unnecessary ruby libraries
rm -f ${RPM_BUILD_ROOT}%{_libdir}/site_ruby/*/*/svn/ext/*.*a
# Trim what goes in docdir
rm -rf tools/*/*.in tools/test-scripts
# Install psvn for emacs and xemacs
for f in emacs/site-lisp xemacs/site-packages/lisp; do
install -m 755 -d ${RPM_BUILD_ROOT}%{_datadir}/$f
install -m 644 $RPM_SOURCE_DIR/psvn.el ${RPM_BUILD_ROOT}%{_datadir}/$f
done
# Rename authz_svn INSTALL doc for docdir
ln -f subversion/mod_authz_svn/INSTALL mod_authz_svn-INSTALL
%find_lang %{name}
%if %{make_check}
%check
export LANG=C LC_ALL=C
make check check-swig-pl CLEANUP=yes
# check-swig-rb omitted: it runs svnserve
%endif
%clean
rm -rf ${RPM_BUILD_ROOT}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post perl -p /sbin/ldconfig
%postun perl -p /sbin/ldconfig
%files -f %{name}.lang
%defattr(-,root,root)
%doc BUGS COMMITTERS COPYING HACKING INSTALL README CHANGES
%doc tools subversion/LICENSE mod_authz_svn-INSTALL
%doc doc/book/svn-book.html
%doc contrib/client-side/svn_load_dirs{.pl,_*,.README}
%{_bindir}/*
%{_libdir}/libsvn_*.so.*
%{_mandir}/man*/*
%{pydir}/svn
%{pydir}/libsvn
%{_datadir}/emacs/site-lisp
%{_datadir}/xemacs/site-packages/lisp
%exclude %{_libdir}/libsvn_swig_perl*
%exclude %{_mandir}/man*/*::*
%files devel
%defattr(-,root,root)
%{_includedir}/subversion-1
%{_libdir}/libsvn*.*a
%{_libdir}/libsvn*.so
%exclude %{_libdir}/libsvn_swig_perl*
%files -n mod_dav_svn
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/httpd/conf.d/subversion.conf
%{_libdir}/httpd/modules/mod_dav_svn.so
%{_libdir}/httpd/modules/mod_authz_svn.so
%files perl
%defattr(-,root,root,-)
%{perl_vendorarch}/auto/SVN
%{perl_vendorarch}/SVN
%{_libdir}/libsvn_swig_perl*
%{_mandir}/man*/*::*
%files ruby
%defattr(-,root,root,-)
%{_libdir}/libsvn_swig_ruby*
%{_libdir}/site_ruby/*/svn
%{_libdir}/site_ruby/*/*-linux/svn
%if %{with_java}
%files javahl
%defattr(-,root,root,-)
%{_libdir}/libsvnjavahl-1.*
%{_libdir}/svn-javahl
%endif
%changelog
* Thu Sep 8 2005 Joe Orton <jorton@redhat.com> 1.2.3-3
- update to 1.2.3
- merge subversion.conf changes from RHEL4
- merge filter-requires.sh changes from FC4 updates
* Mon Aug 8 2005 Joe Orton <jorton@redhat.com> 1.2.1-4
- add BR for which (#161015)
* Fri Jul 22 2005 Joe Orton <jorton@redhat.com> 1.2.0-3
- update to 1.2.1
- fix BuildRequires for ruby and apr-util (#163126)
- drop static library archives
* Wed May 25 2005 Joe Orton <jorton@redhat.com> 1.2.0-2
- disable java on all but x86, x86_64, ppc (#158719)
* Tue May 24 2005 Joe Orton <jorton@redhat.com> 1.2.0-1
- update to 1.2.0; add ruby subpackage
* Wed Apr 13 2005 Joe Orton <jorton@redhat.com> 1.1.4-3
- enable java subpackage again
- tweak subversion.conf comments
* Sun Apr 3 2005 Joe Orton <jorton@redhat.com> 1.1.4-2
- update to 1.1.4
* Tue Mar 22 2005 Joe Orton <jorton@redhat.com> 1.1.3-8
- further swig bindings fix (upstream via Max Bowsher, #151798)
- fix perl File::Path dependency in filter-requires.sh
* Tue Mar 22 2005 Joe Orton <jorton@redhat.com> 1.1.3-7
- restore swig bindings support (from upstream via Max Bowsher, #141343)
- tweak SELinux commentary in default subversion.conf
* Wed Mar 9 2005 Joe Orton <jorton@redhat.com> 1.1.3-6
- fix svn_load_dirs File::Path version requirement
* Tue Mar 8 2005 Joe Orton <jorton@redhat.com> 1.1.3-5
- add -java subpackage for javahl libraries (Anthony Green, #116202)
* Fri Mar 4 2005 Joe Orton <jorton@redhat.com> 1.1.3-4
- rebuild
* Tue Feb 15 2005 Joe Orton <jorton@redhat.com> 1.1.3-3
- run test suite in C locale (#146125)
- adjust -pie patch for build.conf naming upstream
* Wed Jan 19 2005 Joe Orton <jorton@redhat.com> 1.1.3-2
- rebuild to pick up db-4.3 properly; don't ignore test failures
* Sun Jan 16 2005 Joe Orton <jorton@redhat.com> 1.1.3-1
- update to 1.1.3 (#145236)
- fix python bindings location on x86_64 (#143522)
* Mon Jan 10 2005 Joe Orton <jorton@redhat.com> 1.1.2-3
- update to 1.1.2
- disable swig bindings due to incompatible swig version
* Wed Nov 24 2004 Joe Orton <jorton@redhat.com> 1.1.1-5
- update subversion.conf examples to be SELinux-friendly
* Thu Nov 11 2004 Jeff Johnson <jbj@jbj.org> 1.1.1-4
- rebuild against db-4.3.21.
- x86_64: don't fail "make check" while diagnosing db-4.3.21 upgrade.
* Mon Nov 8 2004 Jeremy Katz <katzj@redhat.com> - 1.1.1-3
- rebuild against python 2.4
* Mon Oct 25 2004 Joe Orton <jorton@redhat.com> 1.1.1-2
- update to 1.1.1
- update -pie patch to address #134786
* Mon Oct 4 2004 Joe Orton <jorton@redhat.com> 1.1.0-5
- use pure_vendor_install to fix Perl modules
- use %%find_lang to package translations (Axel Thimm)
* Thu Sep 30 2004 Joe Orton <jorton@redhat.com> 1.1.0-4
- don't use parallel make for swig-py
* Thu Sep 30 2004 Joe Orton <jorton@redhat.com> 1.1.0-3
- BuildRequire newest swig for "swig -ldflags" fix
* Thu Sep 30 2004 Joe Orton <jorton@redhat.com> 1.1.0-2
- fix swig bindings build on x86_64
* Thu Sep 30 2004 Joe Orton <jorton@redhat.com> 1.1.0-1
- update to 1.1.0
* Thu Sep 23 2004 Joe Orton <jorton@redhat.com> 1.0.8-2
- update to 1.0.8
- remove -neonver patch
- update psvn.el to 11062
* Mon Aug 23 2004 Joe Orton <jorton@redhat.com> 1.0.6-3
- add svn_load_dirs.pl to docdir (#128338)
- add psvn.el (#128356)
* Thu Jul 22 2004 Joe Orton <jorton@redhat.com> 1.0.6-2
- rebuild
* Tue Jul 20 2004 Joe Orton <jorton@redhat.com> 1.0.6-1
- update to 1.0.6
- allow build against neon 0.24.*
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Thu Jun 10 2004 Joe Orton <jorton@redhat.com> 1.0.5-1
- update to 1.0.5
* Mon Jun 7 2004 Joe Orton <jorton@redhat.com> 1.0.4-2
- add ra_svn security fix for CVE CAN-2004-0413 (Ben Reser)
* Fri May 28 2004 Joe Orton <jorton@redhat.com> 1.0.4-1.1
- rebuild for new swig
* Sat May 22 2004 Joe Orton <jorton@redhat.com> 1.0.4-1
- update to 1.0.4
* Fri May 21 2004 Joe Orton <jorton@redhat.com> 1.0.3-2
- build /usr/bin/* as PIEs
- add fix for libsvn_client symbol namespace violation (r9608)
* Wed May 19 2004 Joe Orton <jorton@redhat.com> 1.0.3-1
- update to 1.0.3
* Sun May 16 2004 Joe Orton <jorton@redhat.com> 1.0.2-3
- add ldconfig invocations for -perl post/postun (Ville Skyttä)
* Tue May 4 2004 Joe Orton <jorton@redhat.com> 1.0.2-2
- add perl MODULE_COMPAT requirement for -perl subpackage
- move perl man pages into -perl subpackage
- clean up -perl installation and dependencies (Ville Skyttä, #123045)
* Mon Apr 19 2004 Joe Orton <jorton@redhat.com> 1.0.2-1
- update to 1.0.2
* Fri Mar 12 2004 Joe Orton <jorton@redhat.com> 1.0.1-1
- update to 1.0.1; cvs2svn no longer included
* Fri Mar 12 2004 Joe Orton <jorton@redhat.com> 1.0.0-3
- add -perl subpackage for Perl bindings (steve@silug.org)
- include mod_authz_svn INSTALL file
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com> 1.0.0-2.1
- rebuilt
* Wed Feb 25 2004 Joe Orton <jorton@redhat.com> 1.0.0-2
- add fix for lack of apr_dir_read ordering guarantee (Philip Martin)
- enable compression in ra_dav by default (Tobias Ringström)
* Mon Feb 23 2004 Joe Orton <jorton@redhat.com> 1.0.0-1
- update to one-dot-oh
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com> 0.37.0-2
- rebuilt
* Sat Jan 24 2004 Joe Orton <jorton@redhat.com> 0.37.0-1
- update to 0.37.0
* Tue Jan 13 2004 Joe Orton <jorton@redhat.com> 0.36.0-1
- update to 0.36.0
* Thu Jan 8 2004 Joe Orton <jorton@redhat.com> 0.35.1-1
- update to 0.35.1
- fix shebang lines in hook scripts (#111498)
* Sat Dec 13 2003 Jeff Johnson <jbj@jbj.org> 0.34.0-3
- rebuild against db-4.2.52.
* Thu Dec 4 2003 Joe Orton <jorton@redhat.com> 0.34.0-2
- package all man pages
* Thu Dec 04 2003 Joe Orton <jorton@redhat.com> 0.34.0-1
- update to 0.34.0
* Thu Nov 13 2003 Joe Orton <jorton@redhat.com> 0.32.1-3
- remove workarounds for #109268 and #109267
* Thu Nov 6 2003 Joe Orton <jorton@redhat.com> 0.32.1-2
- rebuild for Python 2.3.2
- remove libtool workaround
- add workarounds for #109268 and #109267
* Fri Oct 24 2003 Joe Orton <jorton@redhat.com> 0.32.1-1
- update to 0.31.2
- work around libtool/ppc64/db4 confusion
* Mon Oct 13 2003 Jeff Johnson <jbj@jbj.org> 0.31.0-2.1
- rebuild against db-4.2.42.
* Fri Oct 10 2003 Joe Orton <jorton@redhat.com> 0.31.0-2
- include The Book
- don't add an RPATH for libdir to executables
* Thu Oct 9 2003 Joe Orton <jorton@redhat.com> 0.31.0-1
- update to 0.31.0
* Wed Sep 24 2003 Joe Orton <jorton@redhat.com> 0.30.0-1
- update to 0.30.0
* Sun Sep 7 2003 Joe Orton <jorton@redhat.com> 0.29.0-1
- update to 0.29.0
* Tue Jul 22 2003 Nalin Dahyabhai <nalin@redhat.com> 0.25-2
- rebuild
* Tue Jul 15 2003 Joe Orton <jorton@redhat.com> 0.25-1
- update to 0.25
* Mon Jul 14 2003 Joe Orton <jorton@redhat.com> 0.24.2-4
- rebuild
* Tue Jun 24 2003 Joe Orton <jorton@redhat.com> 0.24.2-3
- rebuild
* Tue Jun 24 2003 Joe Orton <jorton@redhat.com> 0.24.2-2
- don't use any LDFLAGS when building swig, fix for libdir=lib64
* Tue Jun 24 2003 Joe Orton <jorton@redhat.com> 0.24.2-1
- update to 0.24.2; fix Python bindings
* Tue Jun 17 2003 Joe Orton <jorton@redhat.com> 0.24.1-1
- update to 0.24.1; include mod_authz_svn
- force use of CC=gcc CXX=g++
* Mon Jun 9 2003 Joe Orton <jorton@redhat.com> 0.23.0-2
- add cvs2svn man page
* Mon Jun 9 2003 Joe Orton <jorton@redhat.com> 0.23.0-1
- update to 0.23.0
* Sun Jun 8 2003 Joe Orton <jorton@redhat.com> 0.22.2-7
- package cvs2svn to be usable outside docdir
- remove unnecessary files
* Thu Jun 5 2003 Joe Orton <jorton@redhat.com> 0.22.2-6
- add fix for unhandled deadlock errors in libsvn_fs
- don't package the out-of-date info pages
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com> 0.22.2-5
- rebuilt
* Tue Jun 3 2003 Joe Orton <jorton@redhat.com> 0.22.2-4
- cleanups
* Mon Jun 2 2003 Elliot Lee <sopwith@redhat.com> 0.22.2-3
- Add back in s390x, excludearch bad.
* Tue May 20 2003 Jeff Johnson <jbj@redhat.com> 0.22.2-2
- use external neon-0.23.9-2 (i.e. with neon-config), drop internal neon.
- use db-4.1.25, not db-4.0.14.
- do "make check" (but ignore failure for now).
- s390x knows not of httpd >= 2.0.45.
* Thu May 8 2003 Joe Orton <jorton@redhat.com> 0.22.2-1
- update to 0.22.2; add mod_dav_svn subpackage
- include Python bindings
- neon: force use of expat, enable SSL
- drop check for specific apr version added in -3
* Thu May 1 2003 Joe Orton <jorton@redhat.com> 0.20.1-6
- filter out perl(Config::IniFiles) requirement
* Thu May 1 2003 Joe Orton <jorton@redhat.com> 0.20.1-5
- fail early if apr-config is not 0.9.3
* Wed Apr 30 2003 Joe Orton <jorton@redhat.com> 0.20.1-4
- fix workaround for non-lib64 platforms
* Wed Apr 30 2003 Joe Orton <jorton@redhat.com> 0.20.1-3
- add workaround for libtool problem
* Tue Apr 29 2003 Joe Orton <jorton@redhat.com> 0.20.1-2
- require and use system apr, apr-util libraries
- use License not Copyright
* Fri Apr 04 2003 Florian La Roche <Florian.LaRoche@redhat.de>
- update to 0.20.1
* Wed Jan 22 2003 Jeff Johnson <jbj@redhat.com> 0.17.1-4503.0
- upgrade to 0.17.1.
* Wed Dec 11 2002 Jeff Johnson <jbj@redhat.com> 0.16-3987.1
- upgrade to 0.16.
* Wed Nov 13 2002 Jeff Johnson <jbj@redhat.com> 0.15-3687.2
- don't mess with the info handbook install yet.
* Sun Nov 10 2002 Jeff Johnson <jbj@redhat.com> 0.15-3687.1
- use libdir, build on x86_64 too.
- avoid "perl(Config::IniFiles) >= 2.27" dependency.
* Sat Nov 9 2002 Jeff Johnson <jbj@redhat.com> 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.