]> git.pld-linux.org Git - packages/subversion.git/blobdiff - subversion.spec
- don't run checks in parallerl - eats so many resources
[packages/subversion.git] / subversion.spec
index 6450e2fb01eca24da7aee41edcff3deda20103e2..cbedecb9047c5bd7e88929665ef05cf6dd1a8353 100644 (file)
@@ -1,45 +1,61 @@
-# TODO:
-# - remove net_client_only and add db bcond (then without apache and
-#   without db => net_client_only - spec will be more simpler, I think)
-# - finish ruby
-# - http://subversion.tigris.org/issues/show_bug.cgi?id=2753
 #
 # Conditional build:
 %bcond_with    net_client_only         # build only net client
 %bcond_without neon                    # use serf instead of neon
-%bcond_without python                  # build without python bindings (broken)
-%bcond_without perl                    # build without perl bindings
-%bcond_without ruby                    # build without ruby bindings
-%bcond_without apache                  # build without apache support (webdav, etc)
+%bcond_without swig                    # disable bindings generation with Swig
+%bcond_without python                  # build without Python bindings (broken)
+%bcond_without csvn                    # build Python csvn bindings
+%bcond_without perl                    # build without Perl bindings
+%bcond_with    ruby                    # build without Ruby bindings
+%bcond_without apache                  # build without Apache support (webdav, etc)
 %bcond_without javahl                  # build without javahl support (Java high-level bindings)
 %bcond_without tests                   # don't perform "make check"
 %bcond_without kwallet                 # build without kde4 wallet support
-%bcond_without kde                     # build without kde4 support (alias for kwallet)
+%bcond_without kde                             # build without kde4 support (alias for kwallet)
 %bcond_without gnome                   # build without gnome keyring support
+%bcond_without db                              # disable Subversion Berkeley DB based filesystem library
+
+%if %{with net_client_only}
+%undefine      with_apache
+%undefine      with_db
+%undefine      with_swig
+%undefine      with_javahl
+%endif
+
+%if %{without swig}
+%undefine      with_perl
+%undefine      with_python
+%undefine      with_ruby
+%endif
+
+%if %{without kde}
+%undefine      with_kwallet
+%endif
+
+%if %{without python} && %{without perl} && %{without ruby}
+%undefine      with_swig
+%endif
 
-%{!?with_net_client_only:%include      /usr/lib/rpm/macros.perl}
 %define        apxs    /usr/sbin/apxs
 %define        pdir    SVN
 %define        pnam    _Core
 
-%if !%{with kde}
-%undefine      with_kwallet
-%endif
 %if %{with neon}
 %define        webdavlib       neon
 %else
 %define        webdavlib       serf
 %endif
+%{?with_perl:%include  /usr/lib/rpm/macros.perl}
 Summary:       A Concurrent Versioning system similar to but better than CVS
 Summary(pl.UTF-8):     System kontroli wersji podobny, ale lepszy, niż CVS
 Summary(pt_BR.UTF-8):  Sistema de versionamento concorrente
 Name:          subversion
-Version:       1.6.15
+Version:       1.7.0
 Release:       1
 License:       Apache/BSD-like
 Group:         Development/Version Control
-Source0:       http://subversion.tigris.org/downloads/%{name}-%{version}.tar.bz2
-# Source0-md5: 113fca1d9e4aa389d7dc2b210010fa69
+Source0:       http://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2
+# Source0-md5: 930e6644a1b6094efd268fde6a318f04
 Source1:       %{name}-dav_svn.conf
 Source2:       %{name}-authz_svn.conf
 Source3:       %{name}-svnserve.init
@@ -53,9 +69,6 @@ Patch1:               %{name}-DESTDIR.patch
 Patch2:                %{name}-ruby-datadir-path.patch
 Patch3:                %{name}-tests.patch
 URL:           http://subversion.apache.org/
-%if %{with net_client_only}
-%global apache_modules_api 0
-%else
 %{?with_apache:BuildRequires:  apache-devel >= 2.2.0-8}
 BuildRequires: autoconf
 BuildRequires: automake
@@ -67,31 +80,37 @@ BuildRequires:      perl-devel >= 1:5.8.0
 BuildRequires: rpm-perlprov >= 4.1-13
 BuildRequires: swig-perl >= 1.3.24
 %endif
-%if %{with python}
+%if %{with csvn}
 BuildRequires: python-ctypesgen
