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: 9927b167d1c67d663ca63125907f6f69
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}
108 BuildRequires: python3 >= 1:3.2
109 %{?with_csvn:BuildRequires: python3-ctypesgen >= 1.0.2}
111 BuildRequires: rpm-build >= 4.6
112 BuildRequires: rpm-pythonprov
113 BuildRequires: rpmbuild(macros) >= 1.752
114 BuildRequires: sed >= 4.0
115 BuildRequires: serf-devel >= 1.3.4
116 BuildRequires: sqlite3-devel >= 3.8.11.1
117 BuildRequires: texinfo
119 BuildRequires: zlib-devel >= 1.2
121 BuildRequires: openjdk8-jdk-base
122 BuildRequires: libstdc++-devel >= 6:4.7
125 BuildRequires: perl-devel >= 1:5.8.0
126 BuildRequires: rpm-perlprov >= 4.1-13
127 BuildRequires: swig-perl >= 1.3.24
129 %if %{with python2} || %{with python3}
133 BuildRequires: python-devel >= 1:2.7
134 BuildRequires: swig3-python >= 3.0.12
135 BuildRequires: swig3-python < 4.0.0
138 BuildRequires: python3-devel >= 1:3.2
139 BuildRequires: swig-python >= 4.0.0
142 BuildRequires: rpm-rubyprov
143 BuildRequires: ruby-devel >= 1:1.8.2
144 BuildRequires: ruby-irb
145 BuildRequires: ruby-rubygems
146 BuildRequires: swig-ruby >= 3.0.9
148 Requires: %{name}-libs = %{version}-%{release}
150 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
152 %define _libexecdir %{_libdir}/svn
153 %define apacheconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d
154 %define apachelibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
156 %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.*
159 The goal of the Subversion project is to build a version control
160 system that is a compelling replacement for CVS in the open source
164 - All current CVS features.
165 - Directories, renames, and file meta-data are versioned.
166 - Symbolic links, etc, are supported
167 - Commits are truly atomic.
168 - Branching and tagging are cheap (constant time) operations
169 - Repeated merges are handled gracefully
170 - Support for plug-in client side diff programs
171 - Natively client/server
172 - Client/server protocol sends diffs in both directions
173 - Costs are proportional to change size, not project size
174 - Internationalization
175 - Progressive multi-lingual support
177 %description -l pl.UTF-8
178 Celem projektu Subversion jest stworzenie systemu kontroli wersji jako
182 - Wszystkie aktualne możliwości CVS.
183 - Katalogi, zmiany nazw oraz metadane plików są wersjonowane.
184 - Obsługa dowiązań symbolicznych itp.
185 - Commity są w pełni atomowe.
186 - Branchowanie oraz tagowanie są tanimi (stałymi w czasie) operacjami.
187 - Dobra obsługa powtarzanego łączenia (merge).
188 - Obsługa wtyczek diff po stronie klienta.
189 - Natywny klient/serwer.
190 - Klient/Serwer przesyłają diffy w obu kierunkach.
191 - Koszty proporcjonalne do rozmiaru zmiany, a nie rozmiaru projektu.
192 - Internacjonalizacja.
193 - Postępujące wsparcie dla wielu języków.
195 %description -l pt_BR.UTF-8
196 O objetivo do projeto Subversion é construir um sistema de controle de
197 versões que seja um substituto para o CVS (Concurrent Versioning
198 System) na comunidade opensource, fornecendo grandes melhorias.
201 Summary: Subversion libraries and modules
202 Summary(pl.UTF-8): Biblioteka subversion oraz ładowalne moduły
204 Requires: apr >= 1:1.4
205 Requires: apr-util >= 1:1.3
206 Requires: serf >= 1.3.4
207 Requires: zlib >= 1.2
208 Obsoletes: libsubversion0 < 1
211 Subversion libraries and modules.
213 %description libs -l pl.UTF-8
214 Biblioteka subversion oraz ładowalne moduły.
217 Summary: Header files and develpment documentation for subversion
218 Summary(pl.UTF-8): Pliki nagłówkowe i dokumetacja do subversion
219 Summary(pt_BR.UTF-8): Arquivos de desenvolvimento para o Subversion
220 Group: Development/Libraries
221 Requires: %{name}-libs = %{version}-%{release}
222 Requires: apr-util-devel >= 1:1.3
223 Requires: libutf8proc-devel >= 1.3.1-4
224 Requires: serf-devel >= 1.3.4
225 Obsoletes: libsubversion0-devel < 1
228 Header files and develpment documentation for subversion.
230 %description devel -l pl.UTF-8
231 Pliki nagłówkowe i dokumetacja do subversion.
233 %description devel -l pt_BR.UTF-8
234 Este pacote provê os arquivos necessários para desenvolvedores
235 interagirem com o Subversion.
238 Summary: Static subversion library
239 Summary(pl.UTF-8): Biblioteka statyczna subversion
240 Summary(pt_BR.UTF-8): Sistema de versionamento concorrente
241 Group: Development/Libraries
242 Requires: %{name}-devel = %{version}
243 Obsoletes: libsubversion0-static-devel < 1
246 Static subversion library.
248 %description static -l pl.UTF-8
249 Biblioteka statyczna subversion.
251 %description static -l pt_BR.UTF-8
252 Este pacote provê um cliente estático do subversion.
255 Summary: Subversion svnserve
256 Summary(pl.UTF-8): Subversion svnserve
257 Group: Networking/Daemons
258 Requires(post,preun): /sbin/chkconfig
259 Requires(postun): /usr/sbin/groupdel
260 Requires(postun): /usr/sbin/userdel
261 Requires(pre): /bin/id
262 Requires(pre): /usr/bin/getgid
263 Requires(pre): /usr/lib/rpm/user_group.sh
264 Requires(pre): /usr/sbin/groupadd
265 Requires(pre): /usr/sbin/useradd
266 Requires(pre): /usr/sbin/usermod
267 Requires: %{name} = %{version}-%{release}
272 %description svnserve
273 Subversion svnserve server.
275 %description svnserve -l pl.UTF-8
276 Serwer subversion svnserve.
279 Summary: Subversion tools and scripts
280 Summary(pl.UTF-8): Narzędzia oraz skrypty dla subversion
281 Summary(pt_BR.UTF-8): Módulos python para acessar os recursos do Subversion
282 Group: Development/Version Control
283 Requires: %{name} = %{version}-%{release}
286 Subversion tools and scripts.
288 %description tools -l pl.UTF-8
289 Narzędzia oraz skrypty dla subversion.
291 %package -n bash-completion-subversion
292 Summary: bash completion for subversion
293 Summary(pl.UTF-8): Dopełnienia basha dla subversion
294 Group: Applications/Shells
295 Requires: %{name} = %{version}-%{release}
296 Requires: bash-completion
297 Conflicts: %{name}-tools <= 1.1.0-0.rc6.1
300 %description -n bash-completion-subversion
301 Bash completion for subversion.
303 %description -n bash-completion-subversion -l pl.UTF-8
304 Dopełnienia basha dla subversion.
306 %package -n java-subversion
307 Summary: Subversion Java bindings
308 Summary(pl.UTF-8): Dowiązania do Subversion dla Javy
309 Group: Development/Languages/Java
310 Requires: %{name}-libs = %{version}-%{release}
312 %description -n java-subversion
313 This is a set of Java classes which provide the functionality of
314 subversion-libs, the Subversion libraries. It is useful if you want
315 to, for example, write a Java class that manipulates a Subversion
316 repository or working copy. See the 'subversion' package for more
319 %description -n java-subversion -l pl.UTF-8
320 Ten pakiet zawiera zestaw klas Javy udostępniających funkcjonalność
321 subversion-libs, czyli bibliotek Subversion. Jest przydatny przy
322 pisaniu klas Javy np. modyfikujących repozytorium Subversion lub kopię
323 roboczą. Więcej informacji w pakiecie subversion.
325 %package -n python-subversion
326 Summary: Subversion Python 2 bindings
327 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 2
328 Summary(pt_BR.UTF-8): Módulos Python 2 para acessar os recursos do Subversion
329 Group: Development/Languages/Python
330 Requires: %{name}-libs = %{version}-%{release}
331 Requires: python-modules >= 1:2.7
332 Obsoletes: subversion-python < 0.14.1
334 %description -n python-subversion
335 Subversion Python 2 bindings.
337 %description -n python-subversion -l pl.UTF-8
338 Dowiązania do Subversion dla Pythona 2.
340 %description -n python-subversion -l pt_BR.UTF-8
341 Módulos Python 2 para acessar os recursos do Subversion.
343 %package -n python-csvn
344 Summary: CTypes Subversion Python 2 bindings
345 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 2
346 Summary(pt_BR.UTF-8): Módulos Python 2 para acessar os recursos do Subversion
347 Group: Development/Languages/Python
348 Requires: %{name}-libs = %{version}-%{release}
349 Requires: python-modules >= 1:2.7
351 %description -n python-csvn
352 Subversion CTypes Python 2 bindings.
354 %description -n python-csvn -l pl.UTF-8
355 Dowiązania do Subversion dla Pythona 2 używające CTypes.
357 %description -n python-csvn -l pt_BR.UTF-8
358 Módulos Python 2 para acessar os recursos do Subversion.
360 %package -n python3-subversion
361 Summary: Subversion Python 3 bindings
362 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 3
363 Summary(pt_BR.UTF-8): Módulos Python 3 para acessar os recursos do Subversion
364 Group: Development/Languages/Python
365 Requires: %{name}-libs = %{version}-%{release}
366 Requires: python3-modules >= 1:3.2
367 Obsoletes: subversion-python < 0.14.1
369 %description -n python3-subversion
370 Subversion Python 3 bindings.
372 %description -n python3-subversion -l pl.UTF-8
373 Dowiązania do Subversion dla Pythona 3.
375 %description -n python3-subversion -l pt_BR.UTF-8
376 Módulos Python 3 para acessar os recursos do Subversion.
378 %package -n python3-csvn
379 Summary: CTypes Subversion Python 3 bindings
380 Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona 3
381 Summary(pt_BR.UTF-8): Módulos Python 3 para acessar os recursos do Subversion
382 Group: Development/Languages/Python
383 Requires: %{name}-libs = %{version}-%{release}
384 Requires: python3-modules >= 1:3.2
386 %description -n python3-csvn
387 Subversion CTypes Python 3 bindings.
389 %description -n python3-csvn -l pl.UTF-8
390 Dowiązania do Subversion dla Pythona 3 używające CTypes.
392 %description -n python3-csvn -l pt_BR.UTF-8
393 Módulos Python 3 para acessar os recursos do Subversion.
395 %package -n perl-subversion
396 Summary: Subversion Perl bindings
397 Summary(pl.UTF-8): Dowiązania do Subversion dla Perla
398 Summary(pt_BR.UTF-8): Módulos Perl para acessar os recursos do Subversion
399 Group: Development/Languages/Perl
400 Requires: %{name}-libs = %{version}-%{release}
401 Obsoletes: subversion-perl < 0.33.1-2
403 %description -n perl-subversion
404 Subversion Perl bindings.
406 %description -n perl-subversion -l pl.UTF-8
407 Dowiązania do Subversion dla Perla.
409 %description -n perl-subversion -l pt_BR.UTF-8
410 Módulos Perl para acessar os recursos do Subversion.
412 %package -n ruby-subversion
413 Summary: Subversion Ruby bindings
414 Summary(pl.UTF-8): Dowiązania do Subversion dla języka Ruby
415 Summary(pt_BR.UTF-8): Módulos Ruby para acessar os recursos do Subversion
416 Group: Development/Languages
417 Requires: %{name}-libs = %{version}-%{release}
418 Obsoletes: subversion-ruby < 1.5.0-1
420 %description -n ruby-subversion
421 Subversion Ruby bindings.
423 %description -n ruby-subversion -l pl.UTF-8
424 Dowiązania do Subversion dla języka Ruby.
426 %description -n ruby-subversion -l pt_BR.UTF-8
427 Módulos Ruby para acessar os recursos do Subversion.
429 %package -n apache-mod_dav_svn
430 Summary: Apache module: Subversion Server
431 Summary(pl.UTF-8): Moduł Apache'a: serwer Subversion
432 Group: Networking/Daemons
433 Requires: %{name} = %{version}-%{release}
434 Requires: apache(modules-api) = %apache_modules_api
435 Requires: apache-mod_dav
437 %description -n apache-mod_dav_svn
438 Apache module: Subversion Server.
440 %description -n apache-mod_dav_svn -l pl.UTF-8
441 Moduł Apache'a: serwer Subversion.
443 %package -n apache-mod_authz_svn
444 Summary: Apache module: Subversion Server - path-based authorization
445 Summary(pl.UTF-8): Moduł Apache'a: autoryzacja na podstawie ścieżki dla serwera Subversion
446 Group: Networking/Daemons
447 Requires: %{name}-libs = %{version}-%{release}
448 Requires: apache(modules-api) = %apache_modules_api
449 Requires: apache-mod_dav_svn = %{version}-%{release}
451 %description -n apache-mod_authz_svn
452 Apache module: Subversion Server - path-based authorization.
454 %description -n apache-mod_authz_svn -l pl.UTF-8
455 Moduł Apache'a: autoryzacja na podstawie ścieżki dla serwera
458 %package -n apache-mod_dontdothat_svn
459 Summary: Apache module: Allows you to block specific svn requests
460 Summary(pl.UTF-8): Moduł Apache'a pozwalający na blokowanie pewnych zapytań svn
461 Group: Networking/Daemons
462 Requires: %{name}-libs = %{version}-%{release}
463 Requires: apache(modules-api) = %apache_modules_api
464 Requires: apache-mod_dav_svn = %{version}-%{release}
466 %description -n apache-mod_dontdothat_svn
467 Apache module: Allows you to block specific svn requests.
469 %description -n apache-mod_dontdothat_svn -l pl.UTF-8
470 Moduł Apache'a pozwalający na blokowanie pewnych zapytań svn.
472 %package -n gnome-keyring-subversion
473 Summary: GNOME Keyring authentication provider for Subversion
474 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Subversion
475 Group: X11/Applications
476 Requires: %{name}-libs = %{version}-%{release}
478 %description -n gnome-keyring-subversion
479 Authentication provider module for Subversion which allows SVN client
480 to authenticate using GNOME Keyring.
482 %description -n gnome-keyring-subversion -l pl.UTF-8
483 Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
484 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
486 %package -n kde5-kwallet-subversion
487 Summary: KDE Wallet authentication provider for Subversion
488 Summary(pl.UTF-8): Moduł uwierzytelniający dla Subversion wykorzystujący Portfel KDE
489 Group: X11/Applications
490 Requires: %{name}-libs = %{version}-%{release}
492 %description -n kde5-kwallet-subversion
493 Authentication provider module for Subversion which allows SVN client
494 to authenticate using KDE Wallet.
496 %description -n kde5-kwallet-subversion -l pl.UTF-8
497 Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
498 uwierzytelniać się przy użyciu Portfela KDE.
512 %{__sed} -i -e 's#serf_prefix/lib#serf_prefix/%{_lib}#g' build/ac-macros/serf.m4
514 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},' tools/backup/hot-backup.py.in
517 # FIXME: don't hide autotools invocation
518 # (but this script could do more, e.g. swig regeneration)
519 chmod +x ./autogen.sh && ./autogen.sh
521 install -d builddir-python2
524 ac_cv_path_RUBY=none \
526 --disable-mod-activation \
528 --without-berkeley-db \
530 --with-ctypesgen=%{_bindir}/ctypesgen-2 \
532 --without-gnome-keyring \
534 --with-serf=%{_prefix} \
535 --with-swig=/usr/bin/swig-3 \
536 --with-zlib=%{_libdir}
538 # required with separate builddir and only some subcomponents
539 install -d subversion/{bindings/swig/python,mod_dav_svn/{posts,reports},po} tools/server-side/mod_dontdothat
542 # Python ctypes bindings
543 %{__make} -j1 ctypes-python
546 # Python swig bindings
547 %{__make} -j1 swig-py \
549 swig_pydir=%{py_sitedir}/libsvn \
550 swig_pydir_extra=%{py_sitedir}/svn
555 %{__make} -j1 check-ctypes-python
558 %{__make} -j1 check-swig-py
567 PYTHON=%{__python3} \
568 --disable-mod-activation \
569 --disable-runtime-module-search \
570 --with-apr=%{_bindir}/apr-1-config \
571 --with-apr-util=%{_bindir}/apu-1-config \
573 --with-serf=%{_prefix} \
574 --with-zlib=%{_libdir} \
576 --with-apache-libexecdir="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
577 --with-apxs=%{_sbindir}/apxs \
582 --with-berkeley-db="db.h:%{_includedir}:%{_libdir}:db" \
583 %{?with_db6:--enable-bdb6} \
585 --without-berkeley-db \
587 %if %{with python3} && %{with csvn}
588 --with-ctypesgen=%{_bindir}/ctypesgen-3 \
591 --with-gnome-keyring \
600 --with-swig=/usr/bin/swig \
603 svn_cv_ruby_sitedir_libsuffix="" \
604 svn_cv_ruby_sitedir_archsuffix="" \
605 --with-ruby-sitedir=%{ruby_vendorarchdir} \
607 ac_cv_path_RUBY=none \
611 --with-jdk="%{java_home}" \
623 # Python ctypes bindings
624 %{__make} ctypes-python
627 # Python swig bindings
629 swig_pydir=%{py3_sitedir}/libsvn \
630 swig_pydir_extra=%{py3_sitedir}/svn
636 %{__make} -j1 swig-pl
639 %{__make} -j1 javahl \
640 javahl_javadir="%{_javadir}"
649 %if %{with python3} && %{with csvn}
650 %{__make} -j1 check-ctypes-python
652 %if %{with python3} && %{with swigpy}
653 %{__make} -j1 check-swig-py
656 %{__make} -j1 check-swig-pl
659 # disabled, see https://bugs.launchpad.net/pld-linux/+bug/734340
660 #%{__make} check-swig-rb
665 rm -rf $RPM_BUILD_ROOT
666 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,bash_completion.d} \
667 $RPM_BUILD_ROOT{%{apacheconfdir},%{apachelibdir},%{_infodir}} \
668 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
669 $RPM_BUILD_ROOT%{_sysconfdir}/%{name} \
670 $RPM_BUILD_ROOT/home/services/subversion/repos
674 %{__make} -C builddir-python2 -j1 install-lib install-fsmod-lib install-ctypes-python \
675 DESTDIR=$RPM_BUILD_ROOT \
676 PY_INSTALLOPTS="--install-purelib=%{py_sitescriptdir}" \
677 pkgconfig_dir=%{_pkgconfigdir}
681 %{__make} -C builddir-python2 -j1 install-swig-py \
682 DESTDIR=$RPM_BUILD_ROOT \
684 swig_pydir=%{py_sitedir}/libsvn \
685 swig_pydir_extra=%{py_sitedir}/svn
689 %{__make} -C builddir -j1 install \
690 pkgconfig_dir=%{_pkgconfigdir} \
691 toolsdir=%{_bindir} \
692 DESTDIR=$RPM_BUILD_ROOT \
693 APACHE_LIBEXECDIR="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
696 javahl_javadir="%{_javadir}" \
698 %if %{with python3} && %{with csvn}
699 install-ctypes-python \
700 PY_INSTALLOPTS="--install-purelib=%{py3_sitescriptdir}" \
702 %if %{with python3} && %{with swigpy}
704 swig_pydir=%{py3_sitedir}/libsvn \
705 swig_pydir_extra=%{py3_sitedir}/svn \
709 %if 0 && %{with csvn}
710 # manually execute install-ctypes-python target
711 cd subversion/bindings/ctypes-python
717 %{__make} -C builddir -j1 install-swig-rb install-swig-rb-doc \
718 SWIG_RB_RI_DATADIR=$RPM_BUILD_ROOT%{ruby_ridir} \
719 DESTDIR=$RPM_BUILD_ROOT
722 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/OptionParser
723 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/Time
724 %if "%{ruby_abi}" >= "2.0"
725 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/File
727 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
728 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
732 %{__make} -C builddir install-swig-pl \
733 DESTDIR=$RPM_BUILD_ROOT
737 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{apacheconfdir}/65_mod_dav_svn.conf
738 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{apacheconfdir}/66_mod_authz_svn.conf
739 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/svnserve
740 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/svnserve
743 %if %{without net_client_only}
744 install -p builddir/tools/backup/hot-backup.py $RPM_BUILD_ROOT%{_bindir}/svn-hot-backup
747 # rename not to conflict with standard packages. (are these needed at all?)
748 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff
749 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff3
750 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff4
754 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
755 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
756 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/libsvn/*.la
757 install -d $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}
758 cp -p tools/examples/*.py $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}
759 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}/*.py
764 %if %{with python3} && %{with swigpy}
765 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
766 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
767 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/libsvn/*.la
768 install -d $RPM_BUILD_ROOT%{_examplesdir}/python3-%{name}-%{version}
769 cp -p tools/examples/*.py $RPM_BUILD_ROOT%{_examplesdir}/python3-%{name}-%{version}
770 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},' $RPM_BUILD_ROOT%{_examplesdir}/python3-%{name}-%{version}/*.py
773 cp -p tools/client-side/bash_completion $RPM_BUILD_ROOT/etc/bash_completion.d/%{name}
774 cp -p tools/examples/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
777 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.{la,a}
780 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_swig*.{la,a}
782 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/svn/ext/*.la
785 %if %{with gnome} || %{with kwallet}
786 # dlopened by soname (libsvn_auth_*-1.so.0)
787 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_auth_*-1.{so,la}
793 rm -rf $RPM_BUILD_ROOT
797 %useradd -u 180 -d /home/services/subversion -c "Subversion svnserve" -g svn svn
799 %post libs -p /sbin/ldconfig
800 %postun libs -p /sbin/ldconfig
802 %post devel -p /sbin/postshell
803 -/usr/sbin/fix-info-dir -c %{_infodir}
805 %postun devel -p /sbin/postshell
806 -/usr/sbin/fix-info-dir -c %{_infodir}
808 %post -n java-subversion -p /sbin/ldconfig
809 %postun -n java-subversion -p /sbin/ldconfig
811 %post -n perl-subversion -p /sbin/ldconfig
812 %postun -n perl-subversion -p /sbin/ldconfig
814 %post -n python-subversion -p /sbin/ldconfig
815 %postun -n python-subversion -p /sbin/ldconfig
817 %post -n ruby-subversion -p /sbin/ldconfig
818 %postun -n ruby-subversion -p /sbin/ldconfig
820 %post -n gnome-keyring-subversion -p /sbin/ldconfig
821 %postun -n gnome-keyring-subversion -p /sbin/ldconfig
823 %post -n kde5-kwallet-subversion -p /sbin/ldconfig
824 %postun -n kde5-kwallet-subversion -p /sbin/ldconfig
827 /sbin/chkconfig --add svnserve
828 %service svnserve restart "svnserve daemon"
831 if [ "$1" = "0" ]; then
832 %service svnserve stop
833 /sbin/chkconfig --del svnserve
837 if [ "$1" = "0" ]; then
842 %post -n apache-mod_dav_svn
843 %service -q httpd restart
845 %postun -n apache-mod_dav_svn
846 if [ "$1" = "0" ]; then
847 %service -q httpd restart
850 %post -n apache-mod_authz_svn
851 %service -q httpd restart
853 %postun -n apache-mod_authz_svn
854 if [ "$1" = "0" ]; then
855 %service -q httpd restart
858 %post -n apache-mod_dontdothat_svn
859 %service -q httpd restart
861 %postun -n apache-mod_dontdothat_svn
862 if [ "$1" = "0" ]; then
863 %service -q httpd restart
867 %defattr(644,root,root,755)
868 %doc BUGS CHANGES INSTALL README
870 %doc builddir/tools/hook-scripts/*.pl
871 %doc tools/hook-scripts/*.{py,example}
872 %doc tools/hook-scripts/mailer/*.{py,example}
874 %attr(755,root,root) %{_bindir}/fsfs-stats
875 %attr(755,root,root) %{_bindir}/svn
876 %attr(755,root,root) %{_bindir}/svn-mergeinfo-normalizer
877 %attr(755,root,root) %{_bindir}/svnadmin
878 %attr(755,root,root) %{_bindir}/svnconflict
879 %attr(755,root,root) %{_bindir}/svndumpfilter
880 %attr(755,root,root) %{_bindir}/svnlook
881 %attr(755,root,root) %{_bindir}/svnmover
882 %attr(755,root,root) %{_bindir}/svnmucc
883 %attr(755,root,root) %{_bindir}/svnrdump
884 %attr(755,root,root) %{_bindir}/svnsync
885 %attr(755,root,root) %{_bindir}/svnversion
886 %{_mandir}/man1/svn.1*
887 %{_mandir}/man1/svnadmin.1*
888 %{_mandir}/man1/svndumpfilter.1*
889 %{_mandir}/man1/svnrdump.1*
890 %{_mandir}/man1/svnlook.1*
891 %{_mandir}/man1/svnmucc.1*
892 %{_mandir}/man1/svnsync.1*
893 %{_mandir}/man1/svnversion.1*
895 %files libs -f %{name}.lang
896 %defattr(644,root,root,755)
897 %dir %{_sysconfdir}/%{name}
898 %attr(755,root,root) %{_libdir}/libsvn_client-1.so.*.*.*
899 %attr(755,root,root) %ghost %{_libdir}/libsvn_client-1.so.0
900 %attr(755,root,root) %{_libdir}/libsvn_delta-1.so.*.*.*
901 %attr(755,root,root) %ghost %{_libdir}/libsvn_delta-1.so.0
902 %attr(755,root,root) %{_libdir}/libsvn_diff-1.so.*.*.*
903 %attr(755,root,root) %ghost %{_libdir}/libsvn_diff-1.so.0
904 %attr(755,root,root) %{_libdir}/libsvn_fs-1.so.*.*.*
905 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs-1.so.0
906 %if %{without net_client_only}
907 %attr(755,root,root) %{_libdir}/libsvn_fs_base-1.so.*.*.*
908 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_base-1.so.0
910 %attr(755,root,root) %{_libdir}/libsvn_fs_fs-1.so.*.*.*
911 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_fs-1.so.0
912 %attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so.*.*.*
913 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_util-1.so.0
914 %attr(755,root,root) %{_libdir}/libsvn_fs_x-1.so.*.*.*
915 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_x-1.so.0
916 %attr(755,root,root) %{_libdir}/libsvn_ra-1.so.*.*.*
917 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra-1.so.0
918 %attr(755,root,root) %{_libdir}/libsvn_ra_local-1.so.*.*.*
919 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_local-1.so.0
920 %attr(755,root,root) %{_libdir}/libsvn_ra_serf-1.so.*.*.*
921 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_serf-1.so.0
922 %attr(755,root,root) %{_libdir}/libsvn_ra_svn-1.so.*.*.*
923 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_svn-1.so.0
924 %attr(755,root,root) %{_libdir}/libsvn_repos-1.so.*.*.*
925 %attr(755,root,root) %ghost %{_libdir}/libsvn_repos-1.so.0
926 %attr(755,root,root) %{_libdir}/libsvn_subr-1.so.*.*.*
927 %attr(755,root,root) %ghost %{_libdir}/libsvn_subr-1.so.0
928 %attr(755,root,root) %{_libdir}/libsvn_wc-1.so.*.*.*
929 %attr(755,root,root) %ghost %{_libdir}/libsvn_wc-1.so.0
932 %defattr(644,root,root,755)
933 %attr(755,root,root) %{_libdir}/libsvn_client-1.so
934 %attr(755,root,root) %{_libdir}/libsvn_delta-1.so
935 %attr(755,root,root) %{_libdir}/libsvn_diff-1.so
936 %attr(755,root,root) %{_libdir}/libsvn_fs-1.so
937 %if %{without net_client_only}
938 %attr(755,root,root) %{_libdir}/libsvn_fs_base-1.so
940 %attr(755,root,root) %{_libdir}/libsvn_fs_fs-1.so
941 %attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so
942 %attr(755,root,root) %{_libdir}/libsvn_fs_x-1.so
943 %attr(755,root,root) %{_libdir}/libsvn_ra-1.so
944 %attr(755,root,root) %{_libdir}/libsvn_ra_local-1.so
945 %attr(755,root,root) %{_libdir}/libsvn_ra_serf-1.so
946 %attr(755,root,root) %{_libdir}/libsvn_ra_svn-1.so
947 %attr(755,root,root) %{_libdir}/libsvn_repos-1.so
948 %attr(755,root,root) %{_libdir}/libsvn_subr-1.so
949 %attr(755,root,root) %{_libdir}/libsvn_wc-1.so
950 %{_libdir}/libsvn_client-1.la
951 %{_libdir}/libsvn_delta-1.la
952 %{_libdir}/libsvn_diff-1.la
953 %{_libdir}/libsvn_fs-1.la
954 %if %{without net_client_only}
955 %{_libdir}/libsvn_fs_base-1.la
957 %{_libdir}/libsvn_fs_fs-1.la
958 %{_libdir}/libsvn_fs_util-1.la
959 %{_libdir}/libsvn_fs_x-1.la
960 %{_libdir}/libsvn_ra-1.la
961 %{_libdir}/libsvn_ra_local-1.la
962 %{_libdir}/libsvn_ra_serf-1.la
963 %{_libdir}/libsvn_ra_svn-1.la
964 %{_libdir}/libsvn_repos-1.la
965 %{_libdir}/libsvn_subr-1.la
966 %{_libdir}/libsvn_wc-1.la
968 # only for feature check, linking will fail (no libsvn_auth_gnome_keyring.so)
969 %{_pkgconfigdir}/libsvn_auth_gnome_keyring.pc
972 # only for feature check, linking will fail (no libsvn_auth_kwallet.so)
973 %{_pkgconfigdir}/libsvn_auth_kwallet.pc
975 %{_pkgconfigdir}/libsvn_client.pc
976 %{_pkgconfigdir}/libsvn_delta.pc
977 %{_pkgconfigdir}/libsvn_diff.pc
978 %{_pkgconfigdir}/libsvn_fs.pc
979 %if %{without net_client_only}
980 %{_pkgconfigdir}/libsvn_fs_base.pc
982 %{_pkgconfigdir}/libsvn_fs_fs.pc
983 %{_pkgconfigdir}/libsvn_fs_util.pc
984 %{_pkgconfigdir}/libsvn_fs_x.pc
985 %{_pkgconfigdir}/libsvn_ra.pc
986 %{_pkgconfigdir}/libsvn_ra_local.pc
987 %{_pkgconfigdir}/libsvn_ra_serf.pc
988 %{_pkgconfigdir}/libsvn_ra_svn.pc
989 %{_pkgconfigdir}/libsvn_repos.pc
990 %{_pkgconfigdir}/libsvn_subr.pc
991 %{_pkgconfigdir}/libsvn_wc.pc
992 %{_includedir}/%{name}-1
993 %{_examplesdir}/%{name}-%{version}
996 %defattr(644,root,root,755)
997 %{_libdir}/libsvn_client-1.a
998 %{_libdir}/libsvn_delta-1.a
999 %{_libdir}/libsvn_diff-1.a
1000 %{_libdir}/libsvn_fs-1.a
1001 %if %{without net_client_only}
1002 %{_libdir}/libsvn_fs_base-1.a
1004 %{_libdir}/libsvn_fs_fs-1.a
1005 %{_libdir}/libsvn_fs_util-1.a
1006 %{_libdir}/libsvn_fs_x-1.a
1007 %{_libdir}/libsvn_ra-1.a
1008 %{_libdir}/libsvn_ra_local-1.a
1009 %{_libdir}/libsvn_ra_serf-1.a
1010 %{_libdir}/libsvn_ra_svn-1.a
1011 %{_libdir}/libsvn_repos-1.a
1012 %{_libdir}/libsvn_subr-1.a
1013 %{_libdir}/libsvn_wc-1.a
1016 %files -n gnome-keyring-subversion
1017 %defattr(644,root,root,755)
1018 %attr(755,root,root) %{_libdir}/libsvn_auth_gnome_keyring-1.so.*.*.*
1019 %attr(755,root,root) %ghost %{_libdir}/libsvn_auth_gnome_keyring-1.so.0
1020 # does anything use it? requires libsvn_auth_gnome_keyring.so
1021 #%{_pkgconfigdir}/libsvn_auth_gnome_keyring.pc
1025 %files -n kde5-kwallet-subversion
1026 %defattr(644,root,root,755)
1027 %attr(755,root,root) %{_libdir}/libsvn_auth_kwallet-1.so.*.*.*
1028 %attr(755,root,root) %ghost %{_libdir}/libsvn_auth_kwallet-1.so.0
1029 # does anything use it? requires libsvn_auth_kwallet.so
1030 #%{_pkgconfigdir}/libsvn_auth_kwallet.pc
1033 %if %{without net_client_only}
1035 %defattr(644,root,root,755)
1036 %attr(755,root,root) %{_bindir}/svnserve
1037 %{_mandir}/man5/svnserve.conf.5*
1038 %{_mandir}/man8/svnserve.8*
1039 %dir %attr(750,svn,svn) /home/services/subversion
1040 %dir %attr(750,svn,svn) /home/services/subversion/repos
1042 %attr(754,root,root) /etc/rc.d/init.d/svnserve
1043 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/svnserve
1047 %defattr(644,root,root,755)
1048 # tools/backup/hot-backup.py
1049 %attr(755,root,root) %{_bindir}/svn-hot-backup
1052 %attr(755,root,root) %{_bindir}/svndiff
1053 %attr(755,root,root) %{_bindir}/svndiff3
1054 %attr(755,root,root) %{_bindir}/svndiff4
1057 %attr(755,root,root) %{_bindir}/svnfsfs
1058 %attr(755,root,root) %{_bindir}/svn-populate-node-origins-index
1059 %attr(755,root,root) %{_bindir}/svnauthz
1060 %attr(755,root,root) %{_bindir}/svnauthz-validate
1063 %attr(755,root,root) %{_bindir}/svnbench
1065 # tools/dev/svnraisetreeconflict
1066 %attr(755,root,root) %{_bindir}/svnraisetreeconflict
1069 %attr(755,root,root) %{_bindir}/fsfs-access-map
1070 %attr(755,root,root) %{_bindir}/x509-parser
1072 %files -n bash-completion-subversion
1073 %defattr(644,root,root,755)
1074 /etc/bash_completion.d/%{name}
1076 %endif # net_client_only
1079 %files -n java-subversion
1080 %defattr(644,root,root,755)
1081 %attr(755,root,root) %{_libdir}/libsvnjavahl-1.so.*.*.*
1082 %attr(755,root,root) %ghost %{_libdir}/libsvnjavahl-1.so.0
1083 %attr(755,root,root) %{_libdir}/libsvnjavahl-1.so
1084 %{_javadir}/svn-javahl.jar
1089 %files -n python-subversion
1090 %defattr(644,root,root,755)
1091 %attr(755,root,root) %{_libdir}/libsvn_swig_py2-1.so.*.*.*
1092 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_py2-1.so.0
1093 %attr(755,root,root) %{_libdir}/libsvn_swig_py2-1.so
1094 %dir %{py_sitedir}/libsvn
1095 %attr(755,root,root) %{py_sitedir}/libsvn/_*.so
1096 %{py_sitedir}/libsvn/*.py[co]
1097 %dir %{py_sitedir}/svn
1098 %{py_sitedir}/svn/*.py[co]
1099 %{_examplesdir}/python-%{name}-%{version}
1103 %files -n python-csvn
1104 %defattr(644,root,root,755)
1105 %doc subversion/bindings/ctypes-python/{README,TODO}
1106 %doc subversion/bindings/ctypes-python/examples/*.py
1107 %{py_sitescriptdir}/csvn
1108 %{py_sitescriptdir}/svn_ctypes_python_bindings-0.1-py*.egg-info
1114 %files -n python3-subversion
1115 %defattr(644,root,root,755)
1116 %attr(755,root,root) %{_libdir}/libsvn_swig_py-1.so.*.*.*
1117 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_py-1.so.0
1118 %attr(755,root,root) %{_libdir}/libsvn_swig_py-1.so
1119 %dir %{py3_sitedir}/libsvn
1120 %attr(755,root,root) %{py3_sitedir}/libsvn/_*.so
1121 %{py3_sitedir}/libsvn/*.py
1122 %{py3_sitedir}/libsvn/__pycache__
1123 %dir %{py3_sitedir}/svn
1124 %{py3_sitedir}/svn/*.py
1125 %{py3_sitedir}/svn/__pycache__
1126 %{_examplesdir}/python3-%{name}-%{version}
1130 %files -n python3-csvn
1131 %defattr(644,root,root,755)
1132 %doc subversion/bindings/ctypes-python/{README,TODO}
1133 %doc subversion/bindings/ctypes-python/examples/*.py
1134 %{py3_sitescriptdir}/csvn
1135 %{py3_sitescriptdir}/svn_ctypes_python_bindings-0.1-py*.egg-info
1140 %files -n perl-subversion
1141 %defattr(644,root,root,755)
1142 %attr(755,root,root) %{_libdir}/libsvn_swig_perl-1.so.*.*.*
1143 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_perl-1.so.0
1144 %attr(755,root,root) %{_libdir}/libsvn_swig_perl-1.so
1145 %{perl_vendorarch}/SVN
1146 %dir %{perl_vendorarch}/auto/SVN
1147 %dir %{perl_vendorarch}/auto/SVN/*
1148 %attr(755,root,root) %{perl_vendorarch}/auto/SVN/*/*.so
1149 %{_mandir}/man3/SVN::*.3pm*
1153 %files -n ruby-subversion
1154 %defattr(644,root,root,755)
1155 %attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so.*.*.*
1156 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_ruby-1.so.0
1157 %attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so
1158 %dir %{ruby_vendorarchdir}/svn
1159 %{ruby_vendorarchdir}/svn/*.rb
1160 %dir %{ruby_vendorarchdir}/svn/ext
1161 %attr(755,root,root) %{ruby_vendorarchdir}/svn/ext/*.so
1166 %files -n apache-mod_dav_svn
1167 %defattr(644,root,root,755)
1168 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_dav_svn.conf
1169 %attr(755,root,root) %{apachelibdir}/mod_dav_svn.so
1171 %files -n apache-mod_authz_svn
1172 %defattr(644,root,root,755)
1173 %doc subversion/mod_authz_svn/INSTALL
1174 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_authz_svn.conf
1175 %attr(755,root,root) %{apachelibdir}/mod_authz_svn.so
1177 %files -n apache-mod_dontdothat_svn
1178 %defattr(644,root,root,755)
1179 %doc tools/server-side/mod_dontdothat/README
1180 %attr(755,root,root) %{apachelibdir}/mod_dontdothat.so