]> git.pld-linux.org Git - packages/subversion.git/blobdiff - subversion.spec
- no root rights required, use user svn
[packages/subversion.git] / subversion.spec
index 81b896f37fcc19a730cc8eea56539f4e9b00fe9d..361e74628138848418859e0408b0ed4a4376542b 100644 (file)
@@ -1,38 +1,46 @@
-#
-# todo:
+# 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)
 #
 # Conditional build:
 %bcond_with    net_client_only                 # build only net client
-%bcond_without python                          # build without python bindings
+%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
 #
 %{!?with_net_client_only:%include      /usr/lib/rpm/macros.perl}
+%define        apxs    /usr/sbin/apxs
+%define        pdir    SVN
+%define        pnam    _Core
+#
+%define        snap    rc4
 Summary:       A Concurrent Versioning system similar to but better than CVS
-Summary(pl):   System kontroli wersji podobny, ale lepszy, ni¿ CVS
-Summary(pt_BR):        Sistema de versionamento concorrente
+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.3.0
-Release:       1
-License:       Apache/BSD Style
+Version:       1.5.0
+Release:       0.%{snap}.1
+License:       Apache/BSD-like
 Group:         Development/Version Control
-Source0:       http://subversion.tigris.org/downloads/%{name}-%{version}.tar.gz
-# Source0-md5: 0d91a7fe152d0373044c47c54deb2c9a
+# Source0:     http://subversion.tigris.org/downloads/%{name}-%{version}.tar.gz
+Source0:       http://orac.ece.utexas.edu/pub/svn/%{version}-%{snap}/leander-hackberry/%{name}-%{version}-%{snap}.tar.gz
+# Source0-md5: 905fc5030be179d4d387803b8397668a
 Source1:       %{name}-dav_svn.conf
 Source2:       %{name}-authz_svn.conf
 Source3:       %{name}-svnserve.init
 Source4:       %{name}-svnserve.sysconfig
+Source5:       %{name}-convert-typemaps-to-ifdef.py
 Patch0:                %{name}-home_etc.patch
+Patch1:                %{name}-DESTDIR.patch
 URL:           http://subversion.tigris.org/
 %if %{with net_client_only}
 %global apache_modules_api 0
 %else
-%{?with_apache:BuildRequires:  apache-devel >= 2.0.47-0.6}
+%{?with_apache:BuildRequires:  apache-devel >= 2.2.0-8}
 BuildRequires: automake
 BuildRequires: db-devel >= 4.1.25
-BuildRequires: rpmbuild(macros) >= 1.120
+BuildRequires: rpmbuild(macros) >= 1.268
 %if %{with perl}
 BuildRequires: perl-devel >= 1:5.8.0
 BuildRequires: rpm-perlprov >= 4.1-13
@@ -40,17 +48,18 @@ BuildRequires:      swig-perl >= 1.3.24
 %endif
 %endif
 BuildRequires: apr-devel >= 1:1.0.0
-BuildRequires: apr-util-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
 BuildRequires: libtool >= 1.4-9
-BuildRequires: neon-devel >= 0.24.7
+BuildRequires: neon-devel >= 0.26.0
+BuildRequires: python >= 2.2
+BuildRequires: python-modules >= 2.2
 %if %{with python}
 BuildRequires: python-devel >= 2.2
-BuildRequires: python-modules >= 2.2
-BuildRequires: python >= 2.2
 BuildRequires: sed >= 4.0
 BuildRequires: swig-python >= 1.3.24
 %endif