-BuildRequires: python-devel >= 1:2.5
+%endif
+%if %{with python}
+BuildRequires: python-devel >= 1:2.4
 BuildRequires: swig-python >= 1.3.24
 %endif
 %if %{with ruby}
-BuildRequires: ruby-devel
+BuildRequires: ruby-devel >= 1:1.8
+BuildRequires: ruby-devel < 1:1.9
+BuildRequires: ruby-rubygems
 BuildRequires: swig-ruby >= 1.3.24
 %endif
 %if %{with javahl}
 BuildRequires: jdk
-%endif
-BuildRequires: cyrus-sasl-devel
+BuildRequires: libstdc++-devel
 %endif
 BuildRequires: apr-devel >= 1:1.0.0
 BuildRequires: apr-util-devel >= 1:1.2.8-3
 BuildRequires: autoconf >= 2.59
 BuildRequires: bison
+BuildRequires: cyrus-sasl-devel
 BuildRequires: expat-devel
 BuildRequires: gettext-devel
-%{?with_gnome:BuildRequires:   libgnome-keyring-devel}
 %{?with_kwallet:BuildRequires: kde4-kdelibs-devel}
+BuildRequires: libmagic-devel
+%{?with_gnome:BuildRequires:   libgnome-keyring-devel}
 BuildRequires: libtool >= 1.4-9
 BuildRequires: pkgconfig
 BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.559
 BuildRequires: sed >= 4.0
 BuildRequires: sqlite3-devel >= 3.6.11
 BuildRequires: texinfo
@@ -418,29 +437,34 @@ chmod +x ./autogen.sh && ./autogen.sh
 %configure \
        --with-editor=vi \
        --with-zlib=%{_libdir} \
-%if %{with net_client_only}
-       --without-apache \
-       --without-swig \
-       --without-apxs \
-       --without-berkeley-db \
-%else
        --disable-runtime-module-search \
        --disable-mod-activation \
+%if %{with db}
        --with-berkeley-db="db.h:%{_includedir}:%{_libdir}:db" \
+%else
+       --without-berkeley-db \
+%endif
 %if %{with apache}
        --with-apxs=%{_sbindir}/apxs \
 %else
-       --without-apache \
        --without-apxs \
 %endif
-%if !%{with python} && !%{with perl} && !%{with ruby}
+%if %{without swig}
        --without-swig \
 %endif
-       %{?with_python:--with-ctypesgen=%{_bindir}/ctypesgen.py} \
-       --%{?with_javahl:en}%{!?with_javahl:dis}able-javahl \
+%if %{without ruby}
+       ac_cv_path_RUBY=none \
 %endif
+%if %{with csvn}
+       --with-ctypesgen=%{_bindir}/ctypesgen.py \
+%endif
+%if %{with javahl}
+       --enable-javahl \
        --with-jdk="%{java_home}" \
        --without-jikes \
+%else
+       --disable-javahl \
+%endif
 %if %{with neon}
        --without-serf \
        --with-neon=%{_prefix} \
@@ -460,24 +484,23 @@ chmod +x ./autogen.sh && ./autogen.sh
 
 %{__make} -j1
 
-%if !%{with net_client_only}
-# python
-%if %{with python}
-# ctypes bindings
+%if %{with csvn}
+# Python ctypes bindings
 %{__make} ctypes-python
-# swig bindings
+%endif
+%if %{with python}
+# Python swig bindings
 %{__make} swig-py \
        swig_pydir=%{py_sitedir}/libsvn \
        swig_pydir_extra=%{py_sitedir}/svn
 %endif
-# perl
 %if %{with perl}
+# Perl swig bindings
 %{__make} -j1 swig-pl-lib
-odir=$(pwd)
 cd subversion/bindings/swig/perl/native
 %{__perl} Makefile.PL INSTALLDIRS=vendor
 %{__make} -j1
-cd $odir
+cd -
 %endif
 %if %{with javahl}
 %{__make} -j1 javahl \
@@ -487,19 +510,21 @@ cd $odir
 %if %{with ruby}
 %{__make} swig-rb
 %endif
-%endif
 
 %if %{with tests}
-%{__make} check
+%{__make} -j1 check
+%if %{with csvn}
+%{__make} -j1 check-ctypes-python
+%endif
 %if %{with python}
-%{__make} check-ctypes-python
-%{__make} check-swig-py
+%{__make} -j1 check-swig-py
 %endif
 %if %{with perl}
-%{__make} check-swig-pl
+%{__make} -j1 check-swig-pl
 %endif
 %if %{with ruby}
