3 %bcond_with net_client_only # only net client (disables: apache db swig java csvn gnome kde)
4 %bcond_without swig # swig-based bindings (perl python ruby)
5 %bcond_without python # Python bindings (any)
6 %bcond_without python2 # CPython 2.x bindings
7 %bcond_without python3 # CPython 3.x bindings
8 %bcond_without csvn # Python csvn bindings
9 %bcond_without swigpy # Python swig bindings
10 %bcond_without perl # Perl bindings
11 %bcond_with ruby # Ruby bindings
12 %bcond_without apache # Apache support (webdav, etc)
13 %bcond_without java # javahl support (Java high-level bindings)
14 %bcond_with tests # "make check" tests
15 %bcond_without kwallet # KDE5 wallet support
16 %bcond_without kde # KDE5 support (alias for kwallet)
17 %bcond_without gnome # GNOME keyring support
18 %bcond_without db # Subversion Berkeley DB based filesystem library
19 %bcond_with db6 # allow BDB6 (not tested by upstream, released on AGPL)
20 %bcond_without static_libs # static libraries
22 %if %{with net_client_only}
37 %undefine with_kwallet
40 %undefine with_python2
41 %undefine with_python3
45 %if %{without swigpy} && %{without perl} && %{without ruby}
49 %define apxs /usr/sbin/apxs
53 %{?with_java:%{?use_default_jdk}}
55 Summary: A Concurrent Versioning system similar to but better than CVS
56 Summary(pl.UTF-8): System kontroli wersji podobny, ale lepszy, niż CVS
57 Summary(pt_BR.UTF-8): Sistema de versionamento concorrente
62 Group: Development/Version Control
63 Source0: https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2
64 # Source0-md5: 19756a5ceb32a022698a66e48616ef6b
65 Source1: %{name}-dav_svn.conf
66 Source2: %{name}-authz_svn.conf
67 Source3: %{name}-svnserve.init
68 Source4: %{name}-svnserve.sysconfig
69 Patch0: %{name}-home_etc.patch
70 Patch1: %{name}-DESTDIR.patch
71 Patch2: %{name}-ruby-datadir-path.patch
72 Patch3: %{name}-tests.patch
73 Patch4: x32-libdir.patch
74 Patch5: %{name}-sh.patch
75 Patch6: %{name}-ctypes.patch
76 Patch7: %{name}-perl.patch
77 Patch8: %{name}-swig-py.patch
78 URL: http://subversion.apache.org/
79 %{?with_apache:BuildRequires: apache-devel >= 2.4.14}
80 BuildRequires: apr-devel >= 1:1.4
81 BuildRequires: apr-util-devel >= 1:1.3
82 BuildRequires: apr-util-crypto-openssl
83 BuildRequires: autoconf >= 2.59
84 BuildRequires: automake
86 BuildRequires: cyrus-sasl-devel
87 %if %{with kwallet} || %{with gnome}
88 BuildRequires: dbus-devel
90 %{!?with_db6:BuildRequires: db-devel < 6}
91 BuildRequires: db-devel >= 4.1.25
92 BuildRequires: expat-devel
93 BuildRequires: gettext-tools
94 %{?with_gnome:BuildRequires: glib2-devel >= 2.0}
95 %{?with_kde:BuildRequires: kf5-kdelibs4support-devel}
96 %{?with_kwallet:BuildRequires: kf5-kwallet-devel}
97 %{?with_gnome:BuildRequires: libgnome-keyring-devel}
98 %{?with_gnome:BuildRequires: libsecret-devel}
99 BuildRequires: libmagic-devel
100 BuildRequires: libtool >= 2:2
101 BuildRequires: libutf8proc-devel >= 1.3.1-4
102 BuildRequires: lz4-devel
103 BuildRequires: pkgconfig
105 BuildRequires: python >= 1:2.7
106 %{?with_csvn:BuildRequires: python-ctypesgen >= 1.0.2}
107 %{?with_swigpy:BuildRequires: python-modules >= 1:2.7}
110 BuildRequires: python3 >= 1:3.2
111 %{?with_csvn:BuildRequires: python3-ctypesgen >= 1.0.2}
112 %{?with_swigpy:BuildRequires: python3-modules >= 1:3.2}
114 BuildRequires: rpm-build >= 4.6
115 BuildRequires: rpm-pythonprov
116 BuildRequires: rpmbuild(macros) >= 2.021
117 BuildRequires: sed >= 4.0
118 BuildRequires: serf-devel >= 1.3.4
119 BuildRequires: sqlite3-devel >= 3.8.11.1
120 BuildRequires: texinfo
122 BuildRequires: zlib-devel >= 1.2
125 BuildRequires: libstdc++-devel >= 6:4.7
128 BuildRequires: perl-devel >= 1:5.8.0
129 BuildRequires: rpm-perlprov >= 4.1-13
130 BuildRequires: swig-perl >= 1.3.24
132 %if %{with python2} || %{with python3}
136 BuildRequires: python-devel >= 1:2.7
137 BuildRequires: swig3-python >= 3.0.12
138 BuildRequires: swig3-python < 4.0.0
141 BuildRequires: python3-devel >= 1:3.2
142 BuildRequires: swig-python >= 4.0.0
145 BuildRequires: rpm-rubyprov
146 BuildRequires: ruby-devel >= 1:1.8.2
147 BuildRequires: ruby-irb
148 BuildRequires: ruby-rubygems
149 BuildRequires: swig-ruby >= 3.0.9
151 Requires: %{name}-libs = %{version}-%{release}
152 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
154 %define _libexecdir %{_libdir}/svn
155 %define apacheconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d
156 %define apachelibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
158 %define skip_post_check_so libsvn_swig_py-1.so.* libsvn_swig_py2-1.so.* libsvn_swig_perl-1.so.* libsvn_fs_x-1.so.*
161 The goal of the Subversion project is to build a version control
162 system that is a compelling replacement for CVS in the open source
166 - All current CVS features.
167 - Directories, renames, and file meta-data are versioned.
168 - Symbolic links, etc, are supported
169 - Commits are truly atomic.
170 - Branching and tagging are cheap (constant time) operations
171 - Repeated merges are handled gracefully
172 - Support for plug-in client side diff programs
173 - Natively client/server
174 - Client/server protocol sends diffs in both directions
175 - Costs are proportional to change size, not project size
176 - Internationalization
177 - Progressive multi-lingual support
179 %description -l pl.UTF-8
180 Celem projektu Subversion jest stworzenie systemu kontroli wersji jako
184 - Wszystkie aktualne możliwości CVS.
185 - Katalogi, zmiany nazw oraz metadane plików są wersjonowane.
186 - Obsługa dowiązań symbolicznych itp.
187 - Commity są w pełni atomowe.
188 - Branchowanie oraz tagowanie są tanimi (stałymi w czasie) operacjami.
189 - Dobra obsługa powtarzanego łączenia (merge).
190 - Obsługa wtyczek diff po stronie klienta.
191 - Natywny klient/serwer.
192 - Klient/Serwer przesyłają diffy w obu kierunkach.
193 - Koszty proporcjonalne do rozmiaru zmiany, a nie rozmiaru projektu.
194 - Internacjonalizacja.
195 - Postępujące wsparcie dla wielu języków.
197 %description -l pt_BR.UTF-8
198 O objetivo do projeto Subversion é construir um sistema de controle de
199 versões que seja um substituto para o CVS (Concurrent Versioning
200 System) na comunidade opensource, fornecendo grandes melhorias.
203 Summary: Subversion libraries and modules
204 Summary(pl.UTF-8): Biblioteka subversion oraz ładowalne moduły
206 Requires: apr >= 1:1.4
207 Requires: apr-util >= 1:1.3
208 Requires: serf >= 1.3.4
209 %requires_ge_to sqlite3-libs sqlite3-devel
210 Requires: zlib >= 1.2
211 Obsoletes: libsubversion0 < 1
214 Subversion libraries and modules.
216 %description libs -l pl.UTF-8
217 Biblioteka subversion oraz ładowalne moduły.
220 Summary: Header files and develpment documentation for subversion
221 Summary(pl.UTF-8): Pliki nagłówkowe i dokumetacja do subversion
222 Summary(pt_BR.UTF-8): Arquivos de desenvolvimento para o Subversion
223 Group: Development/Libraries
224 Requires: %{name}-libs = %{version}-%{release}
225 Requires: apr-util-devel >= 1:1.3
226 Requires: libutf8proc-devel >= 1.3.1-4
227 Requires: serf-devel >= 1.3.4
228 Obsoletes: libsubversion0-devel < 1
231 Header files and develpment documentation for subversion.
233 %description devel -l pl.UTF-8
234 Pliki nagłówkowe i dokumetacja do subversion.
236 %description devel -l pt_BR.UTF-8
237 Este pacote provê os arquivos necessários para desenvolvedores
238 interagirem com o Subversion.
241 Summary: Static subversion library
242 Summary(pl.UTF-8): Biblioteka statyczna subversion
243 Summary(pt_BR.UTF-8): Sistema de versionamento concorrente
244 Group: Development/Libraries
245 Requires: %{name}-devel = %{version}
246 Obsoletes: libsubversion0-static-devel < 1
249 Static subversion library.
251 %description static -l pl.UTF-8
252 Biblioteka statyczna subversion.
254 %description static -l pt_BR.UTF-8
255 Este pacote provê um cliente estático do subversion.
258 Summary: Subversion svnserve
259 Summary(pl.UTF-8): Subversion svnserve
260 Group: Networking/Daemons
261 Requires(post,preun): /sbin/chkconfig
262 Requires(postun): /usr/sbin/groupdel
263 Requires(postun): /usr/sbin/userdel
264 Requires(pre): /bin/id
265 Requires(pre): /usr/bin/getgid
266 Requires(pre): /usr/lib/rpm/user_group.sh
267 Requires(pre): /usr/sbin/groupadd
268 Requires(pre): /usr/sbin/useradd
269 Requires(pre): /usr/sbin/usermod
270 Requires: %{name} = %{version}-%{release}
275 %description svnserve
276 Subversion svnserve server.
278 %description svnserve -l pl.UTF-8
279 Serwer subversion svnserve.
282 Summary: Subversion tools and scripts
283 Summary(pl.UTF-8): Narzędzia oraz skrypty dla subversion
284 Summary(pt_BR.UTF-8): Módulos python para acessar os recursos do Subversion
285 Group: Development/Version Control
286 Requires: %{name} = %{version}-%{release}
289 Subversion tools and scripts.
291 %description tools -l pl.UTF-8
292 Narzędzia oraz skrypty dla subversion.
294 %package -n bash-completion-subversion
295 Summary: bash completion for subversion
296 Summary(pl.UTF-8): Dopełnienia basha dla subversion
297 Group: Applications/Shells
298 Requires: %{name} = %{version}-%{release}
299 Requires: bash-completion
300 Conflicts: %{name}-tools <= 1.1.0-0.rc6.1
303 %description -n bash-completion-subversion
304 Bash completion for subversion.
306 %description -n bash-completion-subversion -l pl.UTF-8
307 Dopełnienia basha dla subversion.
309 %package -n java-subversion
310 Summary: Subversion Java bindings
311 Summary(pl.UTF-8): Dowiązania do Subversion dla Javy
312 Group: Development/Languages/Java
313 Requires: %{name}-libs = %{version}-%{release}
315 %description -n java-subversion
316 This is a set of Java classes which provide the functionality of
317 subversion-libs, the Subversion libraries. It is useful if you want
318 to, for example, write a Java class that manipulates a Subversion
319 repository or working copy. See the 'subversion' package for more
322 %description -n java-subversion -l pl.UTF-8
323 Ten pakiet zawiera zestaw klas Javy udostępniających funkcjonalność
324 subversion-libs, czyli bibliotek Subversion. Jest przydatny przy
325 pisaniu klas Javy np. modyfikujących repozytorium Subversion lub kopię
326 roboczą. Więcej informacji w pakiecie subversion.
328 %package -n python-subversion
329 Summary: Subversion Python 2 bindings
330 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 2
331 Summary(pt_BR.UTF-8): Módulos Python 2 para acessar os recursos do Subversion
332 Group: Development/Languages/Python
333 Requires: %{name}-libs = %{version}-%{release}
334 Requires: python-modules >= 1:2.7
335 Obsoletes: subversion-python < 0.14.1
337 %description -n python-subversion
338 Subversion Python 2 bindings.
340 %description -n python-subversion -l pl.UTF-8
341 Dowiązania do Subversion dla Pythona 2.
343 %description -n python-subversion -l pt_BR.UTF-8
344 Módulos Python 2 para acessar os recursos do Subversion.
346 %package -n python-csvn
347 Summary: CTypes Subversion Python 2 bindings
348 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 2
349 Summary(pt_BR.UTF-8): Módulos Python 2 para acessar os recursos do Subversion
350 Group: Development/Languages/Python
351 Requires: %{name}-libs = %{version}-%{release}
352 Requires: python-modules >= 1:2.7
354 %description -n python-csvn
355 Subversion CTypes Python 2 bindings.
357 %description -n python-csvn -l pl.UTF-8
358 Dowiązania do Subversion dla Pythona 2 używające CTypes.
360 %description -n python-csvn -l pt_BR.UTF-8
361 Módulos Python 2 para acessar os recursos do Subversion.
363 %package -n python3-subversion
364 Summary: Subversion Python 3 bindings
365 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 3
366 Summary(pt_BR.UTF-8): Módulos Python 3 para acessar os recursos do Subversion
367 Group: Development/Languages/Python
368 Requires: %{name}-libs = %{version}-%{release}
369 Requires: python3-modules >= 1:3.2
370 Obsoletes: subversion-python < 0.14.1
372 %description -n python3-subversion
373 Subversion Python 3 bindings.
375 %description -n python3-subversion -l pl.UTF-8
376 Dowiązania do Subversion dla Pythona 3.
378 %description -n python3-subversion -l pt_BR.UTF-8
379 Módulos Python 3 para acessar os recursos do Subversion.
381 %package -n python3-csvn
382 Summary: CTypes Subversion Python 3 bindings
383 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 3
384 Summary(pt_BR.UTF-8): Módulos Python 3 para acessar os recursos do Subversion
385 Group: Development/Languages/Python
386 Requires: %{name}-libs = %{version}-%{release}
387 Requires: python3-modules >= 1:3.2
389 %description -n python3-csvn
390 Subversion CTypes Python 3 bindings.
392 %description -n python3-csvn -l pl.UTF-8
393 Dowiązania do Subversion dla Pythona 3 używające CTypes.
395 %description -n python3-csvn -l pt_BR.UTF-8
396 Módulos Python 3 para acessar os recursos do Subversion.
398 %package -n perl-subversion
399 Summary: Subversion Perl bindings
400 Summary(pl.UTF-8): Dowiązania do Subversion dla Perla
401 Summary(pt_BR.UTF-8): Módulos Perl para acessar os recursos do Subversion
402 Group: Development/Languages/Perl
403 Requires: %{name}-libs = %{version}-%{release}
404 Obsoletes: subversion-perl < 0.33.1-2
406 %description -n perl-subversion
407 Subversion Perl bindings.
409 %description -n perl-subversion -l pl.UTF-8
410 Dowiązania do Subversion dla Perla.
412 %description -n perl-subversion -l pt_BR.UTF-8
413 Módulos Perl para acessar os recursos do Subversion.
415 %package -n ruby-subversion
416 Summary: Subversion Ruby bindings
417 Summary(pl.UTF-8): Dowiązania do Subversion dla języka Ruby
418 Summary(pt_BR.UTF-8): Módulos Ruby para acessar os recursos do Subversion
419 Group: Development/Languages
420 Requires: %{name}-libs = %{version}-%{release}
421 Obsoletes: subversion-ruby < 1.5.0-1
423 %description -n ruby-subversion
424 Subversion Ruby bindings.
426 %description -n ruby-subversion -l pl.UTF-8
427 Dowiązania do Subversion dla języka Ruby.
429 %description -n ruby-subversion -l pt_BR.UTF-8
430 Módulos Ruby para acessar os recursos do Subversion.
432 %package -n apache-mod_dav_svn
433 Summary: Apache module: Subversion Server
434 Summary(pl.UTF-8): Moduł Apache'a: serwer Subversion
435 Group: Networking/Daemons
436 Requires: %{name} = %{version}-%{release}
437 Requires: apache(modules-api) = %apache_modules_api
438 Requires: apache-mod_dav
440 %description -n apache-mod_dav_svn
441 Apache module: Subversion Server.
443 %description -n apache-mod_dav_svn -l pl.UTF-8
444 Moduł Apache'a: serwer Subversion.
446 %package -n apache-mod_authz_svn
447 Summary: Apache module: Subversion Server - path-based authorization
448 Summary(pl.UTF-8): Moduł Apache'a: autoryzacja na podstawie ścieżki dla serwera Subversion
449 Group: Networking/Daemons
450 Requires: %{name}-libs = %{version}-%{release}
451 Requires: apache(modules-api) = %apache_modules_api
452 Requires: apache-mod_dav_svn = %{version}-%{release}
454 %description -n apache-mod_authz_svn
455 Apache module: Subversion Server - path-based authorization.
457 %description -n apache-mod_authz_svn -l pl.UTF-8
458 Moduł Apache'a: autoryzacja na podstawie ścieżki dla serwera
461 %package -n apache-mod_dontdothat_svn
462 Summary: Apache module: Allows you to block specific svn requests
463 Summary(pl.UTF-8): Moduł Apache'a pozwalający na blokowanie pewnych zapytań svn
464 Group: Networking/Daemons
465 Requires: %{name}-libs = %{version}-%{release}
466 Requires: apache(modules-api) = %apache_modules_api
467 Requires: apache-mod_dav_svn = %{version}-%{release}
469 %description -n apache-mod_dontdothat_svn
470 Apache module: Allows you to block specific svn requests.
472 %description -n apache-mod_dontdothat_svn -l pl.UTF-8
473 Moduł Apache'a pozwalający na blokowanie pewnych zapytań svn.
475 %package -n gnome-keyring-subversion
476 Summary: GNOME Keyring authentication provider for Subversion
477 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Subversion
478 Group: X11/Applications
479 Requires: %{name}-libs = %{version}-%{release}
481 %description -n gnome-keyring-subversion
482 Authentication provider module for Subversion which allows SVN client
483 to authenticate using GNOME Keyring.
485 %description -n gnome-keyring-subversion -l pl.UTF-8
486 Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
487 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
489 %package -n kde5-kwallet-subversion
490 Summary: KDE Wallet authentication provider for Subversion
491 Summary(pl.UTF-8): Moduł uwierzytelniający dla Subversion wykorzystujący Portfel KDE
492 Group: X11/Applications
493 Requires: %{name}-libs = %{version}-%{release}
495 %description -n kde5-kwallet-subversion
496 Authentication provider module for Subversion which allows SVN client
497 to authenticate using KDE Wallet.
499 %description -n kde5-kwallet-subversion -l pl.UTF-8
500 Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
501 uwierzytelniać się przy użyciu Portfela KDE.
515 %{__sed} -i -e 's#serf_prefix/lib#serf_prefix/%{_lib}#g' build/ac-macros/serf.m4
517 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},' tools/backup/hot-backup.py.in
520 # FIXME: don't hide autotools invocation
521 # (but this script could do more, e.g. swig regeneration)
522 chmod +x ./autogen.sh && ./autogen.sh
524 install -d builddir-python2
527 ac_cv_path_RUBY=none \
529 --disable-mod-activation \
530 %{__enable_disable static_libs static} \
532 --without-berkeley-db \
534 --with-ctypesgen=%{_bindir}/ctypesgen-2 \
536 --without-gnome-keyring \
538 --with-serf=%{_prefix} \
539 --with-swig=/usr/bin/swig-3 \
540 --with-zlib=%{_libdir}
542 # required with separate builddir and only some subcomponents
543 install -d subversion/{bindings/swig/python,mod_dav_svn/{posts,reports},po} tools/server-side/mod_dontdothat
546 # Python ctypes bindings
547 %{__make} -j1 ctypes-python
550 # Python swig bindings
551 %{__make} -j1 swig-py \
553 swig_pydir=%{py_sitedir}/libsvn \
554 swig_pydir_extra=%{py_sitedir}/svn
559 %{__make} -j1 check-ctypes-python
562 %{__make} -j1 check-swig-py
571 PYTHON=%{__python3} \
572 --disable-mod-activation \
573 --disable-runtime-module-search \
574 %{__enable_disable static_libs static} \
575 --with-apr=%{_bindir}/apr-1-config \
576 --with-apr-util=%{_bindir}/apu-1-config \
578 --with-serf=%{_prefix} \
579 --with-zlib=%{_libdir} \
581 --with-apache-libexecdir="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
582 --with-apxs=%{_sbindir}/apxs \
587 --with-berkeley-db="db.h:%{_includedir}:%{_libdir}:db" \
588 %{?with_db6:--enable-bdb6} \
590 --without-berkeley-db \
592 %if %{with python3} && %{with csvn}
593 --with-ctypesgen=%{_bindir}/ctypesgen-3 \
596 --with-gnome-keyring \
605 --with-swig=/usr/bin/swig \
608 svn_cv_ruby_sitedir_libsuffix="" \
609 svn_cv_ruby_sitedir_archsuffix="" \
610 --with-ruby-sitedir=%{ruby_vendorarchdir} \
612 ac_cv_path_RUBY=none \
616 --with-jdk="%{java_home}" \
628 # Python ctypes bindings
629 %{__make} ctypes-python
632 # Python swig bindings
634 swig_pydir=%{py3_sitedir}/libsvn \
635 swig_pydir_extra=%{py3_sitedir}/svn
641 %{__make} -j1 swig-pl
644 %{__make} -j1 javahl \
645 javahl_javadir="%{_javadir}"
654 %if %{with python3} && %{with csvn}
655 %{__make} -j1 check-ctypes-python
657 %if %{with python3} && %{with swigpy}
658 %{__make} -j1 check-swig-py
661 %{__make} -j1 check-swig-pl
664 # disabled, see https://bugs.launchpad.net/pld-linux/+bug/734340
665 #%{__make} check-swig-rb
670 rm -rf $RPM_BUILD_ROOT
671 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,bash_completion.d} \
672 $RPM_BUILD_ROOT{%{apacheconfdir},%{apachelibdir},%{_infodir}} \
673 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
674 $RPM_BUILD_ROOT%{_sysconfdir}/%{name} \
675 $RPM_BUILD_ROOT/home/services/subversion/repos
679 %{__make} -C builddir-python2 -j1 install-lib install-fsmod-lib install-ctypes-python \
680 DESTDIR=$RPM_BUILD_ROOT \
681 PY_INSTALLOPTS="--install-purelib=%{py_sitescriptdir}" \
682 pkgconfig_dir=%{_pkgconfigdir}
686 %{__make} -C builddir-python2 -j1 install-swig-py \
687 DESTDIR=$RPM_BUILD_ROOT \
689 swig_pydir=%{py_sitedir}/libsvn \
690 swig_pydir_extra=%{py_sitedir}/svn
694 %{__make} -C builddir -j1 install \
695 pkgconfig_dir=%{_pkgconfigdir} \
696 toolsdir=%{_bindir} \
697 DESTDIR=$RPM_BUILD_ROOT \
698 APACHE_LIBEXECDIR="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
701 javahl_javadir="%{_javadir}" \
703 %if %{with python3} && %{with csvn}
704 install-ctypes-python \
705 PY_INSTALLOPTS="--install-purelib=%{py3_sitescriptdir}" \
707 %if %{with python3} && %{with swigpy}
709 swig_pydir=%{py3_sitedir}/libsvn \
710 swig_pydir_extra=%{py3_sitedir}/svn \
714 %if 0 && %{with csvn}
715 # manually execute install-ctypes-python target
716 cd subversion/bindings/ctypes-python
722 %{__make} -C builddir -j1 install-swig-rb install-swig-rb-doc \
723 SWIG_RB_RI_DATADIR=$RPM_BUILD_ROOT%{ruby_ridir} \
724 DESTDIR=$RPM_BUILD_ROOT
727 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/OptionParser
728 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/Time
729 %if "%{ruby_abi}" >= "2.0"
730 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/File
732 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
733 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
737 %{__make} -C builddir install-swig-pl \
738 DESTDIR=$RPM_BUILD_ROOT
742 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{apacheconfdir}/65_mod_dav_svn.conf
743 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{apacheconfdir}/66_mod_authz_svn.conf
744 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/svnserve
745 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/svnserve
748 %if %{without net_client_only}
749 install -p builddir/tools/backup/hot-backup.py $RPM_BUILD_ROOT%{_bindir}/svn-hot-backup
752 # rename not to conflict with standard packages. (are these needed at all?)
753 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff
754 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff3
755 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff4
759 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
760 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
761 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/libsvn/*.la
762 install -d $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}
763 cp -p tools/examples/*.py $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}
764 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}/*.py
769 %if %{with python3} && %{with swigpy}
770 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
771 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
772 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/libsvn/*.la
773 install -d $RPM_BUILD_ROOT%{_examplesdir}/python3-%{name}-%{version}
774 cp -p tools/examples/*.py $RPM_BUILD_ROOT%{_examplesdir}/python3-%{name}-%{version}
775 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},' $RPM_BUILD_ROOT%{_examplesdir}/python3-%{name}-%{version}/*.py
778 cp -p tools/client-side/bash_completion $RPM_BUILD_ROOT/etc/bash_completion.d/%{name}
779 cp -p tools/examples/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
782 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.la
783 %{?with_static_libs:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.a}
786 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_swig*.la
787 %{?with_static_libs:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_swig*.a}
789 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/svn/ext/*.la
792 %if %{with gnome} || %{with kwallet}
793 # dlopened by soname (libsvn_auth_*-1.so.0)
794 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_auth_*-1.{so,la}
800 rm -rf $RPM_BUILD_ROOT
804 %useradd -u 180 -d /home/services/subversion -c "Subversion svnserve" -g svn svn
806 %post libs -p /sbin/ldconfig
807 %postun libs -p /sbin/ldconfig
809 %post devel -p /sbin/postshell
810 -/usr/sbin/fix-info-dir -c %{_infodir}
812 %postun devel -p /sbin/postshell
813 -/usr/sbin/fix-info-dir -c %{_infodir}
815 %post -n java-subversion -p /sbin/ldconfig
816 %postun -n java-subversion -p /sbin/ldconfig
818 %post -n perl-subversion -p /sbin/ldconfig
819 %postun -n perl-subversion -p /sbin/ldconfig
821 %post -n python-subversion -p /sbin/ldconfig
822 %postun -n python-subversion -p /sbin/ldconfig
824 %post -n python3-subversion -p /sbin/ldconfig
825 %postun -n python3-subversion -p /sbin/ldconfig
827 %post -n ruby-subversion -p /sbin/ldconfig
828 %postun -n ruby-subversion -p /sbin/ldconfig
830 %post -n gnome-keyring-subversion -p /sbin/ldconfig
831 %postun -n gnome-keyring-subversion -p /sbin/ldconfig
833 %post -n kde5-kwallet-subversion -p /sbin/ldconfig
834 %postun -n kde5-kwallet-subversion -p /sbin/ldconfig
837 /sbin/chkconfig --add svnserve
838 %service svnserve restart "svnserve daemon"
841 if [ "$1" = "0" ]; then
842 %service svnserve stop
843 /sbin/chkconfig --del svnserve
847 if [ "$1" = "0" ]; then
852 %post -n apache-mod_dav_svn
853 %service -q httpd restart
855 %postun -n apache-mod_dav_svn
856 if [ "$1" = "0" ]; then
857 %service -q httpd restart
860 %post -n apache-mod_authz_svn
861 %service -q httpd restart
863 %postun -n apache-mod_authz_svn
864 if [ "$1" = "0" ]; then
865 %service -q httpd restart
868 %post -n apache-mod_dontdothat_svn
869 %service -q httpd restart
871 %postun -n apache-mod_dontdothat_svn
872 if [ "$1" = "0" ]; then
873 %service -q httpd restart
877 %defattr(644,root,root,755)
878 %doc BUGS CHANGES INSTALL README
880 %doc builddir/tools/hook-scripts/*.pl
881 %doc tools/hook-scripts/*.{py,example}
882 %doc tools/hook-scripts/mailer/*.{py,example}
884 %attr(755,root,root) %{_bindir}/fsfs-stats
885 %attr(755,root,root) %{_bindir}/svn
886 %attr(755,root,root) %{_bindir}/svn-mergeinfo-normalizer
887 %attr(755,root,root) %{_bindir}/svnadmin
888 %attr(755,root,root) %{_bindir}/svnconflict
889 %attr(755,root,root) %{_bindir}/svndumpfilter
890 %attr(755,root,root) %{_bindir}/svnlook
891 %attr(755,root,root) %{_bindir}/svnmover
892 %attr(755,root,root) %{_bindir}/svnmucc
893 %attr(755,root,root) %{_bindir}/svnrdump
894 %attr(755,root,root) %{_bindir}/svnsync
895 %attr(755,root,root) %{_bindir}/svnversion
896 %{_mandir}/man1/svn.1*
897 %{_mandir}/man1/svnadmin.1*
898 %{_mandir}/man1/svndumpfilter.1*
899 %{_mandir}/man1/svnrdump.1*
900 %{_mandir}/man1/svnlook.1*
901 %{_mandir}/man1/svnmucc.1*
902 %{_mandir}/man1/svnsync.1*
903 %{_mandir}/man1/svnversion.1*
905 %files libs -f %{name}.lang
906 %defattr(644,root,root,755)
907 %dir %{_sysconfdir}/%{name}
908 %attr(755,root,root) %{_libdir}/libsvn_client-1.so.*.*.*
909 %attr(755,root,root) %ghost %{_libdir}/libsvn_client-1.so.0
910 %attr(755,root,root) %{_libdir}/libsvn_delta-1.so.*.*.*
911 %attr(755,root,root) %ghost %{_libdir}/libsvn_delta-1.so.0
912 %attr(755,root,root) %{_libdir}/libsvn_diff-1.so.*.*.*
913 %attr(755,root,root) %ghost %{_libdir}/libsvn_diff-1.so.0
914 %attr(755,root,root) %{_libdir}/libsvn_fs-1.so.*.*.*
915 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs-1.so.0
916 %if %{without net_client_only}
917 %attr(755,root,root) %{_libdir}/libsvn_fs_base-1.so.*.*.*
918 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_base-1.so.0
920 %attr(755,root,root) %{_libdir}/libsvn_fs_fs-1.so.*.*.*
921 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_fs-1.so.0
922 %attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so.*.*.*
923 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_util-1.so.0
924 %attr(755,root,root) %{_libdir}/libsvn_fs_x-1.so.*.*.*
925 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_x-1.so.0
926 %attr(755,root,root) %{_libdir}/libsvn_ra-1.so.*.*.*
927 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra-1.so.0
928 %attr(755,root,root) %{_libdir}/libsvn_ra_local-1.so.*.*.*
929 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_local-1.so.0
930 %attr(755,root,root) %{_libdir}/libsvn_ra_serf-1.so.*.*.*
931 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_serf-1.so.0
932 %attr(755,root,root) %{_libdir}/libsvn_ra_svn-1.so.*.*.*
933 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_svn-1.so.0
934 %attr(755,root,root) %{_libdir}/libsvn_repos-1.so.*.*.*
935 %attr(755,root,root) %ghost %{_libdir}/libsvn_repos-1.so.0
936 %attr(755,root,root) %{_libdir}/libsvn_subr-1.so.*.*.*
937 %attr(755,root,root) %ghost %{_libdir}/libsvn_subr-1.so.0
938 %attr(755,root,root) %{_libdir}/libsvn_wc-1.so.*.*.*
939 %attr(755,root,root) %ghost %{_libdir}/libsvn_wc-1.so.0
942 %defattr(644,root,root,755)
943 %attr(755,root,root) %{_libdir}/libsvn_client-1.so
944 %attr(755,root,root) %{_libdir}/libsvn_delta-1.so
945 %attr(755,root,root) %{_libdir}/libsvn_diff-1.so
946 %attr(755,root,root) %{_libdir}/libsvn_fs-1.so
947 %if %{without net_client_only}
948 %attr(755,root,root) %{_libdir}/libsvn_fs_base-1.so
950 %attr(755,root,root) %{_libdir}/libsvn_fs_fs-1.so
951 %attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so
952 %attr(755,root,root) %{_libdir}/libsvn_fs_x-1.so
953 %attr(755,root,root) %{_libdir}/libsvn_ra-1.so
954 %attr(755,root,root) %{_libdir}/libsvn_ra_local-1.so
955 %attr(755,root,root) %{_libdir}/libsvn_ra_serf-1.so
956 %attr(755,root,root) %{_libdir}/libsvn_ra_svn-1.so
957 %attr(755,root,root) %{_libdir}/libsvn_repos-1.so
958 %attr(755,root,root) %{_libdir}/libsvn_subr-1.so
959 %attr(755,root,root) %{_libdir}/libsvn_wc-1.so
960 %{_libdir}/libsvn_client-1.la
961 %{_libdir}/libsvn_delta-1.la
962 %{_libdir}/libsvn_diff-1.la
963 %{_libdir}/libsvn_fs-1.la
964 %if %{without net_client_only}
965 %{_libdir}/libsvn_fs_base-1.la
967 %{_libdir}/libsvn_fs_fs-1.la
968 %{_libdir}/libsvn_fs_util-1.la
969 %{_libdir}/libsvn_fs_x-1.la
970 %{_libdir}/libsvn_ra-1.la
971 %{_libdir}/libsvn_ra_local-1.la
972 %{_libdir}/libsvn_ra_serf-1.la
973 %{_libdir}/libsvn_ra_svn-1.la
974 %{_libdir}/libsvn_repos-1.la
975 %{_libdir}/libsvn_subr-1.la
976 %{_libdir}/libsvn_wc-1.la
978 # only for feature check, linking will fail (no libsvn_auth_gnome_keyring.so)
979 %{_pkgconfigdir}/libsvn_auth_gnome_keyring.pc
982 # only for feature check, linking will fail (no libsvn_auth_kwallet.so)
983 %{_pkgconfigdir}/libsvn_auth_kwallet.pc
985 %{_pkgconfigdir}/libsvn_client.pc
986 %{_pkgconfigdir}/libsvn_delta.pc
987 %{_pkgconfigdir}/libsvn_diff.pc
988 %{_pkgconfigdir}/libsvn_fs.pc
989 %if %{without net_client_only}
990 %{_pkgconfigdir}/libsvn_fs_base.pc
992 %{_pkgconfigdir}/libsvn_fs_fs.pc
993 %{_pkgconfigdir}/libsvn_fs_util.pc
994 %{_pkgconfigdir}/libsvn_fs_x.pc
995 %{_pkgconfigdir}/libsvn_ra.pc
996 %{_pkgconfigdir}/libsvn_ra_local.pc
997 %{_pkgconfigdir}/libsvn_ra_serf.pc
998 %{_pkgconfigdir}/libsvn_ra_svn.pc
999 %{_pkgconfigdir}/libsvn_repos.pc
1000 %{_pkgconfigdir}/libsvn_subr.pc
1001 %{_pkgconfigdir}/libsvn_wc.pc
1002 %{_includedir}/%{name}-1
1003 %{_examplesdir}/%{name}-%{version}
1005 %if %{with static_libs}
1007 %defattr(644,root,root,755)
1008 %{_libdir}/libsvn_client-1.a
1009 %{_libdir}/libsvn_delta-1.a
1010 %{_libdir}/libsvn_diff-1.a
1011 %{_libdir}/libsvn_fs-1.a
1012 %if %{without net_client_only}
1013 %{_libdir}/libsvn_fs_base-1.a
1015 %{_libdir}/libsvn_fs_fs-1.a
1016 %{_libdir}/libsvn_fs_util-1.a
1017 %{_libdir}/libsvn_fs_x-1.a
1018 %{_libdir}/libsvn_ra-1.a
1019 %{_libdir}/libsvn_ra_local-1.a
1020 %{_libdir}/libsvn_ra_serf-1.a
1021 %{_libdir}/libsvn_ra_svn-1.a
1022 %{_libdir}/libsvn_repos-1.a
1023 %{_libdir}/libsvn_subr-1.a
1024 %{_libdir}/libsvn_wc-1.a
1028 %files -n gnome-keyring-subversion
1029 %defattr(644,root,root,755)
1030 %attr(755,root,root) %{_libdir}/libsvn_auth_gnome_keyring-1.so.*.*.*
1031 %attr(755,root,root) %ghost %{_libdir}/libsvn_auth_gnome_keyring-1.so.0
1032 # does anything use it? requires libsvn_auth_gnome_keyring.so
1033 #%{_pkgconfigdir}/libsvn_auth_gnome_keyring.pc
1037 %files -n kde5-kwallet-subversion
1038 %defattr(644,root,root,755)
1039 %attr(755,root,root) %{_libdir}/libsvn_auth_kwallet-1.so.*.*.*
1040 %attr(755,root,root) %ghost %{_libdir}/libsvn_auth_kwallet-1.so.0
1041 # does anything use it? requires libsvn_auth_kwallet.so
1042 #%{_pkgconfigdir}/libsvn_auth_kwallet.pc
1045 %if %{without net_client_only}
1047 %defattr(644,root,root,755)
1048 %attr(755,root,root) %{_bindir}/svnserve
1049 %{_mandir}/man5/svnserve.conf.5*
1050 %{_mandir}/man8/svnserve.8*
1051 %dir %attr(750,svn,svn) /home/services/subversion
1052 %dir %attr(750,svn,svn) /home/services/subversion/repos
1054 %attr(754,root,root) /etc/rc.d/init.d/svnserve
1055 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/svnserve
1059 %defattr(644,root,root,755)
1060 # tools/backup/hot-backup.py
1061 %attr(755,root,root) %{_bindir}/svn-hot-backup
1064 %attr(755,root,root) %{_bindir}/svndiff
1065 %attr(755,root,root) %{_bindir}/svndiff3
1066 %attr(755,root,root) %{_bindir}/svndiff4
1069 %attr(755,root,root) %{_bindir}/svnfsfs
1070 %attr(755,root,root) %{_bindir}/svn-populate-node-origins-index
1071 %attr(755,root,root) %{_bindir}/svnauthz
1072 %attr(755,root,root) %{_bindir}/svnauthz-validate
1075 %attr(755,root,root) %{_bindir}/svnbench
1077 # tools/dev/svnraisetreeconflict
1078 %attr(755,root,root) %{_bindir}/svnraisetreeconflict
1081 %attr(755,root,root) %{_bindir}/fsfs-access-map
1082 %attr(755,root,root) %{_bindir}/x509-parser
1084 %files -n bash-completion-subversion
1085 %defattr(644,root,root,755)
1086 /etc/bash_completion.d/%{name}
1088 %endif # net_client_only
1091 %files -n java-subversion
1092 %defattr(644,root,root,755)
1093 %attr(755,root,root) %{_libdir}/libsvnjavahl-1.so.*.*.*
1094 %attr(755,root,root) %ghost %{_libdir}/libsvnjavahl-1.so.0
1095 %attr(755,root,root) %{_libdir}/libsvnjavahl-1.so
1096 %{_javadir}/svn-javahl.jar
1101 %files -n python-subversion
1102 %defattr(644,root,root,755)
1103 %attr(755,root,root) %{_libdir}/libsvn_swig_py2-1.so.*.*.*
1104 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_py2-1.so.0
1105 %attr(755,root,root) %{_libdir}/libsvn_swig_py2-1.so
1106 %dir %{py_sitedir}/libsvn
1107 %attr(755,root,root) %{py_sitedir}/libsvn/_*.so
1108 %{py_sitedir}/libsvn/*.py[co]
1109 %dir %{py_sitedir}/svn
1110 %{py_sitedir}/svn/*.py[co]
1111 %{_examplesdir}/python-%{name}-%{version}
1115 %files -n python-csvn
1116 %defattr(644,root,root,755)
1117 %doc subversion/bindings/ctypes-python/{README,TODO}
1118 %doc subversion/bindings/ctypes-python/examples/*.py
1119 %{py_sitescriptdir}/csvn
1120 %{py_sitescriptdir}/svn_ctypes_python_bindings-0.1-py*.egg-info
1126 %files -n python3-subversion
1127 %defattr(644,root,root,755)
1128 %attr(755,root,root) %{_libdir}/libsvn_swig_py-1.so.*.*.*
1129 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_py-1.so.0
1130 %attr(755,root,root) %{_libdir}/libsvn_swig_py-1.so
1131 %dir %{py3_sitedir}/libsvn
1132 %attr(755,root,root) %{py3_sitedir}/libsvn/_*.so
1133 %{py3_sitedir}/libsvn/*.py
1134 %{py3_sitedir}/libsvn/__pycache__
1135 %dir %{py3_sitedir}/svn
1136 %{py3_sitedir}/svn/*.py
1137 %{py3_sitedir}/svn/__pycache__
1138 %{_examplesdir}/python3-%{name}-%{version}
1142 %files -n python3-csvn
1143 %defattr(644,root,root,755)
1144 %doc subversion/bindings/ctypes-python/{README,TODO}
1145 %doc subversion/bindings/ctypes-python/examples/*.py
1146 %{py3_sitescriptdir}/csvn
1147 %{py3_sitescriptdir}/svn_ctypes_python_bindings-0.1-py*.egg-info
1152 %files -n perl-subversion
1153 %defattr(644,root,root,755)
1154 %attr(755,root,root) %{_libdir}/libsvn_swig_perl-1.so.*.*.*
1155 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_perl-1.so.0
1156 %attr(755,root,root) %{_libdir}/libsvn_swig_perl-1.so
1157 %{perl_vendorarch}/SVN
1158 %dir %{perl_vendorarch}/auto/SVN
1159 %dir %{perl_vendorarch}/auto/SVN/*
1160 %attr(755,root,root) %{perl_vendorarch}/auto/SVN/*/*.so
1161 %{_mandir}/man3/SVN::*.3pm*
1165 %files -n ruby-subversion
1166 %defattr(644,root,root,755)
1167 %attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so.*.*.*
1168 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_ruby-1.so.0
1169 %attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so
1170 %dir %{ruby_vendorarchdir}/svn
1171 %{ruby_vendorarchdir}/svn/*.rb
1172 %dir %{ruby_vendorarchdir}/svn/ext
1173 %attr(755,root,root) %{ruby_vendorarchdir}/svn/ext/*.so
1178 %files -n apache-mod_dav_svn
1179 %defattr(644,root,root,755)
1180 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_dav_svn.conf
1181 %attr(755,root,root) %{apachelibdir}/mod_dav_svn.so
1183 %files -n apache-mod_authz_svn
1184 %defattr(644,root,root,755)
1185 %doc subversion/mod_authz_svn/INSTALL
1186 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_authz_svn.conf
1187 %attr(755,root,root) %{apachelibdir}/mod_authz_svn.so
1189 %files -n apache-mod_dontdothat_svn
1190 %defattr(644,root,root,755)
1191 %doc tools/server-side/mod_dontdothat/README
1192 %attr(755,root,root) %{apachelibdir}/mod_dontdothat.so