]> git.pld-linux.org Git - packages/subversion.git/blobdiff - subversion.spec
- split net_client_only bcond to subconds
[packages/subversion.git] / subversion.spec
index 87705590e58451ffb1e36a9bd50934d1807d2fd6..42e7683c9a2a429cbf5286915c8cb4a1991bc30d 100644 (file)
@@ -1,22 +1,43 @@
 # 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 swig                    # disable bindings generation with Swig
 %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 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 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}
+%define                without_swig    1
+%endif
 
-%{!?with_net_client_only:%include      /usr/lib/rpm/macros.perl}
 %define        apxs    /usr/sbin/apxs
 %define        pdir    SVN
 %define        pnam    _Core
 %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.13
-Release:       3
+Version:       1.6.16
+Release:       1
 License:       Apache/BSD-like
 Group:         Development/Version Control
 Source0:       http://subversion.tigris.org/downloads/%{name}-%{version}.tar.bz2
-# Source0-md5: 7ae1c827689f21cf975804005be30aeb
+# Source0-md5: 32f25a6724559fe8691d1f57a63f636e
 Source1:       %{name}-dav_svn.conf
 Source2:       %{name}-authz_svn.conf
 Source3:       %{name}-svnserve.init
@@ -47,13 +69,13 @@ Source5:    %{name}-convert-typemaps-to-ifdef.py
 Patch0:                %{name}-home_etc.patch
 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
 BuildRequires: db-devel >= 4.1.25
+BuildRequires: libtool
 BuildRequires: rpmbuild(macros) >= 1.583
 %if %{with perl}
 BuildRequires: perl-devel >= 1:5.8.0
@@ -62,28 +84,29 @@ BuildRequires:      swig-perl >= 1.3.24
 %endif
 %if %{with python}
 BuildRequires: python-ctypesgen
-BuildRequires: python-devel >= 2.2
+BuildRequires: python-devel >= 1:2.5
 BuildRequires: swig-python >= 1.3.24
 %endif
 %if %{with ruby}
 BuildRequires: ruby-devel
+BuildRequires: ruby-rubygems
 BuildRequires: swig-ruby >= 1.3.24
 %endif
 %if %{with javahl}
 BuildRequires: jdk
 %endif
 BuildRequires: cyrus-sasl-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: expat-devel
 BuildRequires: gettext-devel
-%{?with_gnome:BuildRequires:   libgnome-keyring-devel}
 %{?with_kwallet:BuildRequires: kde4-kdelibs-devel}
+%{?with_gnome:BuildRequires:   libgnome-keyring-devel}
 BuildRequires: libtool >= 1.4-9
 BuildRequires: pkgconfig
+BuildRequires: rpm-pythonprov
 BuildRequires: sed >= 4.0
 BuildRequires: sqlite3-devel >= 3.6.11
 BuildRequires: texinfo
@@ -93,8 +116,6 @@ BuildRequires:       neon-devel >= 0.26.0
 %else
 BuildRequires: serf-devel
 %endif
-BuildRequires: python >= 2.2
-BuildRequires: python-modules >= 2.2
 Requires:      %{name}-libs = %{version}-%{release}
 %requires_ge   sqlite3
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -366,33 +387,37 @@ Apache module: Subversion Server - path-based authorization.
 Moduł apache: autoryzacja na podstawie ścieżki dla serwera Subversion.
 
 %package -n gnome-keyring-subversion
-Summary:       Subversion module for Gnome Keyring
-Summary(pl.UTF-8):     Moduł subversion dla zarządcy kluczy Gnome
+Summary:       GNOME Keyring authentication provider for Subversion
+Summary(pl.UTF-8):     Moduł uwierzytelniający GNOME Keyring dla Subversion
 Group:         X11/Applications
 
 %description -n gnome-keyring-subversion
-Subversion module for Gnome Keyring.
+Authentication provider module for Subversion which allows SVN client
+to authenticate using GNOME Keyring.
 
 %description -n gnome-keyring-subversion -l pl.UTF-8
-Moduł subversion dla zarządcy kluczy Gnome.
+Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
+uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
 
 %package -n kde4-kwallet-subversion
-Summary:       Subversion module for KDE Wallet
-Summary(pl.UTF-8):     Moduł subversion dla Portfela KDE
+Summary:       KDE Wallet authentication provider for Subversion
+Summary(pl.UTF-8):     Moduł uwierzytelniający dla Subversion wykorzystujący Portfel KDE
 Group:         X11/Applications
 
 %description -n kde4-kwallet-subversion
-Subversion module for KDE Wallet.
+Authentication provider module for Subversion which allows SVN client
+to authenticate using KDE Wallet.
 
 %description -n kde4-kwallet-subversion -l pl.UTF-8