-%{__make} check-swig-rb
+# disabled, see https://bugs.launchpad.net/pld-linux/+bug/734340
+#%{__make} check-swig-rb
 %endif
 %endif
 
@@ -508,28 +533,40 @@ rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,bash_completion.d} \
        $RPM_BUILD_ROOT{%{apacheconfdir},%{apachelibdir},%{_infodir}} \
        $RPM_BUILD_ROOT%{_examplesdir}/{%{name}-%{version},python-%{name}-%{version}} \
+       $RPM_BUILD_ROOT%{_sysconfdir}/%{name} \
        $RPM_BUILD_ROOT/home/services/subversion{,/repos}
 
 %{__make} install -j1 \
+       DESTDIR=$RPM_BUILD_ROOT \
+       APACHE_LIBEXECDIR="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
 %if %{with javahl}
        install-javahl \
        javahl_javadir="%{_javadir}" \
 %endif
-%if !%{with net_client_only}
 %if %{with python}
        install-swig-py \
+       swig_pydir=%{py_sitedir}/libsvn \
+       swig_pydir_extra=%{py_sitedir}/svn \
+%endif
+%if %{with csvn}
        install-ctypes-python \
 %endif
+
 %if %{with ruby}
+%{__make} install -j1 \
+       DESTDIR=$RPM_BUILD_ROOT \
        install-swig-rb install-swig-rb-doc \