@@ -59,8 +68,9 @@ BuildRequires:        which
 Requires:      %{name}-libs = %{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _apachelibdir   /usr/%{_lib}/apache
-%define                _libexecdir     %{_libdir}/svn
+%define                _libexecdir             %{_libdir}/svn
+%define                apacheconfdir   %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d
+%define                apachelibdir    %(%{apxs} -q LIBEXECDIR 2>/dev/null)
 
 %description
 The goal of the Subversion project is to build a version control
@@ -81,66 +91,66 @@ Our goals are:
 - Internationalization
 - Progressive multi-lingual support
 
-%description -l pl
+%description -l pl.UTF-8
 Celem projektu Subversion jest stworzenie systemu kontroli wersji jako
 zamiennika dla CVS.
 
 Cele projektu to:
-- Wszystkie aktualne mo¿liwo¶ci CVS.
-- Katalogi, zmiany nazw oraz meta-dane plików s± wersjonowane.
-- Wsparcie dla linków symbolicznych itp.
-- Commity s± w pe³ni atomowe.
-- Branchowanie oraz tagowanie s± tanimi (sta³ymi w czasie) operacjami.
-- Powtarzaj±ce merge.
-- Wsparcie dla pluginów diff'a po stronie klienta.
+- Wszystkie aktualne możliwości CVS.
+- Katalogi, zmiany nazw oraz metadane plików są wersjonowane.
+- Obsługa dowiązań symbolicznych itp.
+- Commity są w pełni atomowe.
+- Branchowanie oraz tagowanie są tanimi (stałymi w czasie) operacjami.
+- Dobra obsługa powtarzanego łączenia (merge).
+- Obsługa wtyczek diff po stronie klienta.
 - Natywny klient/serwer.
-- Klient/Serwer przesy³aj± diffy w obu kierunkach.
+- Klient/Serwer przesyłają diffy w obu kierunkach.
 - Koszty proporcjonalne do rozmiaru zmiany, a nie rozmiaru projektu.
 - Internacjonalizacja.
-- Postêpuj±ce wsparcie dla wielu jêzyków.
+- Postępujące wsparcie dla wielu języków.
 
-%description -l pt_BR
-O objetivo do projeto Subversion é construir um sistema de controle de
-versões que seja um substituto para o CVS (Concurrent Versioning
+%description -l pt_BR.UTF-8
+O objetivo do projeto Subversion é construir um sistema de controle de
+versões que seja um substituto para o CVS (Concurrent Versioning
 System) na comunidade opensource, fornecendo grandes melhorias.
 
 %package libs
 Summary:       Subversion libraries and modules
-Summary(pl):   Biblioteka subversion oraz ³adowalne modu³y
+Summary(pl.UTF-8):     Biblioteka subversion oraz ładowalne moduły
 Group:         Libraries
+Requires:      neon >= 0.26.0
 Obsoletes:     libsubversion0
-Requires:      neon >= 0.24.7
 
 %description libs
 Subversion libraries and modules.
 
-%description libs -l pl
-Biblioteka subversion oraz ³adowalne modu³y.
+%description libs -l pl.UTF-8
+Biblioteka subversion oraz ładowalne moduły.
 
 %package devel
 Summary:       Header files and develpment documentation for subversion
-Summary(pl):   Pliki nag³ówkowe i dokumetacja do subversion
-Summary(pt_BR):        Arquivos de desenvolvimento para o Subversion
+Summary(pl.UTF-8):     Pliki nagłówkowe i dokumetacja do subversion
+Summary(pt_BR.UTF-8):  Arquivos de desenvolvimento para o Subversion
 Group:         Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      apr-util-devel >= 1:1.0.0
-Requires:      neon-devel >= 0.24.7
+Requires:      neon-devel >= 0.26.0
 Obsoletes:     libsubversion0-devel
 
 %description devel
 Header files and develpment documentation for subversion.
 
-%description devel -l pl
-Pliki nag³ówkowe i dokumetacja do subversion.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i dokumetacja do subversion.
 
-%description devel -l pt_BR
-Este pacote provê os arquivos necessários para desenvolvedores
+%description devel -l pt_BR.UTF-8
+Este pacote provê os arquivos necessários para desenvolvedores
 interagirem com o Subversion.
 
 %package static
 Summary:       Static subversion library
-Summary(pl):   Biblioteka statyczna subversion
-Summary(pt_BR):        Sistema de versionamento concorrente
+Summary(pl.UTF-8):     Biblioteka statyczna subversion
+Summary(pt_BR.UTF-8):  Sistema de versionamento concorrente
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}
 Obsoletes:     libsubversion0-static-devel
@@ -148,15 +158,15 @@ Obsoletes:        libsubversion0-static-devel
 %description static
 Static subversion library.
 
-%description static -l pl
+%description static -l pl.UTF-8
 Biblioteka statyczna subversion.
 
-%description static -l pt_BR
-Este pacote provê um cliente estático do subversion.
+%description static -l pt_BR.UTF-8
+Este pacote provê um cliente estático do subversion.
 
 %package svnserve
 Summary:       Subversion svnserve
-Summary(pl):   Subversion svnserve
+Summary(pl.UTF-8):     Subversion svnserve
 Group:         Networking/Daemons
 Requires(post,preun):  /sbin/chkconfig
 Requires:      %{name} = %{version}-%{release}
@@ -165,13 +175,13 @@ Requires: rc-scripts
 %description svnserve
 Subversion svnserve server.
 
-%description svnserve -l pl
+%description svnserve -l pl.UTF-8
 Serwer subversion svnserve.
 
 %package tools
 Summary:       Subversion tools and scripts
-Summary(pl):   Narzêdzia oraz skrypty dla subversion
-Summary(pt_BR):        Módulos python para acessar os recursos do Subversion
+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}
@@ -181,100 +191,101 @@ Requires:       python-subversion = %{version}
 %description tools
 Subversion tools and scripts.
 