-Moduł subversion dla Portfela KDE.
+Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
+uwierzytelniać się przy użyciu Portfela KDE.
 
 %prep
 %setup -q
-rm -rf apr apr-util neon
 %patch0 -p0
 %patch1 -p1
 %patch2 -p0
+%patch3 -p1
 
 sed -i -e 's#serf_prefix/lib#serf_prefix/%{_lib}#g' build/ac-macros/serf.m4
 
@@ -400,35 +425,32 @@ sed -i -e 's#serf_prefix/lib#serf_prefix/%{_lib}#g' build/ac-macros/serf.m4
 %{?with_neon:sed -i -e 's#serf_found="yes"#serf_found="no"#g' build/ac-macros/serf.m4}
 
 %build
-rm subversion/bindings/swig/proxy/*.swg
-cd subversion/bindings/swig && python "%{SOURCE5}" && cd ../../..
-cp -f /usr/share/automake/config.sub ac-helpers
+# disabled regeneration - subversion 1.6.13 is not ready for swig 2.0.x
+#%{__rm} subversion/bindings/swig/proxy/*.swg
+#cd subversion/bindings/swig && python "%{SOURCE5}" && cd ../../..
 chmod +x ./autogen.sh && ./autogen.sh
-
+%{__libtoolize}
 %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 \
-%endif
        --with-jdk="%{java_home}" \
        --without-jikes \
 %if %{with neon}
@@ -450,7 +472,6 @@ chmod +x ./autogen.sh && ./autogen.sh
 
 %{__make} -j1
 
-%if !%{with net_client_only}
 # python
 %if %{with python}
 # ctypes bindings
@@ -477,7 +498,6 @@ cd $odir
 %if %{with ruby}
 %{__make} swig-rb
 %endif
-%endif
 
 %if %{with tests}
 %{__make} check
@@ -489,7 +509,8 @@ cd $odir
 %{__make} 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
 
@@ -498,6 +519,7 @@ 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 \
@@ -505,21 +527,19 @@ install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,bash_completion.d} \
        install-javahl \
        javahl_javadir="%{_javadir}" \
 %endif
-%if !%{with net_client_only}
 %if %{with python}
        install-swig-py \
        install-ctypes-python \
 %endif
 %if %{with ruby}
        install-swig-rb install-swig-rb-doc \
-%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 \
@@ -529,30 +549,37 @@ 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 %{without net_client_only}
+install -p tools/backup/hot-backup.py $RPM_BUILD_ROOT%{_bindir}/svn-hot-backup
+%endif
 %if %{with python}
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
-find $RPM_BUILD_ROOT%{py_sitedir} -name "*.py" -o -name "*.a" -o -name "*.la" | xargs rm -f
+%py_postclean
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/libsvn/*.la
 install tools/examples/*.py $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}
 %endif
-%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}
 
-%find_lang %{name}
+%{?with_javahl:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.{la,a}}
+%if %{with swig}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_swig*.{la,a}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ruby/site_ruby/*/*/svn/ext/*.la
+%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}
+%endif
 
-%{?with_javahl:rm $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.{la,a}}
-rm -f $RPM_BUILD_ROOT%{_libdir}/libsvn_swig*.{la,a}
-rm -f $RPM_BUILD_ROOT%{_libdir}/ruby/site_ruby/*/*/svn/ext/*.la
+%find_lang %{name}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -642,6 +669,7 @@ fi
 
 %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.*.*.*
@@ -650,8 +678,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.*.*.*
@@ -677,7 +707,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
@@ -691,7 +723,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
@@ -710,7 +744,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
@@ -773,10 +809,10 @@ fi
 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_py-1.so.0
 %attr(755,root,root) %{_libdir}/libsvn_swig_py-1.so
 %dir %{py_sitedir}/libsvn
+%attr(755,root,root) %{py_sitedir}/libsvn/_*.so
 %{py_sitedir}/libsvn/*.py[co]
 %dir %{py_sitedir}/svn
 %{py_sitedir}/svn/*.py[co]
-%attr(755,root,root) %{py_sitedir}/libsvn/*.so
 %{_examplesdir}/python-%{name}-%{version}
 
 %files -n python-csvn
@@ -789,7 +825,7 @@ fi
 %{py_sitescriptdir}/csvn/core/*.py[co]
 %dir %{py_sitescriptdir}/csvn/ext
 %{py_sitescriptdir}/csvn/ext/*.py[co]
-%{py_sitescriptdir}/*.egg-info
+%{py_sitescriptdir}/svn_ctypes_python_bindings-0.1-py*.egg-info
 %endif
 
 %if %{with perl}
This page took 0.979555 seconds and 4 git commands to generate.