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)
21 %if %{with net_client_only}
36 %undefine with_kwallet
39 %undefine with_python2
40 %undefine with_python3
44 %if %{without swigpy} && %{without perl} && %{without ruby}
48 %define apxs /usr/sbin/apxs
52 %define use_jdk openjdk8
54 Summary: A Concurrent Versioning system similar to but better than CVS
55 Summary(pl.UTF-8): System kontroli wersji podobny, ale lepszy, niż CVS
56 Summary(pt_BR.UTF-8): Sistema de versionamento concorrente
61 Group: Development/Version Control
62 Source0: https://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2
63 # Source0-md5: 19756a5ceb32a022698a66e48616ef6b
64 Source1: %{name}-dav_svn.conf
65 Source2: %{name}-authz_svn.conf
66 Source3: %{name}-svnserve.init
67 Source4: %{name}-svnserve.sysconfig
68 Patch0: %{name}-home_etc.patch
69 Patch1: %{name}-DESTDIR.patch
70 Patch2: %{name}-ruby-datadir-path.patch
71 Patch3: %{name}-tests.patch
72 Patch4: x32-libdir.patch
73 Patch5: %{name}-sh.patch
74 Patch6: %{name}-ctypes.patch
75 Patch7: %{name}-perl.patch
76 Patch8: %{name}-swig-py.patch
77 URL: http://subversion.apache.org/
78 %{?with_apache:BuildRequires: apache-devel >= 2.4.14}
79 BuildRequires: apr-devel >= 1:1.4
80 BuildRequires: apr-util-devel >= 1:1.3
81 BuildRequires: apr-util-crypto-openssl
82 BuildRequires: autoconf >= 2.59
83 BuildRequires: automake
85 BuildRequires: cyrus-sasl-devel
86 %if %{with kwallet} || %{with gnome}
87 BuildRequires: dbus-devel
89 %{!?with_db6:BuildRequires: db-devel < 6}
90 BuildRequires: db-devel >= 4.1.25
91 BuildRequires: expat-devel
92 BuildRequires: gettext-tools
93 %{?with_gnome:BuildRequires: glib2-devel >= 2.0}
94 %{?with_kde:BuildRequires: kf5-kdelibs4support-devel}
95 %{?with_kwallet:BuildRequires: kf5-kwallet-devel}
96 %{?with_gnome:BuildRequires: libgnome-keyring-devel}
97 %{?with_gnome:BuildRequires: libsecret-devel}
98 BuildRequires: libmagic-devel
99 BuildRequires: libtool >= 2:2
100 BuildRequires: libutf8proc-devel >= 1.3.1-4
101 BuildRequires: lz4-devel
102 BuildRequires: pkgconfig
104 BuildRequires: python >= 1:2.7
105 %{?with_csvn:BuildRequires: python-ctypesgen >= 1.0.2}
106 %{?with_swigpy:BuildRequires: python-modules >= 1:2.7}
109 BuildRequires: python3 >= 1:3.2
110 %{?with_csvn:BuildRequires: python3-ctypesgen >= 1.0.2}
111 %{?with_swigpy:BuildRequires: python3-modules >= 1:3.2}
113 BuildRequires: rpm-build >= 4.6
114 BuildRequires: rpm-pythonprov
115 BuildRequires: rpmbuild(macros) >= 1.752
116 BuildRequires: sed >= 4.0
117 BuildRequires: serf-devel >= 1.3.4
118 BuildRequires: sqlite3-devel >= 3.8.11.1
119 BuildRequires: texinfo
121 BuildRequires: zlib-devel >= 1.2
123 BuildRequires: openjdk8-jdk-base
124 BuildRequires: libstdc++-devel >= 6:4.7
127 BuildRequires: perl-devel >= 1:5.8.0
128 BuildRequires: rpm-perlprov >= 4.1-13
129 BuildRequires: swig-perl >= 1.3.24
131 %if %{with python2} || %{with python3}
135 BuildRequires: python-devel >= 1:2.7
136 BuildRequires: swig3-python >= 3.0.12
137 BuildRequires: swig3-python < 4.0.0
140 BuildRequires: python3-devel >= 1:3.2
141 BuildRequires: swig-python >= 4.0.0
144 BuildRequires: rpm-rubyprov
145 BuildRequires: ruby-devel >= 1:1.8.2
146 BuildRequires: ruby-irb
147 BuildRequires: ruby-rubygems
148 BuildRequires: swig-ruby >= 3.0.9
150 Requires: %{name}-libs = %{version}-%{release}
151 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
153 %define _libexecdir %{_libdir}/svn
154 %define apacheconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d
155 %define apachelibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
157 %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.*
160 The goal of the Subversion project is to build a version control
161 system that is a compelling replacement for CVS in the open source
165 - All current CVS features.
166 - Directories, renames, and file meta-data are versioned.
167 - Symbolic links, etc, are supported
168 - Commits are truly atomic.
169 - Branching and tagging are cheap (constant time) operations
170 - Repeated merges are handled gracefully
171 - Support for plug-in client side diff programs
172 - Natively client/server
173 - Client/server protocol sends diffs in both directions
174 - Costs are proportional to change size, not project size
175 - Internationalization
176 - Progressive multi-lingual support
178 %description -l pl.UTF-8
179 Celem projektu Subversion jest stworzenie systemu kontroli wersji jako
183 - Wszystkie aktualne możliwości CVS.
184 - Katalogi, zmiany nazw oraz metadane plików są wersjonowane.
185 - Obsługa dowiązań symbolicznych itp.
186 - Commity są w pełni atomowe.
187 - Branchowanie oraz tagowanie są tanimi (stałymi w czasie) operacjami.
188 - Dobra obsługa powtarzanego łączenia (merge).
189 - Obsługa wtyczek diff po stronie klienta.
190 - Natywny klient/serwer.
191 - Klient/Serwer przesyłają diffy w obu kierunkach.
192 - Koszty proporcjonalne do rozmiaru zmiany, a nie rozmiaru projektu.
193 - Internacjonalizacja.
194 - Postępujące wsparcie dla wielu języków.
196 %description -l pt_BR.UTF-8
197 O objetivo do projeto Subversion é construir um sistema de controle de
198 versões que seja um substituto para o CVS (Concurrent Versioning
199 System) na comunidade opensource, fornecendo grandes melhorias.
202 Summary: Subversion libraries and modules
203 Summary(pl.UTF-8): Biblioteka subversion oraz ładowalne moduły
205 Requires: apr >= 1:1.4
206 Requires: apr-util >= 1:1.3
207 Requires: serf >= 1.3.4
208 %requires_ge_to sqlite3-libs sqlite3-devel
209 Requires: zlib >= 1.2
210 Obsoletes: libsubversion0 < 1
213 Subversion libraries and modules.
215 %description libs -l pl.UTF-8
216 Biblioteka subversion oraz ładowalne moduły.
219 Summary: Header files and develpment documentation for subversion
220 Summary(pl.UTF-8): Pliki nagłówkowe i dokumetacja do subversion
221 Summary(pt_BR.UTF-8): Arquivos de desenvolvimento para o Subversion
222 Group: Development/Libraries
223 Requires: %{name}-libs = %{version}-%{release}
224 Requires: apr-util-devel >= 1:1.3
225 Requires: libutf8proc-devel >= 1.3.1-4
226 Requires: serf-devel >= 1.3.4
227 Obsoletes: libsubversion0-devel < 1
230 Header files and develpment documentation for subversion.
232 %description devel -l pl.UTF-8
233 Pliki nagłówkowe i dokumetacja do subversion.
235 %description devel -l pt_BR.UTF-8
236 Este pacote provê os arquivos necessários para desenvolvedores
237 interagirem com o Subversion.
240 Summary: Static subversion library
241 Summary(pl.UTF-8): Biblioteka statyczna subversion
242 Summary(pt_BR.UTF-8): Sistema de versionamento concorrente
243 Group: Development/Libraries
244 Requires: %{name}-devel = %{version}
245 Obsoletes: libsubversion0-static-devel < 1
248 Static subversion library.
250 %description static -l pl.UTF-8
251 Biblioteka statyczna subversion.
253 %description static -l pt_BR.UTF-8
254 Este pacote provê um cliente estático do subversion.
257 Summary: Subversion svnserve
258 Summary(pl.UTF-8): Subversion svnserve
259 Group: Networking/Daemons
260 Requires(post,preun): /sbin/chkconfig
261 Requires(postun): /usr/sbin/groupdel
262 Requires(postun): /usr/sbin/userdel
263 Requires(pre): /bin/id
264 Requires(pre): /usr/bin/getgid
265 Requires(pre): /usr/lib/rpm/user_group.sh
266 Requires(pre): /usr/sbin/groupadd
267 Requires(pre): /usr/sbin/useradd
268 Requires(pre): /usr/sbin/usermod
269 Requires: %{name} = %{version}-%{release}
274 %description svnserve
275 Subversion svnserve server.
277 %description svnserve -l pl.UTF-8
278 Serwer subversion svnserve.
281 Summary: Subversion tools and scripts
282 Summary(pl.UTF-8): Narzędzia oraz skrypty dla subversion
283 Summary(pt_BR.UTF-8): Módulos python para acessar os recursos do Subversion
284 Group: Development/Version Control
285 Requires: %{name} = %{version}-%{release}
288 Subversion tools and scripts.
290 %description tools -l pl.UTF-8
291 Narzędzia oraz skrypty dla subversion.
293 %package -n bash-completion-subversion
294 Summary: bash completion for subversion
295 Summary(pl.UTF-8): Dopełnienia basha dla subversion
296 Group: Applications/Shells
297 Requires: %{name} = %{version}-%{release}
298 Requires: bash-completion
299 Conflicts: %{name}-tools <= 1.1.0-0.rc6.1
302 %description -n bash-completion-subversion
303 Bash completion for subversion.
305 %description -n bash-completion-subversion -l pl.UTF-8
306 Dopełnienia basha dla subversion.
308 %package -n java-subversion
309 Summary: Subversion Java bindings
310 Summary(pl.UTF-8): Dowiązania do Subversion dla Javy
311 Group: Development/Languages/Java
312 Requires: %{name}-libs = %{version}-%{release}
314 %description -n java-subversion
315 This is a set of Java classes which provide the functionality of
316 subversion-libs, the Subversion libraries. It is useful if you want
317 to, for example, write a Java class that manipulates a Subversion
318 repository or working copy. See the 'subversion' package for more
321 %description -n java-subversion -l pl.UTF-8
322 Ten pakiet zawiera zestaw klas Javy udostępniających funkcjonalność
323 subversion-libs, czyli bibliotek Subversion. Jest przydatny przy
324 pisaniu klas Javy np. modyfikujących repozytorium Subversion lub kopię
325 roboczą. Więcej informacji w pakiecie subversion.
327 %package -n python-subversion
328 Summary: Subversion Python 2 bindings
329 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 2
330 Summary(pt_BR.UTF-8): Módulos Python 2 para acessar os recursos do Subversion
331 Group: Development/Languages/Python
332 Requires: %{name}-libs = %{version}-%{release}
333 Requires: python-modules >= 1:2.7
334 Obsoletes: subversion-python < 0.14.1
336 %description -n python-subversion
337 Subversion Python 2 bindings.
339 %description -n python-subversion -l pl.UTF-8
340 Dowiązania do Subversion dla Pythona 2.
342 %description -n python-subversion -l pt_BR.UTF-8
343 Módulos Python 2 para acessar os recursos do Subversion.
345 %package -n python-csvn
346 Summary: CTypes Subversion Python 2 bindings
347 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 2
348 Summary(pt_BR.UTF-8): Módulos Python 2 para acessar os recursos do Subversion
349 Group: Development/Languages/Python
350 Requires: %{name}-libs = %{version}-%{release}
351 Requires: python-modules >= 1:2.7
353 %description -n python-csvn
354 Subversion CTypes Python 2 bindings.
356 %description -n python-csvn -l pl.UTF-8
357 Dowiązania do Subversion dla Pythona 2 używające CTypes.
359 %description -n python-csvn -l pt_BR.UTF-8
360 Módulos Python 2 para acessar os recursos do Subversion.
362 %package -n python3-subversion
363 Summary: Subversion Python 3 bindings
364 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 3
365 Summary(pt_BR.UTF-8): Módulos Python 3 para acessar os recursos do Subversion
366 Group: Development/Languages/Python
367 Requires: %{name}-libs = %{version}-%{release}
368 Requires: python3-modules >= 1:3.2
369 Obsoletes: subversion-python < 0.14.1
371 %description -n python3-subversion
372 Subversion Python 3 bindings.
374 %description -n python3-subversion -l pl.UTF-8
375 Dowiązania do Subversion dla Pythona 3.
377 %description -n python3-subversion -l pt_BR.UTF-8
378 Módulos Python 3 para acessar os recursos do Subversion.
380 %package -n python3-csvn
381 Summary: CTypes Subversion Python 3 bindings
382 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 3
383 Summary(pt_BR.UTF-8): Módulos Python 3 para acessar os recursos do Subversion
384 Group: Development/Languages/Python
385 Requires: %{name}-libs = %{version}-%{release}
386 Requires: python3-modules >= 1:3.2
388 %description -n python3-csvn
389 Subversion CTypes Python 3 bindings.
391 %description -n python3-csvn -l pl.UTF-8
392 Dowiązania do Subversion dla Pythona 3 używające CTypes.
394 %description -n python3-csvn -l pt_BR.UTF-8
395 Módulos Python 3 para acessar os recursos do Subversion.
397 %package -n perl-subversion
398 Summary: Subversion Perl bindings
399 Summary(pl.UTF-8): Dowiązania do Subversion dla Perla
400 Summary(pt_BR.UTF-8): Módulos Perl para acessar os recursos do Subversion
401 Group: Development/Languages/Perl
402 Requires: %{name}-libs = %{version}-%{release}
403 Obsoletes: subversion-perl < 0.33.1-2
405 %description -n perl-subversion
406 Subversion Perl bindings.
408 %description -n perl-subversion -l pl.UTF-8
409 Dowiązania do Subversion dla Perla.
411 %description -n perl-subversion -l pt_BR.UTF-8
412 Módulos Perl para acessar os recursos do Subversion.
414 %package -n ruby-subversion
415 Summary: Subversion Ruby bindings
416 Summary(pl.UTF-8): Dowiązania do Subversion dla języka Ruby
417 Summary(pt_BR.UTF-8): Módulos Ruby para acessar os recursos do Subversion
418 Group: Development/Languages
419 Requires: %{name}-libs = %{version}-%{release}
420 Obsoletes: subversion-ruby < 1.5.0-1
422 %description -n ruby-subversion
423 Subversion Ruby bindings.
425 %description -n ruby-subversion -l pl.UTF-8
426 Dowiązania do Subversion dla języka Ruby.
428 %description -n ruby-subversion -l pt_BR.UTF-8
429 Módulos Ruby para acessar os recursos do Subversion.
431 %package -n apache-mod_dav_svn
432 Summary: Apache module: Subversion Server
433 Summary(pl.UTF-8): Moduł Apache'a: serwer Subversion
434 Group: Networking/Daemons
435 Requires: %{name} = %{version}-%{release}
436 Requires: apache(modules-api) = %apache_modules_api
437 Requires: apache-mod_dav
439 %description -n apache-mod_dav_svn
440 Apache module: Subversion Server.
442 %description -n apache-mod_dav_svn -l pl.UTF-8
443 Moduł Apache'a: serwer Subversion.
445 %package -n apache-mod_authz_svn
446 Summary: Apache module: Subversion Server - path-based authorization
447 Summary(pl.UTF-8): Moduł Apache'a: autoryzacja na podstawie ścieżki dla serwera Subversion
448 Group: Networking/Daemons
449 Requires: %{name}-libs = %{version}-%{release}
450 Requires: apache(modules-api) = %apache_modules_api
451 Requires: apache-mod_dav_svn = %{version}-%{release}
453 %description -n apache-mod_authz_svn
454 Apache module: Subversion Server - path-based authorization.
456 %description -n apache-mod_authz_svn -l pl.UTF-8
457 Moduł Apache'a: autoryzacja na podstawie ścieżki dla serwera
460 %package -n apache-mod_dontdothat_svn
461 Summary: Apache module: Allows you to block specific svn requests
462 Summary(pl.UTF-8): Moduł Apache'a pozwalający na blokowanie pewnych zapytań svn
463 Group: Networking/Daemons
464 Requires: %{name}-libs = %{version}-%{release}
465 Requires: apache(modules-api) = %apache_modules_api
466 Requires: apache-mod_dav_svn = %{version}-%{release}
468 %description -n apache-mod_dontdothat_svn
469 Apache module: Allows you to block specific svn requests.
471 %description -n apache-mod_dontdothat_svn -l pl.UTF-8
472 Moduł Apache'a pozwalający na blokowanie pewnych zapytań svn.
474 %package -n gnome-keyring-subversion
475 Summary: GNOME Keyring authentication provider for Subversion
476 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Subversion
477 Group: X11/Applications
478 Requires: %{name}-libs = %{version}-%{release}
480 %description -n gnome-keyring-subversion
481 Authentication provider module for Subversion which allows SVN client
482 to authenticate using GNOME Keyring.
484 %description -n gnome-keyring-subversion -l pl.UTF-8
485 Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
486 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
488 %package -n kde5-kwallet-subversion
489 Summary: KDE Wallet authentication provider for Subversion
490 Summary(pl.UTF-8): Moduł uwierzytelniający dla Subversion wykorzystujący Portfel KDE
491 Group: X11/Applications
492 Requires: %{name}-libs = %{version}-%{release}
494 %description -n kde5-kwallet-subversion
495 Authentication provider module for Subversion which allows SVN client
496 to authenticate using KDE Wallet.
498 %description -n kde5-kwallet-subversion -l pl.UTF-8
499 Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
500 uwierzytelniać się przy użyciu Portfela KDE.
514 %{__sed} -i -e 's#serf_prefix/lib#serf_prefix/%{_lib}#g' build/ac-macros/serf.m4
516 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},' tools/backup/hot-backup.py.in
519 # FIXME: don't hide autotools invocation
520 # (but this script could do more, e.g. swig regeneration)
521 chmod +x ./autogen.sh && ./autogen.sh
523 install -d builddir-python2
526 ac_cv_path_RUBY=none \
528 --disable-mod-activation \
530 --without-berkeley-db \
532 --with-ctypesgen=%{_bindir}/ctypesgen-2 \
534 --without-gnome-keyring \
536 --with-serf=%{_prefix} \
537 --with-swig=/usr/bin/swig-3 \
538 --with-zlib=%{_libdir}
540 # required with separate builddir and only some subcomponents
541 install -d subversion/{bindings/swig/python,mod_dav_svn/{posts,reports},po} tools/server-side/mod_dontdothat
544 # Python ctypes bindings
545 %{__make} -j1 ctypes-python
548 # Python swig bindings
549 %{__make} -j1 swig-py \
551 swig_pydir=%{py_sitedir}/libsvn \
552 swig_pydir_extra=%{py_sitedir}/svn
557 %{__make} -j1 check-ctypes-python
560 %{__make} -j1 check-swig-py
569 PYTHON=%{__python3} \
570 --disable-mod-activation \
571 --disable-runtime-module-search \
572 --with-apr=%{_bindir}/apr-1-config \
573 --with-apr-util=%{_bindir}/apu-1-config \
575 --with-serf=%{_prefix} \
576 --with-zlib=%{_libdir} \
578 --with-apache-libexecdir="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
579 --with-apxs=%{_sbindir}/apxs \
584 --with-berkeley-db="db.h:%{_includedir}:%{_libdir}:db" \
585 %{?with_db6:--enable-bdb6} \
587 --without-berkeley-db \
589 %if %{with python3} && %{with csvn}
590 --with-ctypesgen=%{_bindir}/ctypesgen-3 \
593 --with-gnome-keyring \
602 --with-swig=/usr/bin/swig \
605 svn_cv_ruby_sitedir_libsuffix="" \
606 svn_cv_ruby_sitedir_archsuffix="" \
607 --with-ruby-sitedir=%{ruby_vendorarchdir} \
609 ac_cv_path_RUBY=none \
613 --with-jdk="%{java_home}" \
625 # Python ctypes bindings
626 %{__make} ctypes-python
629 # Python swig bindings
631 swig_pydir=%{py3_sitedir}/libsvn \
632 swig_pydir_extra=%{py3_sitedir}/svn
638 %{__make} -j1 swig-pl
641 %{__make} -j1 javahl \
642 javahl_javadir="%{_javadir}"
651 %if %{with python3} && %{with csvn}
652 %{__make} -j1 check-ctypes-python
654 %if %{with python3} && %{with swigpy}
655 %{__make} -j1 check-swig-py
658 %{__make} -j1 check-swig-pl
661 # disabled, see https://bugs.launchpad.net/pld-linux/+bug/734340
662 #%{__make} check-swig-rb
667 rm -rf $RPM_BUILD_ROOT
668 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,bash_completion.d} \
669 $RPM_BUILD_ROOT{%{apacheconfdir},%{apachelibdir},%{_infodir}} \
670 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
671 $RPM_BUILD_ROOT%{_sysconfdir}/%{name} \
672 $RPM_BUILD_ROOT/home/services/subversion/repos
676 %{__make} -C builddir-python2 -j1 install-lib install-fsmod-lib install-ctypes-python \
677 DESTDIR=$RPM_BUILD_ROOT \
678 PY_INSTALLOPTS="--install-purelib=%{py_sitescriptdir}" \
679 pkgconfig_dir=%{_pkgconfigdir}
683 %{__make} -C builddir-python2 -j1 install-swig-py \
684 DESTDIR=$RPM_BUILD_ROOT \
686 swig_pydir=%{py_sitedir}/libsvn \
687 swig_pydir_extra=%{py_sitedir}/svn
691 %{__make} -C builddir -j1 install \
692 pkgconfig_dir=%{_pkgconfigdir} \
693 toolsdir=%{_bindir} \
694 DESTDIR=$RPM_BUILD_ROOT \
695 APACHE_LIBEXECDIR="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
698 javahl_javadir="%{_javadir}" \
700 %if %{with python3} && %{with csvn}
701 install-ctypes-python \
702 PY_INSTALLOPTS="--install-purelib=%{py3_sitescriptdir}" \
704 %if %{with python3} && %{with swigpy}
706 swig_pydir=%{py3_sitedir}/libsvn \
707 swig_pydir_extra=%{py3_sitedir}/svn \
711 %if 0 && %{with csvn}
712 # manually execute install-ctypes-python target
713 cd subversion/bindings/ctypes-python
719 %{__make} -C builddir -j1 install-swig-rb install-swig-rb-doc \
720 SWIG_RB_RI_DATADIR=$RPM_BUILD_ROOT%{ruby_ridir} \
721 DESTDIR=$RPM_BUILD_ROOT
724 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/OptionParser
725 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/Time
726 %if "%{ruby_abi}" >= "2.0"
727 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/File
729 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
730 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
734 %{__make} -C builddir install-swig-pl \
735 DESTDIR=$RPM_BUILD_ROOT
739 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{apacheconfdir}/65_mod_dav_svn.conf
740 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{apacheconfdir}/66_mod_authz_svn.conf
741 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/svnserve
742 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/svnserve
745 %if %{without net_client_only}
746 install -p builddir/tools/backup/hot-backup.py $RPM_BUILD_ROOT%{_bindir}/svn-hot-backup
749 # rename not to conflict with standard packages. (are these needed at all?)
750 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff
751 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff3
752 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff4
756 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
757 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
758 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/libsvn/*.la
759 install -d $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}
760 cp -p tools/examples/*.py $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}
761 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}/*.py
766 %if %{with python3} && %{with swigpy}
767 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
768 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
769 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/libsvn/*.la
770 install -d $RPM_BUILD_ROOT%{_examplesdir}/python3-%{name}-%{version}
771 cp -p tools/examples/*.py $RPM_BUILD_ROOT%{_examplesdir}/python3-%{name}-%{version}
772 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},' $RPM_BUILD_ROOT%{_examplesdir}/python3-%{name}-%{version}/*.py
775 cp -p tools/client-side/bash_completion $RPM_BUILD_ROOT/etc/bash_completion.d/%{name}
776 cp -p tools/examples/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
779 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.{la,a}
782 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_swig*.{la,a}
784 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/svn/ext/*.la
787 %if %{with gnome} || %{with kwallet}
788 # dlopened by soname (libsvn_auth_*-1.so.0)
789 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_auth_*-1.{so,la}
795 rm -rf $RPM_BUILD_ROOT
799 %useradd -u 180 -d /home/services/subversion -c "Subversion svnserve" -g svn svn
801 %post libs -p /sbin/ldconfig
802 %postun libs -p /sbin/ldconfig
804 %post devel -p /sbin/postshell
805 -/usr/sbin/fix-info-dir -c %{_infodir}
807 %postun devel -p /sbin/postshell
808 -/usr/sbin/fix-info-dir -c %{_infodir}
810 %post -n java-subversion -p /sbin/ldconfig
811 %postun -n java-subversion -p /sbin/ldconfig
813 %post -n perl-subversion -p /sbin/ldconfig
814 %postun -n perl-subversion -p /sbin/ldconfig
816 %post -n python-subversion -p /sbin/ldconfig
817 %postun -n python-subversion -p /sbin/ldconfig
819 %post -n python3-subversion -p /sbin/ldconfig
820 %postun -n python3-subversion -p /sbin/ldconfig
822 %post -n ruby-subversion -p /sbin/ldconfig
823 %postun -n ruby-subversion -p /sbin/ldconfig
825 %post -n gnome-keyring-subversion -p /sbin/ldconfig
826 %postun -n gnome-keyring-subversion -p /sbin/ldconfig
828 %post -n kde5-kwallet-subversion -p /sbin/ldconfig
829 %postun -n kde5-kwallet-subversion -p /sbin/ldconfig
832 /sbin/chkconfig --add svnserve
833 %service svnserve restart "svnserve daemon"
836 if [ "$1" = "0" ]; then
837 %service svnserve stop
838 /sbin/chkconfig --del svnserve
842 if [ "$1" = "0" ]; then
847 %post -n apache-mod_dav_svn
848 %service -q httpd restart
850 %postun -n apache-mod_dav_svn
851 if [ "$1" = "0" ]; then
852 %service -q httpd restart
855 %post -n apache-mod_authz_svn
856 %service -q httpd restart
858 %postun -n apache-mod_authz_svn
859 if [ "$1" = "0" ]; then
860 %service -q httpd restart
863 %post -n apache-mod_dontdothat_svn
864 %service -q httpd restart
866 %postun -n apache-mod_dontdothat_svn
867 if [ "$1" = "0" ]; then
868 %service -q httpd restart
872 %defattr(644,root,root,755)
873 %doc BUGS CHANGES INSTALL README
875 %doc builddir/tools/hook-scripts/*.pl
876 %doc tools/hook-scripts/*.{py,example}
877 %doc tools/hook-scripts/mailer/*.{py,example}
879 %attr(755,root,root) %{_bindir}/fsfs-stats
880 %attr(755,root,root) %{_bindir}/svn
881 %attr(755,root,root) %{_bindir}/svn-mergeinfo-normalizer
882 %attr(755,root,root) %{_bindir}/svnadmin
883 %attr(755,root,root) %{_bindir}/svnconflict
884 %attr(755,root,root) %{_bindir}/svndumpfilter
885 %attr(755,root,root) %{_bindir}/svnlook
886 %attr(755,root,root) %{_bindir}/svnmover
887 %attr(755,root,root) %{_bindir}/svnmucc
888 %attr(755,root,root) %{_bindir}/svnrdump
889 %attr(755,root,root) %{_bindir}/svnsync
890 %attr(755,root,root) %{_bindir}/svnversion
891 %{_mandir}/man1/svn.1*
892 %{_mandir}/man1/svnadmin.1*
893 %{_mandir}/man1/svndumpfilter.1*
894 %{_mandir}/man1/svnrdump.1*
895 %{_mandir}/man1/svnlook.1*
896 %{_mandir}/man1/svnmucc.1*
897 %{_mandir}/man1/svnsync.1*
898 %{_mandir}/man1/svnversion.1*
900 %files libs -f %{name}.lang
901 %defattr(644,root,root,755)
902 %dir %{_sysconfdir}/%{name}
903 %attr(755,root,root) %{_libdir}/libsvn_client-1.so.*.*.*
904 %attr(755,root,root) %ghost %{_libdir}/libsvn_client-1.so.0
905 %attr(755,root,root) %{_libdir}/libsvn_delta-1.so.*.*.*
906 %attr(755,root,root) %ghost %{_libdir}/libsvn_delta-1.so.0
907 %attr(755,root,root) %{_libdir}/libsvn_diff-1.so.*.*.*
908 %attr(755,root,root) %ghost %{_libdir}/libsvn_diff-1.so.0
909 %attr(755,root,root) %{_libdir}/libsvn_fs-1.so.*.*.*
910 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs-1.so.0
911 %if %{without net_client_only}
912 %attr(755,root,root) %{_libdir}/libsvn_fs_base-1.so.*.*.*
913 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_base-1.so.0
915 %attr(755,root,root) %{_libdir}/libsvn_fs_fs-1.so.*.*.*
916 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_fs-1.so.0
917 %attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so.*.*.*
918 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_util-1.so.0
919 %attr(755,root,root) %{_libdir}/libsvn_fs_x-1.so.*.*.*
920 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_x-1.so.0
921 %attr(755,root,root) %{_libdir}/libsvn_ra-1.so.*.*.*
922 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra-1.so.0
923 %attr(755,root,root) %{_libdir}/libsvn_ra_local-1.so.*.*.*
924 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_local-1.so.0
925 %attr(755,root,root) %{_libdir}/libsvn_ra_serf-1.so.*.*.*
926 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_serf-1.so.0
927 %attr(755,root,root) %{_libdir}/libsvn_ra_svn-1.so.*.*.*
928 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_svn-1.so.0
929 %attr(755,root,root) %{_libdir}/libsvn_repos-1.so.*.*.*
930 %attr(755,root,root) %ghost %{_libdir}/libsvn_repos-1.so.0
931 %attr(755,root,root) %{_libdir}/libsvn_subr-1.so.*.*.*
932 %attr(755,root,root) %ghost %{_libdir}/libsvn_subr-1.so.0
933 %attr(755,root,root) %{_libdir}/libsvn_wc-1.so.*.*.*
934 %attr(755,root,root) %ghost %{_libdir}/libsvn_wc-1.so.0
937 %defattr(644,root,root,755)
938 %attr(755,root,root) %{_libdir}/libsvn_client-1.so
939 %attr(755,root,root) %{_libdir}/libsvn_delta-1.so
940 %attr(755,root,root) %{_libdir}/libsvn_diff-1.so
941 %attr(755,root,root) %{_libdir}/libsvn_fs-1.so
942 %if %{without net_client_only}
943 %attr(755,root,root) %{_libdir}/libsvn_fs_base-1.so
945 %attr(755,root,root) %{_libdir}/libsvn_fs_fs-1.so
946 %attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so
947 %attr(755,root,root) %{_libdir}/libsvn_fs_x-1.so
948 %attr(755,root,root) %{_libdir}/libsvn_ra-1.so
949 %attr(755,root,root) %{_libdir}/libsvn_ra_local-1.so
950 %attr(755,root,root) %{_libdir}/libsvn_ra_serf-1.so
951 %attr(755,root,root) %{_libdir}/libsvn_ra_svn-1.so
952 %attr(755,root,root) %{_libdir}/libsvn_repos-1.so
953 %attr(755,root,root) %{_libdir}/libsvn_subr-1.so
954 %attr(755,root,root) %{_libdir}/libsvn_wc-1.so
955 %{_libdir}/libsvn_client-1.la
956 %{_libdir}/libsvn_delta-1.la
957 %{_libdir}/libsvn_diff-1.la
958 %{_libdir}/libsvn_fs-1.la
959 %if %{without net_client_only}
960 %{_libdir}/libsvn_fs_base-1.la
962 %{_libdir}/libsvn_fs_fs-1.la
963 %{_libdir}/libsvn_fs_util-1.la
964 %{_libdir}/libsvn_fs_x-1.la
965 %{_libdir}/libsvn_ra-1.la
966 %{_libdir}/libsvn_ra_local-1.la
967 %{_libdir}/libsvn_ra_serf-1.la
968 %{_libdir}/libsvn_ra_svn-1.la
969 %{_libdir}/libsvn_repos-1.la
970 %{_libdir}/libsvn_subr-1.la
971 %{_libdir}/libsvn_wc-1.la
973 # only for feature check, linking will fail (no libsvn_auth_gnome_keyring.so)
974 %{_pkgconfigdir}/libsvn_auth_gnome_keyring.pc
977 # only for feature check, linking will fail (no libsvn_auth_kwallet.so)
978 %{_pkgconfigdir}/libsvn_auth_kwallet.pc
980 %{_pkgconfigdir}/libsvn_client.pc
981 %{_pkgconfigdir}/libsvn_delta.pc
982 %{_pkgconfigdir}/libsvn_diff.pc
983 %{_pkgconfigdir}/libsvn_fs.pc
984 %if %{without net_client_only}
985 %{_pkgconfigdir}/libsvn_fs_base.pc
987 %{_pkgconfigdir}/libsvn_fs_fs.pc
988 %{_pkgconfigdir}/libsvn_fs_util.pc
989 %{_pkgconfigdir}/libsvn_fs_x.pc
990 %{_pkgconfigdir}/libsvn_ra.pc
991 %{_pkgconfigdir}/libsvn_ra_local.pc
992 %{_pkgconfigdir}/libsvn_ra_serf.pc
993 %{_pkgconfigdir}/libsvn_ra_svn.pc
994 %{_pkgconfigdir}/libsvn_repos.pc
995 %{_pkgconfigdir}/libsvn_subr.pc
996 %{_pkgconfigdir}/libsvn_wc.pc
997 %{_includedir}/%{name}-1
998 %{_examplesdir}/%{name}-%{version}
1001 %defattr(644,root,root,755)
1002 %{_libdir}/libsvn_client-1.a
1003 %{_libdir}/libsvn_delta-1.a
1004 %{_libdir}/libsvn_diff-1.a
1005 %{_libdir}/libsvn_fs-1.a
1006 %if %{without net_client_only}
1007 %{_libdir}/libsvn_fs_base-1.a
1009 %{_libdir}/libsvn_fs_fs-1.a
1010 %{_libdir}/libsvn_fs_util-1.a
1011 %{_libdir}/libsvn_fs_x-1.a
1012 %{_libdir}/libsvn_ra-1.a
1013 %{_libdir}/libsvn_ra_local-1.a
1014 %{_libdir}/libsvn_ra_serf-1.a
1015 %{_libdir}/libsvn_ra_svn-1.a
1016 %{_libdir}/libsvn_repos-1.a
1017 %{_libdir}/libsvn_subr-1.a
1018 %{_libdir}/libsvn_wc-1.a
1021 %files -n gnome-keyring-subversion
1022 %defattr(644,root,root,755)
1023 %attr(755,root,root) %{_libdir}/libsvn_auth_gnome_keyring-1.so.*.*.*
1024 %attr(755,root,root) %ghost %{_libdir}/libsvn_auth_gnome_keyring-1.so.0
1025 # does anything use it? requires libsvn_auth_gnome_keyring.so
1026 #%{_pkgconfigdir}/libsvn_auth_gnome_keyring.pc
1030 %files -n kde5-kwallet-subversion
1031 %defattr(644,root,root,755)
1032 %attr(755,root,root) %{_libdir}/libsvn_auth_kwallet-1.so.*.*.*
1033 %attr(755,root,root) %ghost %{_libdir}/libsvn_auth_kwallet-1.so.0
1034 # does anything use it? requires libsvn_auth_kwallet.so
1035 #%{_pkgconfigdir}/libsvn_auth_kwallet.pc
1038 %if %{without net_client_only}
1040 %defattr(644,root,root,755)
1041 %attr(755,root,root) %{_bindir}/svnserve
1042 %{_mandir}/man5/svnserve.conf.5*
1043 %{_mandir}/man8/svnserve.8*
1044 %dir %attr(750,svn,svn) /home/services/subversion
1045 %dir %attr(750,svn,svn) /home/services/subversion/repos
1047 %attr(754,root,root) /etc/rc.d/init.d/svnserve
1048 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/svnserve
1052 %defattr(644,root,root,755)
1053 # tools/backup/hot-backup.py
1054 %attr(755,root,root) %{_bindir}/svn-hot-backup
1057 %attr(755,root,root) %{_bindir}/svndiff
1058 %attr(755,root,root) %{_bindir}/svndiff3
1059 %attr(755,root,root) %{_bindir}/svndiff4
1062 %attr(755,root,root) %{_bindir}/svnfsfs
1063 %attr(755,root,root) %{_bindir}/svn-populate-node-origins-index
1064 %attr(755,root,root) %{_bindir}/svnauthz
1065 %attr(755,root,root) %{_bindir}/svnauthz-validate
1068 %attr(755,root,root) %{_bindir}/svnbench
1070 # tools/dev/svnraisetreeconflict
1071 %attr(755,root,root) %{_bindir}/svnraisetreeconflict
1074 %attr(755,root,root) %{_bindir}/fsfs-access-map
1075 %attr(755,root,root) %{_bindir}/x509-parser
1077 %files -n bash-completion-subversion
1078 %defattr(644,root,root,755)
1079 /etc/bash_completion.d/%{name}
1081 %endif # net_client_only
1084 %files -n java-subversion
1085 %defattr(644,root,root,755)
1086 %attr(755,root,root) %{_libdir}/libsvnjavahl-1.so.*.*.*
1087 %attr(755,root,root) %ghost %{_libdir}/libsvnjavahl-1.so.0
1088 %attr(755,root,root) %{_libdir}/libsvnjavahl-1.so
1089 %{_javadir}/svn-javahl.jar
1094 %files -n python-subversion
1095 %defattr(644,root,root,755)
1096 %attr(755,root,root) %{_libdir}/libsvn_swig_py2-1.so.*.*.*
1097 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_py2-1.so.0
1098 %attr(755,root,root) %{_libdir}/libsvn_swig_py2-1.so
1099 %dir %{py_sitedir}/libsvn
1100 %attr(755,root,root) %{py_sitedir}/libsvn/_*.so
1101 %{py_sitedir}/libsvn/*.py[co]
1102 %dir %{py_sitedir}/svn
1103 %{py_sitedir}/svn/*.py[co]
1104 %{_examplesdir}/python-%{name}-%{version}
1108 %files -n python-csvn
1109 %defattr(644,root,root,755)
1110 %doc subversion/bindings/ctypes-python/{README,TODO}
1111 %doc subversion/bindings/ctypes-python/examples/*.py
1112 %{py_sitescriptdir}/csvn
1113 %{py_sitescriptdir}/svn_ctypes_python_bindings-0.1-py*.egg-info
1119 %files -n python3-subversion
1120 %defattr(644,root,root,755)
1121 %attr(755,root,root) %{_libdir}/libsvn_swig_py-1.so.*.*.*
1122 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_py-1.so.0
1123 %attr(755,root,root) %{_libdir}/libsvn_swig_py-1.so
1124 %dir %{py3_sitedir}/libsvn
1125 %attr(755,root,root) %{py3_sitedir}/libsvn/_*.so
1126 %{py3_sitedir}/libsvn/*.py
1127 %{py3_sitedir}/libsvn/__pycache__
1128 %dir %{py3_sitedir}/svn
1129 %{py3_sitedir}/svn/*.py
1130 %{py3_sitedir}/svn/__pycache__
1131 %{_examplesdir}/python3-%{name}-%{version}
1135 %files -n python3-csvn
1136 %defattr(644,root,root,755)
1137 %doc subversion/bindings/ctypes-python/{README,TODO}
1138 %doc subversion/bindings/ctypes-python/examples/*.py
1139 %{py3_sitescriptdir}/csvn
1140 %{py3_sitescriptdir}/svn_ctypes_python_bindings-0.1-py*.egg-info
1145 %files -n perl-subversion
1146 %defattr(644,root,root,755)
1147 %attr(755,root,root) %{_libdir}/libsvn_swig_perl-1.so.*.*.*
1148 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_perl-1.so.0
1149 %attr(755,root,root) %{_libdir}/libsvn_swig_perl-1.so
1150 %{perl_vendorarch}/SVN
1151 %dir %{perl_vendorarch}/auto/SVN
1152 %dir %{perl_vendorarch}/auto/SVN/*
1153 %attr(755,root,root) %{perl_vendorarch}/auto/SVN/*/*.so
1154 %{_mandir}/man3/SVN::*.3pm*
1158 %files -n ruby-subversion
1159 %defattr(644,root,root,755)
1160 %attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so.*.*.*
1161 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_ruby-1.so.0
1162 %attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so
1163 %dir %{ruby_vendorarchdir}/svn
1164 %{ruby_vendorarchdir}/svn/*.rb
1165 %dir %{ruby_vendorarchdir}/svn/ext
1166 %attr(755,root,root) %{ruby_vendorarchdir}/svn/ext/*.so
1171 %files -n apache-mod_dav_svn
1172 %defattr(644,root,root,755)
1173 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_dav_svn.conf
1174 %attr(755,root,root) %{apachelibdir}/mod_dav_svn.so
1176 %files -n apache-mod_authz_svn
1177 %defattr(644,root,root,755)
1178 %doc subversion/mod_authz_svn/INSTALL
1179 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_authz_svn.conf
1180 %attr(755,root,root) %{apachelibdir}/mod_authz_svn.so
1182 %files -n apache-mod_dontdothat_svn
1183 %defattr(644,root,root,755)
1184 %doc tools/server-side/mod_dontdothat/README
1185 %attr(755,root,root) %{apachelibdir}/mod_dontdothat.so