+
+# not our package
+%{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/Kernel
+%{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/OptionParser
+%{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/Time
+%{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/Uconv
+%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
+%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
 %endif
-%endif
-       APACHE_LIBEXECDIR="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
-       DESTDIR=$RPM_BUILD_ROOT \
-       swig_pydir=%{py_sitedir}/libsvn \
-       swig_pydir_extra=%{py_sitedir}/svn
 
-%if !%{with net_client_only} && %{with perl}
+%if %{with perl}
 %{__make} install-swig-pl-lib \
        DESTDIR=$RPM_BUILD_ROOT
 %{__make} -C subversion/bindings/swig/perl/native install \
@@ -539,29 +576,39 @@ install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,bash_completion.d} \
 %endif
 
 %if %{with apache}
-install %{SOURCE1} $RPM_BUILD_ROOT%{apacheconfdir}/65_mod_dav_svn.conf
-install %{SOURCE2} $RPM_BUILD_ROOT%{apacheconfdir}/66_mod_authz_svn.conf
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/svnserve
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/svnserve
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{apacheconfdir}/65_mod_dav_svn.conf
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{apacheconfdir}/66_mod_authz_svn.conf
+cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/svnserve
+install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/svnserve
 %endif
 
-%if !%{with net_client_only}
-install tools/backup/hot-backup.py $RPM_BUILD_ROOT%{_bindir}/svn-hot-backup
-%if %{with python}
+%if %{without net_client_only}
+install -p tools/backup/hot-backup.py $RPM_BUILD_ROOT%{_bindir}/svn-hot-backup
+%endif
+%if %{with python} || %{with csvn}
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
 %py_postclean
-%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/libsvn/*.la
-install tools/examples/*.py $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}
 %endif
+%if %{with python}
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/libsvn/*.la
+# .a created on ac only
+%{__rm} -f $RPM_BUILD_ROOT%{py_sitedir}/libsvn/*.a
+cp -p tools/examples/*.py $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}
 %endif
 
-install tools/client-side/bash_completion $RPM_BUILD_ROOT/etc/bash_completion.d/%{name}
-install tools/examples/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -p tools/client-side/bash_completion $RPM_BUILD_ROOT/etc/bash_completion.d/%{name}
+cp -p tools/examples/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
-%{?with_javahl:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.{la,a}}
+%if %{with javahl}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.{la,a}
+%endif
+%if %{with swig}
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_swig*.{la,a}
+%if %{with ruby}
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ruby/site_ruby/*/*/svn/ext/*.la
+%endif
+%endif
 %if %{with gnome} || %{with kwallet}
 # dlopened by soname (libsvn_auth_*-1.so.0)
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_auth_*-1.{so,la,a}
@@ -637,7 +684,7 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc BUGS CHANGES COPYING INSTALL README
+%doc BUGS CHANGES INSTALL README
 %doc doc/*/*.html
 %doc tools/hook-scripts/*.{pl,py,example}
 %doc tools/hook-scripts/mailer/*.{py,example}
@@ -645,18 +692,21 @@ fi
 %attr(755,root,root) %{_bindir}/svn
 %attr(755,root,root) %{_bindir}/svnadmin
 %attr(755,root,root) %{_bindir}/svndumpfilter
+%attr(755,root,root) %{_bindir}/svnrdump
 %attr(755,root,root) %{_bindir}/svnlook
 %attr(755,root,root) %{_bindir}/svnsync
 %attr(755,root,root) %{_bindir}/svnversion
 %{_mandir}/man1/svn.1*
 %{_mandir}/man1/svnadmin.1*
 %{_mandir}/man1/svndumpfilter.1*
+%{_mandir}/man1/svnrdump.1*
 %{_mandir}/man1/svnlook.1*
 %{_mandir}/man1/svnsync.1*
 %{_mandir}/man1/svnversion.1*
 
 %files libs -f %{name}.lang
 %defattr(644,root,root,755)
+%dir %{_sysconfdir}/%{name}
 %attr(755,root,root) %{_libdir}/libsvn_client-1.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libsvn_client-1.so.0
 %attr(755,root,root) %{_libdir}/libsvn_delta-1.so.*.*.*
@@ -665,8 +715,10 @@ fi
 %attr(755,root,root) %ghost %{_libdir}/libsvn_diff-1.so.0
 %attr(755,root,root) %{_libdir}/libsvn_fs-1.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs-1.so.0
+%if %{without net_client_only}
 %attr(755,root,root) %{_libdir}/libsvn_fs_base-1.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_base-1.so.0
+%endif
 %attr(755,root,root) %{_libdir}/libsvn_fs_fs-1.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_fs-1.so.0
 %attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so.*.*.*
@@ -692,7 +744,9 @@ fi
 %attr(755,root,root) %{_libdir}/libsvn_delta-1.so
 %attr(755,root,root) %{_libdir}/libsvn_diff-1.so
 %attr(755,root,root) %{_libdir}/libsvn_fs-1.so
+%if %{without net_client_only}
 %attr(755,root,root) %{_libdir}/libsvn_fs_base-1.so
+%endif
 %attr(755,root,root) %{_libdir}/libsvn_fs_fs-1.so
 %attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so
 %attr(755,root,root) %{_libdir}/libsvn_ra-1.so
@@ -706,7 +760,9 @@ fi
 %{_libdir}/libsvn_delta-1.la
 %{_libdir}/libsvn_diff-1.la
 %{_libdir}/libsvn_fs-1.la
+%if %{without net_client_only}
 %{_libdir}/libsvn_fs_base-1.la
+%endif
 %{_libdir}/libsvn_fs_fs-1.la
 %{_libdir}/libsvn_fs_util-1.la
 %{_libdir}/libsvn_ra-1.la
@@ -725,7 +781,9 @@ fi
 %{_libdir}/libsvn_delta-1.a
 %{_libdir}/libsvn_diff-1.a
 %{_libdir}/libsvn_fs-1.a
+%if %{without net_client_only}
 %{_libdir}/libsvn_fs_base-1.a
+%endif
 %{_libdir}/libsvn_fs_fs-1.a
 %{_libdir}/libsvn_fs_util-1.a
 %{_libdir}/libsvn_ra-1.a
@@ -771,6 +829,8 @@ fi
 %defattr(644,root,root,755)
 /etc/bash_completion.d/%{name}
 
+%endif # net_client_only
+
 %if %{with javahl}
 %files -n java-subversion
 %defattr(644,root,root,755)
@@ -783,7 +843,7 @@ fi
 %if %{with python}
 %files -n python-subversion
 %defattr(644,root,root,755)
-%doc tools/backup/*.py tools/examples/*.py
+%doc tools/backup/*.py
 %attr(755,root,root) %{_libdir}/libsvn_swig_py-1.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_py-1.so.0
 %attr(755,root,root) %{_libdir}/libsvn_swig_py-1.so
@@ -793,7 +853,9 @@ fi
 %dir %{py_sitedir}/svn
 %{py_sitedir}/svn/*.py[co]
 %{_examplesdir}/python-%{name}-%{version}
+%endif
 
+%if %{with csvn}
 %files -n python-csvn
 %defattr(644,root,root,755)
 %doc subversion/bindings/ctypes-python/{README,TODO}
@@ -847,5 +909,3 @@ fi
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_authz_svn.conf
 %attr(755,root,root) %{apachelibdir}/mod_authz_svn.so
 %endif
-
-%endif # net_client_only
This page took 0.634011 seconds and 4 git commands to generate.