-%description tools -l pl
-Narzêdzia oraz skrypty dla subversion.
+%description tools -l pl.UTF-8
+Narzędzia oraz skrypty dla subversion.
 
 %package -n bash-completion-subversion
 Summary:       bash completion for subversion
-Summary(pl):   Dope³nienia basha dla subversion
+Summary(pl.UTF-8):     Dopełnienia basha dla subversion
 Group:         Applications/Shells
-Requires:      bash-completion
 Requires:      %{name} = %{version}-%{release}
+Requires:      bash-completion
 Conflicts:     %{name}-tools <= 1.1.0-0.rc6.1
 
 %description -n bash-completion-subversion
 Bash completion for subversion.
 
-%description -n bash-completion-subversion -l pl
-Dope³nienia basha dla subversion.
+%description -n bash-completion-subversion -l pl.UTF-8
+Dopełnienia basha dla subversion.
 
 %package -n python-subversion
 Summary:       Subversion python bindings
-Summary(pl):   Dowi±zania do subversion dla pythona
-Summary(pt_BR):        Módulos python para acessar os recursos do Subversion
+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
-Obsoletes:     subversion-python
 Requires:      %{name}-libs = %{version}-%{release}
+Obsoletes:     subversion-python
 
 %description -n python-subversion
 Subversion python bindings.
 
-%description -n python-subversion -l pl
-Dowi±zania do subversion dla pythona.
+%description -n python-subversion -l pl.UTF-8
+Dowiązania do subversion dla pythona.
 
-%description -n python-subversion -l pt_BR
-Módulos python para acessar os recursos do Subversion.
+%description -n python-subversion -l pt_BR.UTF-8
+Módulos python para acessar os recursos do Subversion.
 
 %package -n perl-subversion
 Summary:       Subversion perl bindings
-Summary(pl):   Dowi±zania do subversion dla perla
-Summary(pt_BR):        Módulos perl para acessar os recursos do Subversion
+Summary(pl.UTF-8):     Dowiązania do subversion dla perla
+Summary(pt_BR.UTF-8):  Módulos perl para acessar os recursos do Subversion
 Group:         Development/Languages/Perl
-Obsoletes:     subversion-perl
 Requires:      %{name}-libs = %{version}-%{release}
+Obsoletes:     subversion-perl
 
 %description -n perl-subversion
 Subversion perl bindings.
 
-%description -n perl-subversion -l pl
-Dowi±zania do subversion dla perl.
+%description -n perl-subversion -l pl.UTF-8
+Dowiązania do subversion dla perl.
 
-%description -n perl-subversion -l pt_BR
-Módulos perl para acessar os recursos do Subversion.
+%description -n perl-subversion -l pt_BR.UTF-8
+Módulos perl para acessar os recursos do Subversion.
 
 %package -n apache-mod_dav_svn
 Summary:       Apache module: Subversion Server
-Summary(pl):   Modu³ apache: Serwer Subversion
+Summary(pl.UTF-8):     Moduł apache: Serwer Subversion
 Group:         Networking/Daemons
 Requires:      %{name} = %{version}-%{release}
-Requires:      apache(modules-api) = %{apache_modules_api}
+Requires:      apache(modules-api) = %apache_modules_api
 Requires:      apache-mod_dav
