X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=subversion.spec;h=898fb9139f72f151723e3b5c125c9b312f6928e0;hb=5ac5573053e06b83d0c27f8fe1e731abb6b3a889;hp=22ffe56cb385f886d03077f222dc14247012e395;hpb=65318afa614a2dcce637643a5be804f8b2c4fb9c;p=packages%2Fsubversion.git diff --git a/subversion.spec b/subversion.spec index 22ffe56..898fb91 100644 --- a/subversion.spec +++ b/subversion.spec @@ -1,36 +1,51 @@ +# +# 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 -%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") -%define repov 4761 +%{!?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.24.1 -Release: 0.2 +Version: 0.33.1 +Release: 3 License: Apache/BSD Style Group: Development/Version Control -#Source0Download: http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260 -Source0: http://subversion.tigris.org/files/documents/15/%{repov}/subversion-%{version}.tar.gz -# Source0-md5: 8e1402528f0db97d9a187decddde89d1 +Source0: http://svn.collab.net/tarballs/%{name}-%{version}.tar.gz +# Source0-md5: 2d45e838243cb0bc71c80582d089be15 Source1: %{name}-dav_svn.conf Source2: %{name}-authz_svn.conf +Source3: %{name}-svnserve.init +Source4: %{name}-svnserve.sysconfig URL: http://subversion.tigris.org/ -BuildRequires: apache-devel >= 2.0.46-0.2 -BuildRequires: apr-devel >= 2.0.46-0.2 +%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: perl-devel +BuildRequires: rpm-perlprov +%endif +BuildRequires: apr-devel >= 1:0.9.5 +BuildRequires: apr-util-devel >= 1:0.9.5 BuildRequires: autoconf >= 2.53 BuildRequires: bison -BuildRequires: db-devel >= 4.1.25 +BuildRequires: docbook-style-xsl >= 1.56 BuildRequires: expat-devel BuildRequires: libtool >= 1.4-9 -BuildRequires: neon-devel >= 0.23.4 -BuildRequires: python >= 2.2 -BuildRequires: rpm-pythonprov >= 4.0.2-50 -BuildRequires: swig >= 1.3.17 -BuildRequires: swig-python >= 1.3.17 +BuildRequires: libxslt-progs +%{!?with_internal_neon:BuildRequires: neon-devel >= 0.24.1} +BuildRequires: python >= 2.2 +BuildRequires: rpm-pythonprov >= 4.0.2-50 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 @@ -125,14 +140,42 @@ 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. @@ -143,12 +186,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. @@ -158,37 +218,67 @@ Modu %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_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} %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 %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}/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 \ + %{__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 +%{__make} -C doc/book all-html \ + XSL_DIR=/usr/share/sgml/docbook/xsl-stylesheets/ # prepare for %%doc below mv -f doc/book/book/html-chunk svn-handbook @@ -197,21 +287,41 @@ cp -f doc/book/book/images/*.png svn-handbook/images/ %install rm -rf $RPM_BUILD_ROOT +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 \ +%{__make} install \ + LC_ALL=C \ + %{!?with_net_client_only:install-swig-py} \ DESTDIR=$RPM_BUILD_ROOT \ 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 %{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 doc/programmer/design/*.info* $RPM_BUILD_ROOT%{_infodir}/ +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 devel [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 @@ -219,8 +329,22 @@ install doc/programmer/design/*.info* $RPM_BUILD_ROOT%{_infodir}/ %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 @@ -236,16 +360,20 @@ if [ "$1" = "0" ]; then 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/* +%{_mandir}/man5/* +%{_mandir}/man8/* +%exclude %{_mandir}/man?/svnserve* +%{?with_internal_neon:%exclude %{_mandir}/man1/neon*} %files libs %defattr(644,root,root,755) @@ -263,15 +391,39 @@ rm -rf $RPM_BUILD_ROOT %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] %{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 @@ -282,3 +434,5 @@ rm -rf $RPM_BUILD_ROOT %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