X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=subversion.spec;h=2eb38290808c4121a59cf71d1d7907bb9271ca41;hb=a482dfd383c242ad313b57245a00a3166afec246;hp=e92c355877e12ecfacedaf604b8257a1c0bbd7ef;hpb=1d84d1cf2eb40e92ab0fec72136313b39128dd93;p=packages%2Fsubversion.git diff --git a/subversion.spec b/subversion.spec index e92c355..2eb3829 100644 --- a/subversion.spec +++ b/subversion.spec @@ -1,33 +1,54 @@ -%define repov 5063 -%include /usr/lib/rpm/macros.python -%define requires_eq_to() %(LC_ALL="C" echo '%2' | xargs -r rpm -q --qf 'Requires: %1 = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not") +# +# TODO: +# - separate subpackage with svnserve + init.d script + sysconfig file +# +# Conditional build: +%bcond_with internal_neon # build with internal neon +%bcond_with net_client_only # build only net client +# +%include /usr/lib/rpm/macros.python +%{!?with_net_client_only:%include /usr/lib/rpm/macros.perl} 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 Name: subversion -Version: 0.18.0 -Release: 0.r%{repov}.1 +Version: 0.35.1 +Release: 1 License: Apache/BSD Style Group: Development/Version Control -Source0: svn://svn.collab.net/repos/svn/trunk/%{name}-r%{repov}.tar.bz2 +Source0: http://svn.collab.net/tarballs/%{name}-%{version}.tar.gz +# Source0-md5: c4473988acdd82e8b0e176eefc7d0fb7 Source1: %{name}-dav_svn.conf +Source2: %{name}-authz_svn.conf +Source3: %{name}-svnserve.init +Source4: %{name}-svnserve.sysconfig +Patch0: %{name}-svnlook.patch +Patch1: %{name}-bindings.patch URL: http://subversion.tigris.org/ -BuildRequires: apache-devel >= 2.0.44 -BuildRequires: apr-devel >= 2.0.44 -BuildRequires: autoconf >= 2.53 -BuildRequires: bison +%if %{with net_client_only} +%global apache_modules_api 0 +%else +BuildRequires: apache-devel >= 2.0.47-0.6 BuildRequires: db-devel >= 4.1.25 +BuildRequires: rpmbuild(macros) >= 1.120 +BuildRequires: swig >= 1.3.17 +BuildRequires: swig-python >= 1.3.17 +BuildRequires: swig-perl >= 1.3.17 +BuildRequires: perl-devel >= 5.8.0 +BuildRequires: rpm-perlprov +%endif +BuildRequires: apr-devel >= 1:0.9.5 +BuildRequires: apr-util-devel >= 1:0.9.5 +BuildRequires: autoconf >= 2.59 +BuildRequires: bison +BuildRequires: docbook-style-xsl >= 1.56 BuildRequires: expat-devel BuildRequires: libtool >= 1.4-9 -BuildRequires: neon-devel >= 0.23.4 +BuildRequires: libxslt-progs +%{!?with_internal_neon:BuildRequires: neon-devel >= 0.24.1} BuildRequires: python >= 2.2 BuildRequires: rpm-pythonprov >= 4.0.2-50 -BuildRequires: swig >= 1.3.17 -BuildRequires: swig-python >= 1.3.17 BuildRequires: texinfo -BuildRequires: docbook-style-xsl >= 1.60.1 -Requires(post): /usr/sbin/fix-info-dir -Requires(postun): /usr/sbin/fix-info-dir BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _apachelibdir /usr/lib/apache @@ -122,14 +143,41 @@ Biblioteka statyczna subversion. %description static -l pt_BR Este pacote provê um cliente estático do subversion. +%package svnserve +Summary: Subversion svnserve +Summary(pl): Subversion svnserve +Group: Networking/Daemons +PreReq: rc-scripts +Requires(post,preun): /sbin/chkconfig + +%description svnserve +Subversion svnserve server. + +%description svnserve -l pl +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 +Group: Applications +%pyrequires_eq python +Requires: python-rcsparse >= 0.1-0.20031026.0 +Requires: python-subversion = %{version} + +%description tools +Subversion tools and scripts. + +%description tools -l pl +Narzêdzia oraz skrypty 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 Group: Development/Languages/Python -Requires: python >= 2.2 -Obsoletes: subversion-python %pyrequires_eq python +Obsoletes: subversion-python %description -n python-subversion Subversion python bindings. @@ -140,12 +188,29 @@ Dowi %description -n python-subversion -l pt_BR 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 +Group: Development/Languages/Perl +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 pt_BR +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 Group: Networking/Daemons -%requires_eq_to apache apache-devel -%requires_eq_to apache-mod_dav apache-devel +Requires: apache >= 2.0.47 +Requires: apache(modules-api) = %{apache_modules_api} +Requires: apache-mod_dav %description -n apache-mod_dav_svn Apache module: Subversion Server. @@ -153,28 +218,72 @@ Apache module: Subversion Server. %description -n apache-mod_dav_svn -l pl 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 +Group: Networking/Daemons +Requires: apache-mod_dav_svn = %{version} +Requires: apache >= 2.0.47 +Requires: apache(modules-api) = %{apache_modules_api} + +%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. + %prep -%setup -q -n %{name}-r%{repov} +%setup -q +%patch0 -p0 +%patch1 -p1 %build chmod +x ./autogen.sh && ./autogen.sh + # don't enable dso - currently it's broken %configure \ +%if %{with net_client_only} + --without-apache \ + --without-swig \ + --without-apxs \ + --without-berkeley-db \ +%else --disable-dso \ --disable-mod-activation \ - --with-neon=%{_prefix} \ - --with-apr=%{_bindir}/apr-config \ - --with-apr-util=%{_bindir}/apu-config \ --with-apxs=%{_sbindir}/apxs \ - --with-berkeley-db=%{_includedir}/db4:%{_libdir} + --with-berkeley-db=%{_includedir}/db4:%{_libdir} \ +%endif + %{!?with_internal_neon:--with-neon=%{_prefix}} \ + --with-apr=%{_bindir}/apr-config \ + --with-apr-util=%{_bindir}/apu-config + %{__make} + +%if ! %{with net_client_only} +# python %{__make} swig-py \ - swig_pydir=%{py_sitedir}/svn + swig_pydir=%{py_sitedir}/libsvn \ + swig_pydir_extra=%{py_sitedir}/svn +# perl +bdir=$(pwd) +%{__make} install-swig-pl-lib \ + LC_ALL=C \ + DESTDIR=${bdir}/swig-pl-lib-buildroot +%{__make} +cd subversion/bindings/swig/perl +env APR_CONFIG=%{_bindir}/apr-config \ + APU_CONFIG=%{_bindir}/apu-config \ + %{__perl} Makefile.PL \ + INSTALLDIRS=vendor +env LIBRARY_PATH=${bdir}/swig-pl-lib-buildroot%{_libdir} %{__make} +cd ../../../../ +%endif # build documentation; build process for documentation is severely # braindamaged -- authors suggests to untar docbook distribution in # build directory, hence the hack here -%{__make} -C doc/book XSL_DIR=/usr/share/sgml/docbook/xsl-stylesheets/ all-html +ln -s /usr/share/sgml/docbook/xsl-stylesheets doc/book/tools/xsl +%{__make} -C doc/book all-html # prepare for %%doc below mv -f doc/book/book/html-chunk svn-handbook @@ -183,55 +292,92 @@ cp -f doc/book/book/images/*.png svn-handbook/images/ %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_sysconfdir}/httpd/httpd.conf,%{_apachelibdir}} +install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} +install -d $RPM_BUILD_ROOT{%{_sysconfdir}/httpd/httpd.conf,%{_apachelibdir},%{_infodir}} -%{__make} \ - install \ - install-swig-py \ - INSTALL_MOD_SHARED=echo \ +%{__make} install \ + LC_ALL=C \ + %{!?with_net_client_only:install-swig-py} \ DESTDIR=$RPM_BUILD_ROOT \ - swig_pydir=%{py_sitedir}/svn + swig_pydir=%{py_sitedir}/libsvn \ + swig_pydir_extra=%{py_sitedir}/svn + +%if ! %{with net_client_only} +%{__make} install-swig-pl-lib \ + LC_ALL=C \ + DESTDIR=$RPM_BUILD_ROOT +%{__make} -C subversion/bindings/swig/perl install \ + DESTDIR=$RPM_BUILD_ROOT +%endif -install subversion/mod_dav_svn/.libs/*.so $RPM_BUILD_ROOT%{_apachelibdir} 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 %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/svnserve +install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/svnserve +install doc/programmer/design/*.info* $RPM_BUILD_ROOT%{_infodir}/ + +%if ! %{with net_client_only} +install tools/cvs2svn/cvs2svn.py $RPM_BUILD_ROOT%{_bindir}/cvs2svn +install tools/cvs2svn/cvs2svn.1 $RPM_BUILD_ROOT%{_mandir}/man1 +cp tools/cvs2svn/README tools/cvs2svn/README.cvs2svn %py_ocomp $RPM_BUILD_ROOT%{py_sitedir} %py_comp $RPM_BUILD_ROOT%{py_sitedir} +%endif + +%clean +rm -rf $RPM_BUILD_ROOT -%post +%post devel [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 -%postun +%postun devel [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 -%post libs -p /sbin/ldconfig -%postun libs -p /sbin/ldconfig +%post libs -p /sbin/ldconfig +%postun libs -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 + +%preun svnserve +if [ "$1" = "0" ]; then + if [ -f /var/lock/subsys/svnserve ]; then + /etc/rc.d/init.d/svnserve restart 1>&2 + fi +fi %post -n apache-mod_dav_svn if [ -f /var/lock/subsys/httpd ]; then - /etc/rc.d/init.d/httpd restart 1>&2 + /etc/rc.d/init.d/httpd restart 1>&2 else - echo "Run \"/etc/rc.d/init.d/httpd start\" to start apache http daemon." + echo "Run \"/etc/rc.d/init.d/httpd start\" to start apache http daemon." fi %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 + if [ -f /var/lock/subsys/httpd ]; then + /etc/rc.d/init.d/httpd restart 1>&2 + fi fi -%clean -rm -rf $RPM_BUILD_ROOT - %files %defattr(644,root,root,755) -%doc BUGS CHANGES COPYING IDEAS INSTALL README -%doc svn-handbook doc/book/misc-docs/misc-docs.html +%doc BUGS CHANGES COPYING INSTALL README +%doc svn-handbook doc/book/misc-docs/misc-docs.html +%doc tools/hook-scripts/*.{pl,py,example} +%doc tools/hook-scripts/mailer/*.{py,example} %attr(755,root,root) %{_bindir}/svn* -%exclude %{_bindir}/svn-config +%exclude %{_bindir}/svnserve %{_mandir}/man1/* -%{_infodir}/svn* +%{_mandir}/man5/* +%{_mandir}/man8/* +%exclude %{_mandir}/man?/svnserve* +%{?with_internal_neon:%exclude %{_mandir}/man1/neon*} %files libs %defattr(644,root,root,755) @@ -240,22 +386,54 @@ rm -rf $RPM_BUILD_ROOT %files devel %defattr(644,root,root,755) %{_includedir}/%{name}* -%attr(755,root,root) %{_bindir}/svn-config %attr(755,root,root) %{_libdir}/lib*.so %{_libdir}/lib*.la +%{_infodir}/svn* %files static %defattr(644,root,root,755) %{_libdir}/lib*.a +%if ! %{with net_client_only} +%files svnserve +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/svnserve +%{_mandir}/man?/svnserve* +%attr(754,root,root) /etc/rc.d/init.d/svnserve +%attr(640,root,root) %config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/svnserve + +%files tools +%defattr(644,root,root,755) +%doc tools/cvs2svn/README* +%attr(755,root,root) %{_bindir}/cvs* +%{_mandir}/man1/cvs* + %files -n python-subversion %defattr(644,root,root,755) -%doc tools/backup tools/cvs2svn/*.py tools/examples/*.py +%doc tools/backup/*.py tools/examples/*.py %dir %{py_sitedir}/svn +%dir %{py_sitedir}/libsvn %{py_sitedir}/svn/*.py[co] -%attr(755,root,root) %{py_sitedir}/svn/*.so +%{py_sitedir}/libsvn/*.py[co] +%attr(755,root,root) %{py_sitedir}/libsvn/*.so + +%files -n perl-subversion +%defattr(644,root,root,755) +%{perl_vendorarch}/SVN +%dir %{perl_vendorarch}/auto/SVN +%dir %{perl_vendorarch}/auto/SVN/* +%attr(755,root,root) %{perl_vendorarch}/auto/SVN/*/*.so +%{perl_vendorarch}/auto/SVN/*/*.bs +%{_mandir}/man3/*.3pm* %files -n apache-mod_dav_svn %defattr(644,root,root,755) %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/httpd/httpd.conf/*_mod_dav_svn.conf -%attr(755,root,root) %{_apachelibdir}/*.so +%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 size mtime md5) %{_sysconfdir}/httpd/httpd.conf/*_mod_authz_svn.conf +%attr(755,root,root) %{_apachelibdir}/mod_authz_svn.so +%endif