-Requires:      apache >= 2.0.47
 
 %description -n apache-mod_dav_svn
 Apache module: Subversion Server.
 
-%description -n apache-mod_dav_svn -l pl
-Modu³ apache: Serwer Subversion.
+%description -n apache-mod_dav_svn -l pl.UTF-8
+Moduł apache: Serwer Subversion.
 
 %package -n apache-mod_authz_svn
 Summary:       Apache module: Subversion Server - path-based authorization
-Summary(pl):   Modu³ apache: autoryzacja na podstawie ¶cie¿ki dla serwera Subversion
+Summary(pl.UTF-8):     Moduł apache: autoryzacja na podstawie ścieżki dla serwera Subversion
 Group:         Networking/Daemons
-Requires:      apache(modules-api) = %{apache_modules_api}
+Requires:      apache(modules-api) = %apache_modules_api
 Requires:      apache-mod_dav_svn = %{version}-%{release}
-Requires:      apache >= 2.0.47
 
 %description -n apache-mod_authz_svn
 Apache module: Subversion Server - path-based authorization.
 
-%description -n apache-mod_authz_svn -l pl
-Modu³ apache: autoryzacja na podstawie ¶cie¿ki dla serwera Subversion.
+%description -n apache-mod_authz_svn -l pl.UTF-8
+Moduł apache: autoryzacja na podstawie ścieżki dla serwera Subversion.
 
 %prep
-%setup -q
+%setup -q -n %{name}-%{version}-%{snap}
 rm -rf apr apr-util neon
 %patch0 -p0
+%patch1 -p1
 
 %build
