X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=subversion.spec;h=2a2aa004cc5959356848fdf782734e24958d8dc7;hb=87361a8febacf2b1046d248d183fbd0ad0aca628;hp=94645538c88b1b6d39a0001f7fa2a74fdb6ae2f1;hpb=5c072a777e67b2d1e017628217b190a9fe3b1840;p=packages%2Fsubversion.git diff --git a/subversion.spec b/subversion.spec index 9464553..2a2aa00 100644 --- a/subversion.spec +++ b/subversion.spec @@ -1,21 +1,23 @@ # TODO: -# - finish ruby -# - http://subversion.tigris.org/issues/show_bug.cgi?id=2753 +# - serf as default: https://subversion.apache.org/docs/release-notes/1.7.html#serf # # 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 python # build without Python bindings (broken) +%bcond_without csvn # build Python csvn bindings +%bcond_without perl # build without Perl bindings +%bcond_with ruby # build with Ruby bindings (only 1.8.x is supported) %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 +%bcond_without db # disable Subversion Berkeley DB based filesystem library + +# for AC: --without csvn,gnome,javahl,kde,ruby %if %{with net_client_only} %undefine with_apache @@ -35,7 +37,7 @@ %endif %if %{without python} && %{without perl} && %{without ruby} -%define without_swig 1 +%undefine with_swig %endif %define apxs /usr/sbin/apxs @@ -47,17 +49,17 @@ %else %define webdavlib serf %endif -%{!?with_perl:%include /usr/lib/rpm/macros.perl} +%{?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 -Release: 1 -License: Apache/BSD-like +Version: 1.7.6 +Release: 2 +License: Apache v2.0 Group: Development/Version Control -Source0: http://subversion.tigris.org/downloads/%{name}-%{version}.tar.bz2 -# Source0-md5: 32f25a6724559fe8691d1f57a63f636e +Source0: http://www.idg.pl/mirrors/apache/subversion/%{name}-%{version}.tar.bz2 +# Source0-md5: 4baa434db7709bb059b05d02a2547663 Source1: %{name}-dav_svn.conf Source2: %{name}-authz_svn.conf Source3: %{name}-svnserve.init @@ -70,51 +72,56 @@ Patch0: %{name}-home_etc.patch Patch1: %{name}-DESTDIR.patch Patch2: %{name}-ruby-datadir-path.patch Patch3: %{name}-tests.patch +Patch4: subversion-1.7.5-kwallet-gcc47.patch URL: http://subversion.apache.org/ %{?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 -BuildRequires: rpm-perlprov >= 4.1-13 -BuildRequires: swig-perl >= 1.3.24 -%endif -%if %{with python} -BuildRequires: python-ctypesgen -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 BuildRequires: apr-devel >= 1:1.0.0 BuildRequires: apr-util-devel >= 1:1.2.8-3 BuildRequires: autoconf >= 2.59 +BuildRequires: automake BuildRequires: bison +BuildRequires: cyrus-sasl-devel +%if %{with kwallet} || %{with gnome} +BuildRequires: dbus-devel +%endif +BuildRequires: db-devel >= 4.1.25 BuildRequires: expat-devel BuildRequires: gettext-devel %{?with_kwallet:BuildRequires: kde4-kdelibs-devel} %{?with_gnome:BuildRequires: libgnome-keyring-devel} +BuildRequires: libmagic-devel BuildRequires: libtool >= 1.4-9 BuildRequires: pkgconfig +%{?with_csvn:BuildRequires: python-ctypesgen} BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.583 BuildRequires: sed >= 4.0 -BuildRequires: sqlite3-devel >= 3.6.11 +BuildRequires: sqlite3-devel >= 3.6.18 BuildRequires: texinfo BuildRequires: which %if %{with neon} BuildRequires: neon-devel >= 0.26.0 %else -BuildRequires: serf-devel +BuildRequires: serf-devel >= 0.7.1 +%endif +%if %{with javahl} +BuildRequires: jdk >= 1.5 +BuildRequires: libstdc++-devel +%endif +%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} +BuildRequires: python-devel >= 1:2.4 +BuildRequires: swig-python >= 1.3.24 +%endif +%if %{with ruby} +BuildRequires: ruby-devel < 1:1.9 +BuildRequires: ruby-devel >= 1:1.8.2 +BuildRequires: ruby-rubygems +BuildRequires: swig-ruby >= 1.3.24 %endif Requires: %{name}-libs = %{version}-%{release} %requires_ge sqlite3 @@ -172,7 +179,11 @@ System) na comunidade opensource, fornecendo grandes melhorias. Summary: Subversion libraries and modules Summary(pl.UTF-8): Biblioteka subversion oraz ładowalne moduły Group: Libraries -%{?with_neon:Requires: neon >= 0.26.0} +%if %{with neon} +Requires: neon >= 0.26.0 +%else +Requires: serf >= 0.7.1 +%endif Obsoletes: libsubversion0 %description libs @@ -361,7 +372,7 @@ Módulos Ruby para acessar os recursos do Subversion. %package -n apache-mod_dav_svn Summary: Apache module: Subversion Server -Summary(pl.UTF-8): Moduł apache: Serwer Subversion +Summary(pl.UTF-8): Moduł Apache'a: serwer Subversion Group: Networking/Daemons Requires: %{name} = %{version}-%{release} Requires: apache(modules-api) = %apache_modules_api @@ -371,12 +382,13 @@ Requires: apache-mod_dav Apache module: Subversion Server. %description -n apache-mod_dav_svn -l pl.UTF-8 -Moduł apache: Serwer Subversion. +Moduł Apache'a: serwer Subversion. %package -n apache-mod_authz_svn Summary: Apache module: Subversion Server - path-based authorization -Summary(pl.UTF-8): Moduł apache: autoryzacja na podstawie ścieżki dla serwera Subversion +Summary(pl.UTF-8): Moduł Apache'a: autoryzacja na podstawie ścieżki dla serwera Subversion Group: Networking/Daemons +Requires: %{name}-libs = %{version}-%{release} Requires: apache(modules-api) = %apache_modules_api Requires: apache-mod_dav_svn = %{version}-%{release} @@ -384,12 +396,28 @@ Requires: apache-mod_dav_svn = %{version}-%{release} Apache module: Subversion Server - path-based authorization. %description -n apache-mod_authz_svn -l pl.UTF-8 -Moduł apache: autoryzacja na podstawie ścieżki dla serwera Subversion. +Moduł Apache'a: autoryzacja na podstawie ścieżki dla serwera +Subversion. + +%package -n apache-mod_dontdothat_svn +Summary: Apache module: Allows you to block specific svn requests +Summary(pl.UTF-8): Moduł Apache'a pozwalający na blokowanie pewnych zapytań svn +Group: Networking/Daemons +Requires: %{name}-libs = %{version}-%{release} +Requires: apache(modules-api) = %apache_modules_api +Requires: apache-mod_dav_svn = %{version}-%{release} + +%description -n apache-mod_dontdothat_svn +Apache module: Allows you to block specific svn requests. + +%description -n apache-mod_dontdothat_svn -l pl.UTF-8 +Moduł Apache'a pozwalający na blokowanie pewnych zapytań svn. %package -n gnome-keyring-subversion Summary: GNOME Keyring authentication provider for Subversion Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Subversion Group: X11/Applications +Requires: %{name}-libs = %{version}-%{release} %description -n gnome-keyring-subversion Authentication provider module for Subversion which allows SVN client @@ -403,6 +431,7 @@ uwierzytelniać się przy użyciu mechanizmu GNOME Keyring. Summary: KDE Wallet authentication provider for Subversion Summary(pl.UTF-8): Moduł uwierzytelniający dla Subversion wykorzystujący Portfel KDE Group: X11/Applications +Requires: %{name}-libs = %{version}-%{release} %description -n kde4-kwallet-subversion Authentication provider module for Subversion which allows SVN client @@ -418,6 +447,7 @@ uwierzytelniać się przy użyciu Portfela KDE. %patch1 -p1 %patch2 -p0 %patch3 -p1 +%patch4 -p2 sed -i -e 's#serf_prefix/lib#serf_prefix/%{_lib}#g' build/ac-macros/serf.m4 @@ -443,7 +473,6 @@ chmod +x ./autogen.sh && ./autogen.sh %if %{with apache} --with-apxs=%{_sbindir}/apxs \ %else - --without-apache \ --without-apxs \ %endif %if %{without swig} @@ -452,10 +481,16 @@ chmod +x ./autogen.sh && ./autogen.sh %if %{without ruby} ac_cv_path_RUBY=none \ %endif - %{?with_python:--with-ctypesgen=%{_bindir}/ctypesgen.py} \ - --%{?with_javahl:en}%{!?with_javahl:dis}able-javahl \ +%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} \ @@ -475,23 +510,25 @@ chmod +x ./autogen.sh && ./autogen.sh %{__make} -j1 -# python -%if %{with python} -# ctypes bindings +%{__make} tools + +%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 \ @@ -503,13 +540,15 @@ cd $odir %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} # disabled, see https://bugs.launchpad.net/pld-linux/+bug/734340 @@ -526,21 +565,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 \ + toolsdir=%{_bindir} \ + DESTDIR=$RPM_BUILD_ROOT \ + APACHE_LIBEXECDIR="$(%{_sbindir}/apxs -q LIBEXECDIR)" \ %if %{with javahl} install-javahl \ javahl_javadir="%{_javadir}" \ %endif %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 + install-tools + %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 - APACHE_LIBEXECDIR="$(%{_sbindir}/apxs -q LIBEXECDIR)" \ - DESTDIR=$RPM_BUILD_ROOT \ - swig_pydir=%{py_sitedir}/libsvn \ - swig_pydir_extra=%{py_sitedir}/svn %if %{with perl} %{__make} install-swig-pl-lib \ @@ -561,18 +615,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 %endif -%if %{with python} + +# rename not to conflict with standard packages. (are these needed at all?) +mv $RPM_BUILD_ROOT%{_bindir}/{,svn}diff +mv $RPM_BUILD_ROOT%{_bindir}/{,svn}diff3 +mv $RPM_BUILD_ROOT%{_bindir}/{,svn}diff4 + +%if %{with python} || %{with csvn} %py_ocomp $RPM_BUILD_ROOT%{py_sitedir} %py_comp $RPM_BUILD_ROOT%{py_sitedir} %py_postclean +%endif +%if %{with python} %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/libsvn/*.la -install tools/examples/*.py $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version} +# .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 %{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} @@ -652,9 +718,17 @@ if [ "$1" = "0" ]; then %service -q httpd restart fi +%post -n apache-mod_dontdothat_svn +%service -q httpd restart + +%postun -n apache-mod_dontdothat_svn +if [ "$1" = "0" ]; then + %service -q httpd restart +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} @@ -662,12 +736,14 @@ 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* @@ -791,12 +867,30 @@ fi %files tools %defattr(644,root,root,755) +# tools/backup/hot-backup.py %attr(755,root,root) %{_bindir}/svn-hot-backup +# tools/diff +%attr(755,root,root) %{_bindir}/svndiff +%attr(755,root,root) %{_bindir}/svndiff3 +%attr(755,root,root) %{_bindir}/svndiff4 + +# tools/server-side +%attr(755,root,root) %{_bindir}/svn-populate-node-origins-index +%attr(755,root,root) %{_bindir}/svn-rep-sharing-stats +%attr(755,root,root) %{_bindir}/svnauthz-validate + +# tools/client-side/svnmucc +%attr(755,root,root) %{_bindir}/svnmucc +# tools/dev/svnraisetreeconflict +%attr(755,root,root) %{_bindir}/svnraisetreeconflict + %files -n bash-completion-subversion %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) @@ -809,7 +903,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 @@ -819,7 +913,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} @@ -872,6 +968,9 @@ fi %doc subversion/mod_authz_svn/INSTALL %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 +%files -n apache-mod_dontdothat_svn +%defattr(644,root,root,755) +%doc tools/server-side/mod_dontdothat/README +%attr(755,root,root) %{apachelibdir}/mod_dontdothat.so +%endif