X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=subversion.spec;h=9650f3c548627e996bff254ad0f3e519d3875d5a;hb=refs%2Fheads%2FSUBVERSION_1_6;hp=9021703ef0d4a423e66476f28839028953ee4e05;hpb=6e3aae2ddb41ee852cd3e688af97f04d8a30c73d;p=packages%2Fsubversion.git diff --git a/subversion.spec b/subversion.spec index 9021703..9650f3c 100644 --- a/subversion.spec +++ b/subversion.spec @@ -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