+rm subversion/bindings/swig/proxy/*.swg 
+cd subversion/bindings/swig && python "%{SOURCE5}" && cd ../../..
 cp -f /usr/share/automake/config.sub ac-helpers
 chmod +x ./autogen.sh && ./autogen.sh
 
 # don't enable dso - currently it's broken
 %configure \
        --with-editor=vi \
-       --with-zlib \
+       --with-zlib=%{_libdir} \
        --with-python=%{_bindir}/python \
        --with-perl5=%{_bindir}/perl \
 %if %{with net_client_only}
@@ -297,10 +308,11 @@ chmod +x ./autogen.sh && ./autogen.sh
 %endif
 %endif
        --with-neon=%{_prefix} \
+       --disable-neon-version-check \
        --with-apr=%{_bindir}/apr-1-config \
        --with-apr-util=%{_bindir}/apu-1-config
 
-%{__make}
+%{__make} -j1
 
 %if !%{with net_client_only}
 # python
@@ -320,19 +332,22 @@ cd $odir
 %endif
 %endif
 
-%{__sed} -i -e 's/@SVN_DB_INCLUDES@//g' -e 's/@SVN_DB_LIBS@//g' svn-config
+%if %{with tests}
+%{__make} check
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,bash_completion.d} \
-       $RPM_BUILD_ROOT{%{_sysconfdir}/httpd/httpd.conf,%{_apachelibdir},%{_infodir}} \
+       $RPM_BUILD_ROOT{%{apacheconfdir},%{apachelibdir},%{_infodir}} \
        $RPM_BUILD_ROOT%{_examplesdir}/{%{name}-%{version},python-%{name}-%{version}} \
        $RPM_BUILD_ROOT/home/services/subversion{,/repos}
 
-%{__make} install \
+%{__make} install -j1 \
 %if !%{with net_client_only} && %{with python}
        install-swig-py \
 %endif
+       APACHE_LIBEXECDIR="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
        DESTDIR=$RPM_BUILD_ROOT \
        swig_pydir=%{py_sitedir}/libsvn \
        swig_pydir_extra=%{py_sitedir}/svn
@@ -349,11 +364,9 @@ cd subversion/bindings/swig/perl/native
 cd $odir
 %endif
 
-install svn-config $RPM_BUILD_ROOT%{_bindir}
-
 %if %{with apache}
-install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/httpd.conf/65_mod_dav_svn.conf
-install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/httpd.conf/66_mod_authz_svn.conf
+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
 %endif
@@ -373,14 +386,16 @@ install tools/examples/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
 %find_lang %{name}
 
+rm -f $RPM_BUILD_ROOT%{_libdir}/lib*swig*.la
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%post devel    -p      /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
 
-%postun devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%postun devel  -p      /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
 
 %post  libs -p /sbin/ldconfig
 %postun        libs -p /sbin/ldconfig
@@ -388,31 +403,21 @@ rm -rf $RPM_BUILD_ROOT
 %postun -n perl-subversion -p /sbin/ldconfig
 
 %post svnserve
-if [ -f /var/lock/subsys/svnserve ]; then
-       /etc/rc.d/init.d/svnserve restart 1>&2
-else
-       echo "Run \"/etc/rc.d/init.d/svnserve start\" to start subversion svnserve daemon."
-fi
+/sbin/chkconfig --add svnserve
+%service svnserve restart "svnserve daemon"
+
 %preun svnserve
 if [ "$1" = "0" ]; then
-       if [ -f /var/lock/subsys/svnserve ]; then
-               /etc/rc.d/init.d/svnserve restart 1>&2
-       fi
+       %service svnserve stop
+       /sbin/chkconfig --del svnserve
 fi
 
-
 %post -n apache-mod_dav_svn
-if [ -f /var/lock/subsys/httpd ]; then
-       /etc/rc.d/init.d/httpd restart 1>&2
-else
-       echo "Run \"/etc/rc.d/init.d/httpd start\" to start apache HTTP daemon."
-fi
+%service -q httpd restart
 
 %preun -n apache-mod_dav_svn
 if [ "$1" = "0" ]; then
-       if [ -f /var/lock/subsys/httpd ]; then
-               /etc/rc.d/init.d/httpd restart 1>&2
-       fi
+       %service -q httpd restart
 fi
 
 %files
@@ -424,8 +429,9 @@ fi
 %doc tools/xslt/*
 %attr(755,root,root) %{_bindir}/svn*
 %exclude %{_bindir}/svnserve
-%exclude %{_bindir}/svn-config
+%if !%{with net_client_only}
 %exclude %{_bindir}/svn-hot-backup
+%endif
 %{_mandir}/man1/*
 %{_mandir}/man5/*
 %{_mandir}/man8/*
@@ -440,17 +446,19 @@ fi
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/svn-config
 %{_includedir}/%{name}*
 %attr(755,root,root) %{_libdir}/lib*.so
 %{_libdir}/lib*.la
+%if %{with perl} || %{with python}
+%exclude %{_libdir}/lib*_swig_*.so
+%endif
 %{_examplesdir}/%{name}-%{version}
 
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/lib*.a
 
-%if %{without net_client_only}
+%if !%{with net_client_only}
 %files svnserve
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/svnserve
@@ -480,7 +488,7 @@ fi
 %{py_sitedir}/libsvn/*.py[co]
 %attr(755,root,root) %{py_sitedir}/libsvn/*.so
 %{_examplesdir}/python-%{name}-%{version}
-%attr(755,root,root) %{_libdir}/lib*_swig_py*.so.*
+%attr(755,root,root) %{_libdir}/lib*_swig_py*.so*
 %endif
 
 %if %{with perl}
@@ -492,20 +500,20 @@ fi
 %attr(755,root,root) %{perl_vendorarch}/auto/SVN/*/*.so
 %{perl_vendorarch}/auto/SVN/*/*.bs
 %{_mandir}/man3/*.3pm*
-%attr(755,root,root) %{_libdir}/lib*_swig_perl*.so.*
+%attr(755,root,root) %{_libdir}/lib*_swig_perl*.so*
 %endif
 
 %if %{with apache}
 %files -n apache-mod_dav_svn
 %defattr(644,root,root,755)
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd/httpd.conf/*_mod_dav_svn.conf
-%attr(755,root,root) %{_apachelibdir}/mod_dav_svn.so
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_dav_svn.conf
+%attr(755,root,root) %{apachelibdir}/mod_dav_svn.so
 
 %files -n apache-mod_authz_svn
 %defattr(644,root,root,755)
 %doc subversion/mod_authz_svn/INSTALL
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd/httpd.conf/*_mod_authz_svn.conf
-%attr(755,root,root) %{_apachelibdir}/mod_authz_svn.so
+%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.08311 seconds and 4 git commands to generate.