]> git.pld-linux.org Git - packages/subversion.git/blobdiff - subversion.spec
update source url
[packages/subversion.git] / subversion.spec
index 9021703ef0d4a423e66476f28839028953ee4e05..9650f3c548627e996bff254ad0f3e519d3875d5a 100644 (file)
@@ -1,45 +1,75 @@
 # 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 javahl                  # build without javahl support (Java high-level bindings)
+%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 apache                  # build without Apache support (webdav, etc)
 %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 db                              # disable Subversion Berkeley DB based filesystem library
+
+%if "%{pld_release}" == "ac"
+%bcond_with    csvn                    # build Python csvn bindings
+%bcond_with    gnome                   # build without gnome keyring support
+%bcond_with    javahl                  # build without javahl support (Java high-level bindings)
+%bcond_with    kde                             # build without kde4 support (alias for kwallet)
+%bcond_with    ruby                    # build without Ruby bindings
+%else
+%bcond_without csvn                    # build Python csvn bindings
 %bcond_without gnome                   # build without gnome keyring support
+%bcond_without javahl                  # build without javahl support (Java high-level bindings)
+%bcond_without kde                             # build without kde4 support (alias for kwallet)
+%bcond_without ruby                    # build without Ruby bindings
+%endif
 
-%{!?with_net_client_only:%include      /usr/lib/rpm/macros.perl}
-%define        apxs    /usr/sbin/apxs
-%define        pdir    SVN
-%define        pnam    _Core
+%if %{with net_client_only}
+%undefine      with_apache
+%undefine      with_db
+%undefine      with_swig
+%undefine      with_javahl
+%undefine      with_csvn
+%undefine      with_gnome
+%undefine      with_kde
+%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
+
+%define        apxs    /usr/sbin/apxs
+%define        pdir    SVN
+%define        pnam    _Core
+
 %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.16
+Version:       1.6.23
 Release:       1
 License:       Apache/BSD-like
 Group:         Development/Version Control
-Source0:       http://subversion.tigris.org/downloads/%{name}-%{version}.tar.bz2
-# Source0-md5: 32f25a6724559fe8691d1f57a63f636e
+Source0:       http://archive.apache.org/dist/subversion/%{name}-%{version}.tar.bz2
+# Source0-md5: 5d621281ce9d3448e1437cb006331f57
 Source1:       %{name}-dav_svn.conf
 Source2:       %{name}-authz_svn.conf
 Source3:       %{name}-svnserve.init
@@ -53,23 +83,24 @@ 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.4}
 %{?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
+BuildRequires: rpm >= 4.4.9-56
+BuildRequires: rpmbuild(macros) >= 1.656
 %if %{with perl}
 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}
@@ -79,13 +110,13 @@ 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_kwallet:BuildRequires: kde4-kdelibs-devel}
@@ -110,7 +141,10 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                apacheconfdir   %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d
 %define                apachelibdir    %(%{apxs} -q LIBEXECDIR 2>/dev/null)
 
-%define                skip_post_check_so      libsvn_swig_py-1.so.* libsvn_swig_perl-1.so.*
+%define                skip_post_check_so      libsvn_swig_py-1.so.* libsvn_swig_perl-1.so.* libsvn_fs-1.so.0.0.0
+# libsvn_fs-1.so.0.0.0  - "apr_uuid_parse" symbol
+
+%define                filterout_ld    -Werror=format-security
 
 %description
 The goal of the Subversion project is to build a version control
@@ -233,8 +267,8 @@ Summary:    Subversion tools and scripts
 Summary(pl.UTF-8):     Narzędzia oraz skrypty dla subversion
 Summary(pt_BR.UTF-8):  Módulos python para acessar os recursos do Subversion
 Group:         Applications
-%pyrequires_eq python
 Requires:      %{name} = %{version}-%{release}
+Requires:      python
 Requires:      python-subversion = %{version}
 
 %description tools
@@ -281,8 +315,8 @@ Summary:    Subversion Python bindings
 Summary(pl.UTF-8):     Dowiązania do Subversion dla Pythona
 Summary(pt_BR.UTF-8):  Módulos Python para acessar os recursos do Subversion
 Group:         Development/Languages/Python
-%pyrequires_eq python
 Requires:      %{name}-libs = %{version}-%{release}
+Requires:      python
 Obsoletes:     subversion-python
 
 %description -n python-subversion
@@ -299,8 +333,8 @@ Summary:    CTypes Subversion Python bindings
 Summary(pl.UTF-8):     Dowiązania do Subversion dla Pythona
 Summary(pt_BR.UTF-8):  Módulos Python para acessar os recursos do Subversion
 Group:         Development/Languages/Python
-%pyrequires_eq python
 Requires:      %{name}-libs = %{version}-%{release}
+Requires:      python
 
 %description -n python-csvn
 Subversion CTypes Python bindings.
@@ -419,29 +453,38 @@ 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 %{without python} && %{without perl} && %{without ruby}
+%if %{without swig}
        --without-swig \
 %endif
-       %{?with_python:--with-ctypesgen=%{_bindir}/ctypesgen.py} \
-       --%{?with_javahl:en}%{!?with_javahl:dis}able-javahl \
+%if %{with ruby}
+       svn_cv_ruby_sitedir_libsuffix="" \
+       svn_cv_ruby_sitedir_archsuffix="" \
+       --with-ruby-sitedir=%{ruby_vendorarchdir} \
+%else
+       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} \
@@ -461,24 +504,23 @@ chmod +x ./autogen.sh && ./autogen.sh
 
 %{__make} -j1
 
-%if %{without 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 \
@@ -488,12 +530,13 @@ cd $odir
 %if %{with ruby}
 %{__make} swig-rb
 %endif
-%endif
 
 %if %{with tests}
 %{__make} check
-%if %{with python}
+%if %{with csvn}
 %{__make} check-ctypes-python
+%endif
+%if %{with python}
 %{__make} check-swig-py
 %endif
 %if %{with perl}
@@ -514,25 +557,36 @@ install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,bash_completion.d} \
        $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 %{without 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 %{without 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 \
@@ -550,22 +604,30 @@ install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/svnserve
 
 %if %{without net_client_only}
 install -p tools/backup/hot-backup.py $RPM_BUILD_ROOT%{_bindir}/svn-hot-backup
-%if %{with python}
+%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
 
 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 %{without net_client_only}
+%if %{with javahl}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.{la,a}
+%endif
+%if %{with swig}
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_swig*.{la,a}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/ruby/site_ruby/*/*/svn/ext/*.la
+%if %{with ruby}
+%{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/svn/ext/*.la
+%endif
 %endif
 %if %{with gnome} || %{with kwallet}
 # dlopened by soname (libsvn_auth_*-1.so.0)
@@ -785,6 +847,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)
@@ -797,7 +861,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
@@ -807,7 +871,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}
@@ -841,11 +907,10 @@ fi
 %attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_ruby-1.so.0
 %attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so
-%dir %{ruby_sitelibdir}/svn
-%{ruby_sitelibdir}/svn/*.rb
-%dir %{ruby_sitearchdir}/svn
-%dir %{ruby_sitearchdir}/svn/ext
-%attr(755,root,root) %{ruby_sitearchdir}/svn/ext/*.so
+%dir %{ruby_vendorarchdir}/svn
+%{ruby_vendorarchdir}/svn/*.rb
+%dir %{ruby_vendorarchdir}/svn/ext
+%attr(755,root,root) %{ruby_vendorarchdir}/svn/ext/*.so
 %{ruby_ridir}/Svn
 %endif
 
@@ -861,5 +926,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.120483 seconds and 4 git commands to generate.