]> git.pld-linux.org Git - packages/subversion.git/blobdiff - subversion.spec
fix ruby packaging with vendordir support
[packages/subversion.git] / subversion.spec
index 7183521c7ef22876cf7f1a5b4181676f3d87641e..259d24c91e209c2bf52866e4fffc5f6cdfc943ed 100644 (file)
@@ -1,3 +1,5 @@
+# TODO:
+# - 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
@@ -6,7 +8,7 @@
 %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 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 tests                   # don't perform "make check"
@@ -15,6 +17,8 @@
 %bcond_without gnome                   # build without gnome keyring support
 %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
 %undefine      with_db
@@ -50,12 +54,12 @@ 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.7.1
+Version:       1.7.9
 Release:       1
-License:       Apache/BSD-like
+License:       Apache v2.0
 Group:         Development/Version Control
-Source0:       http://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2
-# Source0-md5: 8a4fa74385df85a9702141b6b68b8307
+Source0:       http://www.idg.pl/mirrors/apache/subversion/%{name}-%{version}.tar.bz2
+# Source0-md5: 8d532025771a67c06c23f299699f056f
 Source1:       %{name}-dav_svn.conf
 Source2:       %{name}-authz_svn.conf
 Source3:       %{name}-svnserve.init
@@ -68,8 +72,7 @@ Patch0:               %{name}-home_etc.patch
 Patch1:                %{name}-DESTDIR.patch
 Patch2:                %{name}-ruby-datadir-path.patch
 Patch3:                %{name}-tests.patch
-# running this hook for every post breaks mod_rails
-Patch4:                %{name}-mod_dav_svn-fix-hook.patch
+Patch4:                subversion-1.7.2-ruby19.patch
 URL:           http://subversion.apache.org/
 %{?with_apache:BuildRequires:  apache-devel >= 2.2.0-8}
 BuildRequires: apr-devel >= 1:1.0.0
@@ -91,7 +94,7 @@ BuildRequires:        libtool >= 1.4-9
 BuildRequires: pkgconfig
 %{?with_csvn:BuildRequires:    python-ctypesgen}
 BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.583
+BuildRequires: rpmbuild(macros) >= 1.656
 BuildRequires: sed >= 4.0
 BuildRequires: sqlite3-devel >= 3.6.18
 BuildRequires: texinfo
@@ -116,7 +119,6 @@ BuildRequires:      swig-python >= 1.3.24
 %endif
 %if %{with ruby}
 BuildRequires: ruby-devel >= 1:1.8.2
-BuildRequires: ruby-devel < 1:1.9
 BuildRequires: ruby-rubygems
 BuildRequires: swig-ruby >= 1.3.24
 %endif
@@ -255,8 +257,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
@@ -303,8 +305,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
@@ -321,8 +323,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.
@@ -369,7 +371,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
@@ -379,12 +381,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}
 
@@ -392,12 +395,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
@@ -411,6 +430,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
@@ -457,7 +477,11 @@ chmod +x ./autogen.sh && ./autogen.sh
 %if %{without swig}
        --without-swig \
 %endif
-%if %{without ruby}
+%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}
@@ -489,6 +513,8 @@ chmod +x ./autogen.sh && ./autogen.sh
 
 %{__make} -j1
 
+%{__make} tools
+
 %if %{with csvn}
 # Python ctypes bindings
 %{__make} ctypes-python
@@ -542,6 +568,7 @@ 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}
@@ -556,6 +583,7 @@ install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,bash_completion.d} \
 %if %{with csvn}
        install-ctypes-python \
 %endif
+       install-tools
 
 %if %{with ruby}
 %{__make} install -j1 \
@@ -563,10 +591,8 @@ install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,bash_completion.d} \
        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
@@ -590,6 +616,12 @@ 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
+
+# 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}
@@ -611,7 +643,7 @@ cp -p tools/examples/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 %if %{with swig}
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_swig*.{la,a}
 %if %{with ruby}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/ruby/site_ruby/*/*/svn/ext/*.la
+%{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/svn/ext/*.la
 %endif
 %endif
 %if %{with gnome} || %{with kwallet}
@@ -687,6 +719,14 @@ 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 INSTALL README
@@ -828,8 +868,24 @@ 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}
@@ -894,11 +950,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
 
@@ -913,4 +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
+
+%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
This page took 0.036234 seconds and 4 git commands to generate.