]> git.pld-linux.org Git - packages/subversion.git/blob - subversion.spec
- rediff patches
[packages/subversion.git] / subversion.spec
1 #
2 # Conditional build:
3 %bcond_with     net_client_only         # build only net client
4 %bcond_without  swig                    # disable bindings generation with Swig
5 %bcond_without  python                  # build without Python bindings
6 %bcond_without  csvn                    # build Python csvn bindings
7 %bcond_without  perl                    # build without Perl bindings
8 %bcond_with     ruby                    # build without Ruby bindings
9 %bcond_without  apache                  # build without Apache support (webdav, etc)
10 %bcond_without  java                    # build without javahl support (Java high-level bindings)
11 %bcond_with     tests                   # don't perform "make check"
12 %bcond_without  kwallet                 # build without kde5 wallet support
13 %bcond_without  kde                     # build without kde5 support (alias for kwallet)
14 %bcond_without  gnome                   # build without gnome keyring support
15 %bcond_without  db                      # disable Subversion Berkeley DB based filesystem library
16 %bcond_with     db6                     # allow BDB6 (not tested by upstream, released on AGPL)
17
18 # for AC: --without csvn,gnome,java,kde,ruby
19
20 %if %{with net_client_only}
21 %undefine       with_apache
22 %undefine       with_db
23 %undefine       with_swig
24 %undefine       with_java
25 %undefine       with_csvn
26 %undefine       with_gnome
27 %undefine       with_kde
28 %endif
29
30 %if %{without swig}
31 %undefine       with_perl
32 %undefine       with_python
33 %undefine       with_ruby
34 %endif
35
36 %if %{without kde}
37 %undefine       with_kwallet
38 %endif
39
40 %if %{without python} && %{without perl} && %{without ruby}
41 %undefine       with_swig
42 %endif
43
44 %define apxs    /usr/sbin/apxs
45 %define pdir    SVN
46 %define pnam    _Core
47
48 Summary:        A Concurrent Versioning system similar to but better than CVS
49 Summary(pl.UTF-8):      System kontroli wersji podobny, ale lepszy, niż CVS
50 Summary(pt_BR.UTF-8):   Sistema de versionamento concorrente
51 Name:           subversion
52 Version:        1.14.1
53 Release:        1
54 License:        Apache v2.0
55 Group:          Development/Version Control
56 Source0:        http://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2
57 # Source0-md5:  2eccc2c7451397e01a13682600af9563
58 Source1:        %{name}-dav_svn.conf
59 Source2:        %{name}-authz_svn.conf
60 Source3:        %{name}-svnserve.init
61 Source4:        %{name}-svnserve.sysconfig
62 # current subversion tarball has correct *.swg files
63 # but after regeneration these are broken again, so
64 # we still need this script
65 Source5:        %{name}-convert-typemaps-to-ifdef.py
66 Patch0:         %{name}-home_etc.patch
67 Patch1:         %{name}-DESTDIR.patch
68 Patch2:         %{name}-ruby-datadir-path.patch
69 Patch3:         %{name}-tests.patch
70 Patch4:         x32-libdir.patch
71 URL:            http://subversion.apache.org/
72 %{?with_apache:BuildRequires:   apache-devel >= 2.4.14}
73 BuildRequires:  apr-devel >= 1:1.4
74 BuildRequires:  apr-util-devel >= 1:1.3
75 BuildRequires:  apr-util-crypto-openssl
76 BuildRequires:  autoconf >= 2.59
77 BuildRequires:  automake
78 BuildRequires:  bison
79 BuildRequires:  cyrus-sasl-devel
80 %if %{with kwallet} || %{with gnome}
81 BuildRequires:  dbus-devel
82 %endif
83 %{!?with_db6:BuildRequires:     db-devel < 6}
84 BuildRequires:  db-devel >= 4.1.25
85 BuildRequires:  expat-devel
86 BuildRequires:  gettext-tools
87 %{?with_gnome:BuildRequires:    glib2-devel >= 2.0}
88 %{?with_kde:BuildRequires:      kf5-kdelibs4support-devel}
89 %{?with_kwallet:BuildRequires:  kf5-kwallet-devel}
90 %{?with_gnome:BuildRequires:    libgnome-keyring-devel}
91 %{?with_gnome:BuildRequires:    libsecret-devel}
92 BuildRequires:  libmagic-devel
93 BuildRequires:  libtool >= 2:2
94 BuildRequires:  libutf8proc-devel >= 1.3.1-4
95 BuildRequires:  lz4-devel
96 BuildRequires:  pkgconfig
97 %{?with_csvn:BuildRequires:     python-ctypesgen}
98 BuildRequires:  rpm-pythonprov
99 BuildRequires:  rpmbuild(macros) >= 1.752
100 BuildRequires:  sed >= 4.0
101 BuildRequires:  serf-devel >= 1.3.4
102 BuildRequires:  sqlite3-devel >= 3.8.11.1
103 BuildRequires:  texinfo
104 BuildRequires:  which
105 BuildRequires:  zlib-devel >= 1.2
106 %if %{with java}
107 BuildRequires:  jdk >= 1.8
108 BuildRequires:  libstdc++-devel >= 6:4.7
109 %endif
110 %if %{with perl}
111 BuildRequires:  perl-devel >= 1:5.8.0
112 BuildRequires:  rpm-perlprov >= 4.1-13
113 BuildRequires:  swig-perl >= 1.3.24
114 %endif
115 %if %{with python}
116 BuildRequires:  py3c
117 BuildRequires:  python-devel >= 1:2.4
118 BuildRequires:  swig3-python >= 3.0.12
119 BuildRequires:  swig3-python < 4.0.0
120 %endif
121 %if %{with ruby}
122 BuildRequires:  rpm-rubyprov
123 BuildRequires:  ruby-devel >= 1:1.8.2
124 BuildRequires:  ruby-irb
125 BuildRequires:  ruby-rubygems
126 BuildRequires:  swig-ruby >= 1.3.24
127 %endif
128 Requires:       %{name}-libs = %{version}-%{release}
129 %requires_ge    sqlite3
130 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
131
132 %define         _libexecdir             %{_libdir}/svn
133 %define         apacheconfdir   %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d
134 %define         apachelibdir    %(%{apxs} -q LIBEXECDIR 2>/dev/null)
135
136 %define         skip_post_check_so      libsvn_swig_py-1.so.* libsvn_swig_perl-1.so.* libsvn_fs_x-1.so.*
137
138 %description
139 The goal of the Subversion project is to build a version control
140 system that is a compelling replacement for CVS in the open source
141 community.
142
143 Our goals are:
144 - All current CVS features.
145 - Directories, renames, and file meta-data are versioned.
146 - Symbolic links, etc, are supported
147 - Commits are truly atomic.
148 - Branching and tagging are cheap (constant time) operations
149 - Repeated merges are handled gracefully
150 - Support for plug-in client side diff programs
151 - Natively client/server
152 - Client/server protocol sends diffs in both directions
153 - Costs are proportional to change size, not project size
154 - Internationalization
155 - Progressive multi-lingual support
156
157 %description -l pl.UTF-8
158 Celem projektu Subversion jest stworzenie systemu kontroli wersji jako
159 zamiennika dla CVS.
160
161 Cele projektu to:
162 - Wszystkie aktualne możliwości CVS.
163 - Katalogi, zmiany nazw oraz metadane plików są wersjonowane.
164 - Obsługa dowiązań symbolicznych itp.
165 - Commity są w pełni atomowe.
166 - Branchowanie oraz tagowanie są tanimi (stałymi w czasie) operacjami.
167 - Dobra obsługa powtarzanego łączenia (merge).
168 - Obsługa wtyczek diff po stronie klienta.
169 - Natywny klient/serwer.
170 - Klient/Serwer przesyłają diffy w obu kierunkach.
171 - Koszty proporcjonalne do rozmiaru zmiany, a nie rozmiaru projektu.
172 - Internacjonalizacja.
173 - Postępujące wsparcie dla wielu języków.
174
175 %description -l pt_BR.UTF-8
176 O objetivo do projeto Subversion é construir um sistema de controle de
177 versões que seja um substituto para o CVS (Concurrent Versioning
178 System) na comunidade opensource, fornecendo grandes melhorias.
179
180 %package libs
181 Summary:        Subversion libraries and modules
182 Summary(pl.UTF-8):      Biblioteka subversion oraz ładowalne moduły
183 Group:          Libraries
184 Requires:       apr >= 1:1.4
185 Requires:       apr-util >= 1:1.3
186 Requires:       serf >= 1.3.4
187 Requires:       zlib >= 1.2
188 Obsoletes:      libsubversion0
189
190 %description libs
191 Subversion libraries and modules.
192
193 %description libs -l pl.UTF-8
194 Biblioteka subversion oraz ładowalne moduły.
195
196 %package devel
197 Summary:        Header files and develpment documentation for subversion
198 Summary(pl.UTF-8):      Pliki nagłówkowe i dokumetacja do subversion
199 Summary(pt_BR.UTF-8):   Arquivos de desenvolvimento para o Subversion
200 Group:          Development/Libraries
201 Requires:       %{name}-libs = %{version}-%{release}
202 Requires:       apr-util-devel >= 1:1.3
203 Requires:       libutf8proc-devel >= 1.3.1-4
204 Requires:       serf-devel >= 1.3.4
205 Obsoletes:      libsubversion0-devel
206
207 %description devel
208 Header files and develpment documentation for subversion.
209
210 %description devel -l pl.UTF-8
211 Pliki nagłówkowe i dokumetacja do subversion.
212
213 %description devel -l pt_BR.UTF-8
214 Este pacote provê os arquivos necessários para desenvolvedores
215 interagirem com o Subversion.
216
217 %package static
218 Summary:        Static subversion library
219 Summary(pl.UTF-8):      Biblioteka statyczna subversion
220 Summary(pt_BR.UTF-8):   Sistema de versionamento concorrente
221 Group:          Development/Libraries
222 Requires:       %{name}-devel = %{version}
223 Obsoletes:      libsubversion0-static-devel
224
225 %description static
226 Static subversion library.
227
228 %description static -l pl.UTF-8
229 Biblioteka statyczna subversion.
230
231 %description static -l pt_BR.UTF-8
232 Este pacote provê um cliente estático do subversion.
233
234 %package svnserve
235 Summary:        Subversion svnserve
236 Summary(pl.UTF-8):      Subversion svnserve
237 Group:          Networking/Daemons
238 Requires(post,preun):   /sbin/chkconfig
239 Requires(postun):       /usr/sbin/groupdel
240 Requires(postun):       /usr/sbin/userdel
241 Requires(pre):  /bin/id
242 Requires(pre):  /usr/bin/getgid
243 Requires(pre):  /usr/lib/rpm/user_group.sh
244 Requires(pre):  /usr/sbin/groupadd
245 Requires(pre):  /usr/sbin/useradd
246 Requires(pre):  /usr/sbin/usermod
247 Requires:       %{name} = %{version}-%{release}
248 Requires:       rc-scripts
249 Provides:       group(svn)
250 Provides:       user(svn)
251
252 %description svnserve
253 Subversion svnserve server.
254
255 %description svnserve -l pl.UTF-8
256 Serwer subversion svnserve.
257
258 %package tools
259 Summary:        Subversion tools and scripts
260 Summary(pl.UTF-8):      Narzędzia oraz skrypty dla subversion
261 Summary(pt_BR.UTF-8):   Módulos python para acessar os recursos do Subversion
262 Group:          Applications
263 Requires:       %{name} = %{version}-%{release}
264 Requires:       python
265 %{?with_python:Requires:        python-subversion = %{version}}
266
267 %description tools
268 Subversion tools and scripts.
269
270 %description tools -l pl.UTF-8
271 Narzędzia oraz skrypty dla subversion.
272
273 %package -n bash-completion-subversion
274 Summary:        bash completion for subversion
275 Summary(pl.UTF-8):      Dopełnienia basha dla subversion
276 Group:          Applications/Shells
277 Requires:       %{name} = %{version}-%{release}
278 Requires:       bash-completion
279 Conflicts:      %{name}-tools <= 1.1.0-0.rc6.1
280 BuildArch:      noarch
281
282 %description -n bash-completion-subversion
283 Bash completion for subversion.
284
285 %description -n bash-completion-subversion -l pl.UTF-8
286 Dopełnienia basha dla subversion.
287
288 %package -n java-subversion
289 Summary:        Subversion Java bindings
290 Summary(pl.UTF-8):      Dowiązania do Subversion dla Javy
291 Group:          Development/Languages/Java
292 Requires:       %{name}-libs = %{version}-%{release}
293
294 %description -n java-subversion
295 This is a set of Java classes which provide the functionality of
296 subversion-libs, the Subversion libraries. It is useful if you want
297 to, for example, write a Java class that manipulates a Subversion
298 repository or working copy. See the 'subversion' package for more
299 information.
300
301 %description -n java-subversion -l pl.UTF-8
302 Ten pakiet zawiera zestaw klas Javy udostępniających funkcjonalność
303 subversion-libs, czyli bibliotek Subversion. Jest przydatny przy
304 pisaniu klas Javy np. modyfikujących repozytorium Subversion lub kopię
305 roboczą. Więcej informacji w pakiecie subversion.
306
307 %package -n python-subversion
308 Summary:        Subversion Python bindings
309 Summary(pl.UTF-8):      Dowiązania do Subversion dla Pythona
310 Summary(pt_BR.UTF-8):   Módulos Python para acessar os recursos do Subversion
311 Group:          Development/Languages/Python
312 Requires:       %{name}-libs = %{version}-%{release}
313 Requires:       python
314 Obsoletes:      subversion-python
315
316 %description -n python-subversion
317 Subversion Python bindings.
318
319 %description -n python-subversion -l pl.UTF-8
320 Dowiązania do Subversion dla Pythona.
321
322 %description -n python-subversion -l pt_BR.UTF-8
323 Módulos Python para acessar os recursos do Subversion.
324
325 %package -n python-csvn
326 Summary:        CTypes Subversion Python bindings
327 Summary(pl.UTF-8):      Dowiązania do Subversion dla Pythona
328 Summary(pt_BR.UTF-8):   Módulos Python para acessar os recursos do Subversion
329 Group:          Development/Languages/Python
330 Requires:       %{name}-libs = %{version}-%{release}
331 Requires:       python
332
333 %description -n python-csvn
334 Subversion CTypes Python bindings.
335
336 %description -n python-csvn -l pl.UTF-8
337 Dowiązania do Subversion dla Pythona używające CTypes.
338
339 %description -n python-csvn -l pt_BR.UTF-8
340 Módulos Python para acessar os recursos do Subversion.
341
342 %package -n perl-subversion
343 Summary:        Subversion Perl bindings
344 Summary(pl.UTF-8):      Dowiązania do Subversion dla Perla
345 Summary(pt_BR.UTF-8):   Módulos Perl para acessar os recursos do Subversion
346 Group:          Development/Languages/Perl
347 Requires:       %{name}-libs = %{version}-%{release}
348 Obsoletes:      subversion-perl
349
350 %description -n perl-subversion
351 Subversion Perl bindings.
352
353 %description -n perl-subversion -l pl.UTF-8
354 Dowiązania do Subversion dla Perla.
355
356 %description -n perl-subversion -l pt_BR.UTF-8
357 Módulos Perl para acessar os recursos do Subversion.
358
359 %package -n ruby-subversion
360 Summary:        Subversion Ruby bindings
361 Summary(pl.UTF-8):      Dowiązania do Subversion dla języka Ruby
362 Summary(pt_BR.UTF-8):   Módulos Ruby para acessar os recursos do Subversion
363 Group:          Development/Languages
364 Requires:       %{name}-libs = %{version}-%{release}
365 Obsoletes:      subversion-ruby
366
367 %description -n ruby-subversion
368 Subversion Ruby bindings.
369
370 %description -n ruby-subversion -l pl.UTF-8
371 Dowiązania do Subversion dla języka Ruby.
372
373 %description -n ruby-subversion -l pt_BR.UTF-8
374 Módulos Ruby para acessar os recursos do Subversion.
375
376 %package -n apache-mod_dav_svn
377 Summary:        Apache module: Subversion Server
378 Summary(pl.UTF-8):      Moduł Apache'a: serwer Subversion
379 Group:          Networking/Daemons
380 Requires:       %{name} = %{version}-%{release}
381 Requires:       apache(modules-api) = %apache_modules_api
382 Requires:       apache-mod_dav
383
384 %description -n apache-mod_dav_svn
385 Apache module: Subversion Server.
386
387 %description -n apache-mod_dav_svn -l pl.UTF-8
388 Moduł Apache'a: serwer Subversion.
389
390 %package -n apache-mod_authz_svn
391 Summary:        Apache module: Subversion Server - path-based authorization
392 Summary(pl.UTF-8):      Moduł Apache'a: autoryzacja na podstawie ścieżki dla serwera Subversion
393 Group:          Networking/Daemons
394 Requires:       %{name}-libs = %{version}-%{release}
395 Requires:       apache(modules-api) = %apache_modules_api
396 Requires:       apache-mod_dav_svn = %{version}-%{release}
397
398 %description -n apache-mod_authz_svn
399 Apache module: Subversion Server - path-based authorization.
400
401 %description -n apache-mod_authz_svn -l pl.UTF-8
402 Moduł Apache'a: autoryzacja na podstawie ścieżki dla serwera
403 Subversion.
404
405 %package -n apache-mod_dontdothat_svn
406 Summary:        Apache module: Allows you to block specific svn requests
407 Summary(pl.UTF-8):      Moduł Apache'a pozwalający na blokowanie pewnych zapytań svn
408 Group:          Networking/Daemons
409 Requires:       %{name}-libs = %{version}-%{release}
410 Requires:       apache(modules-api) = %apache_modules_api
411 Requires:       apache-mod_dav_svn = %{version}-%{release}
412
413 %description -n apache-mod_dontdothat_svn
414 Apache module: Allows you to block specific svn requests.
415
416 %description -n apache-mod_dontdothat_svn -l pl.UTF-8
417 Moduł Apache'a pozwalający na blokowanie pewnych zapytań svn.
418
419 %package -n gnome-keyring-subversion
420 Summary:        GNOME Keyring authentication provider for Subversion
421 Summary(pl.UTF-8):      Moduł uwierzytelniający GNOME Keyring dla Subversion
422 Group:          X11/Applications
423 Requires:       %{name}-libs = %{version}-%{release}
424
425 %description -n gnome-keyring-subversion
426 Authentication provider module for Subversion which allows SVN client
427 to authenticate using GNOME Keyring.
428
429 %description -n gnome-keyring-subversion -l pl.UTF-8
430 Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
431 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
432
433 %package -n kde5-kwallet-subversion
434 Summary:        KDE Wallet authentication provider for Subversion
435 Summary(pl.UTF-8):      Moduł uwierzytelniający dla Subversion wykorzystujący Portfel KDE
436 Group:          X11/Applications
437 Requires:       %{name}-libs = %{version}-%{release}
438
439 %description -n kde5-kwallet-subversion
440 Authentication provider module for Subversion which allows SVN client
441 to authenticate using KDE Wallet.
442
443 %description -n kde5-kwallet-subversion -l pl.UTF-8
444 Moduł uwierzytelniający dla Subversion pozwalający klientom SVN
445 uwierzytelniać się przy użyciu Portfela KDE.
446
447 %prep
448 %setup -q
449 %patch0 -p0
450 %patch1 -p1
451 %patch2 -p0
452 %patch3 -p1
453 %patch4 -p1
454
455 sed -i -e 's#serf_prefix/lib#serf_prefix/%{_lib}#g' build/ac-macros/serf.m4
456
457 sed -E -i -e '1s,#!\s*/usr/bin/env\s+python2(\s|$),#!%{__python}\1,' -e '1s,#!\s*/usr/bin/env\s+python(\s|$),#!%{__python}\1,' -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python}\1,' \
458       tools/backup/hot-backup.py.in \
459       tools/examples/blame.py \
460       tools/examples/check-modified.py \
461       tools/examples/dumpprops.py \
462       tools/examples/get-location-segments.py \
463       tools/examples/getfile.py \
464       tools/examples/geturl.py \
465       tools/examples/putfile.py \
466       tools/examples/revplist.py \
467       tools/examples/svnlook.py \
468       tools/examples/svnshell.py \
469       tools/examples/walk-config-auth.py
470
471 %build
472 # disabled regeneration - subversion 1.6.13 is not ready for swig 2.0.x
473 #%{__rm} subversion/bindings/swig/proxy/*.swg
474 #cd subversion/bindings/swig && python "%{SOURCE5}" && cd ../../..
475 chmod +x ./autogen.sh && ./autogen.sh
476 %{__libtoolize}
477 %configure \
478         --with-editor=vi \
479         --with-zlib=%{_libdir} \
480         --disable-runtime-module-search \
481         --disable-mod-activation \
482 %if %{with db}
483         --with-berkeley-db="db.h:%{_includedir}:%{_libdir}:db" \
484         %{?with_db6:--enable-bdb6} \
485 %else
486         --without-berkeley-db \
487 %endif
488 %if %{with apache}
489         --with-apache-libexecdir="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
490         --with-apxs=%{_sbindir}/apxs \
491 %else
492         --without-apxs \
493 %endif
494 %if %{without swig}
495         --without-swig \
496 %endif
497 %if %{with python}
498         --with-swig=/usr/bin/swig-3 \
499 %endif
500 %if %{with ruby}
501         svn_cv_ruby_sitedir_libsuffix="" \
502         svn_cv_ruby_sitedir_archsuffix="" \
503         --with-ruby-sitedir=%{ruby_vendorarchdir} \
504 %else
505         ac_cv_path_RUBY=none \
506 %endif
507 %if %{with csvn}
508         --with-ctypesgen=%{_bindir}/ctypesgen.py \
509 %endif
510 %if %{with java}
511         --enable-javahl \
512         --with-jdk="%{java_home}" \
513         --without-jikes \
514 %else
515         --disable-javahl \
516 %endif
517         --with-serf=%{_prefix} \
518         --with-apr=%{_bindir}/apr-1-config \
519         --with-apr-util=%{_bindir}/apu-1-config \
520 %if %{with kwallet}
521         --with-kwallet \
522 %endif
523 %if %{with gnome}
524         --with-gnome-keyring
525 %endif
526
527 %{__make} -j1
528
529 %{__make} tools
530
531 %if %{with csvn}
532 # Python ctypes bindings
533 %{__make} ctypes-python
534 %endif
535 %if %{with python}
536 # Python swig bindings
537 %{__make} swig-py \
538         swig_pydir=%{py_sitedir}/libsvn \
539         swig_pydir_extra=%{py_sitedir}/svn
540 %endif
541 %if %{with perl}
542 # Perl swig bindings
543 %{__make} -j1 swig-pl-lib
544 cd subversion/bindings/swig/perl/native
545 %{__perl} Makefile.PL INSTALLDIRS=vendor
546 %{__make} -j1
547 cd -
548 %endif
549 %if %{with java}
550 %{__make} -j1 javahl \
551         javahl_javadir="%{_javadir}"
552 %endif
553 # ruby
554 %if %{with ruby}
555 %{__make} swig-rb
556 %endif
557
558 %if %{with tests}
559 %{__make} -j1 check
560 %if %{with csvn}
561 %{__make} -j1 check-ctypes-python
562 %endif
563 %if %{with python}
564 %{__make} -j1 check-swig-py
565 %endif
566 %if %{with perl}
567 %{__make} -j1 check-swig-pl
568 %endif
569 %if %{with ruby}
570 # disabled, see https://bugs.launchpad.net/pld-linux/+bug/734340
571 #%{__make} check-swig-rb
572 %endif
573 %endif
574
575 %install
576 rm -rf $RPM_BUILD_ROOT
577 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,bash_completion.d} \
578         $RPM_BUILD_ROOT{%{apacheconfdir},%{apachelibdir},%{_infodir}} \
579         $RPM_BUILD_ROOT%{_examplesdir}/{%{name}-%{version},python-%{name}-%{version}} \
580         $RPM_BUILD_ROOT%{_sysconfdir}/%{name} \
581         $RPM_BUILD_ROOT/home/services/subversion{,/repos}
582
583 %{__make} -j1 install \
584         pkgconfig_dir=%{_pkgconfigdir} \
585         toolsdir=%{_bindir} \
586         DESTDIR=$RPM_BUILD_ROOT \
587         APACHE_LIBEXECDIR="$(%{_sbindir}/apxs -q LIBEXECDIR)" \
588 %if %{with java}
589         install-javahl \
590         javahl_javadir="%{_javadir}" \
591 %endif
592 %if %{with python}
593         install-swig-py \
594         swig_pydir=%{py_sitedir}/libsvn \
595         swig_pydir_extra=%{py_sitedir}/svn \
596 %endif
597         install-tools
598
599 %if %{with csvn}
600 # manually execute install-ctypes-python target
601 cd subversion/bindings/ctypes-python
602 %py_install
603 cd ../../..
604 %endif
605
606 %if %{with ruby}
607 %{__make} -j1 install-swig-rb install-swig-rb-doc \
608         SWIG_RB_RI_DATADIR=$RPM_BUILD_ROOT%{ruby_ridir} \
609         DESTDIR=$RPM_BUILD_ROOT
610
611 # not our package
612 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/OptionParser
613 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/Time
614 %if "%{ruby_abi}" >= "2.0"
615 %{__rm} -r $RPM_BUILD_ROOT%{ruby_ridir}/File
616 %endif
617 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
618 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
619 %endif
620
621 %if %{with perl}
622 %{__make} install-swig-pl-lib \
623         DESTDIR=$RPM_BUILD_ROOT
624 %{__make} -C subversion/bindings/swig/perl/native install \
625         DESTDIR=$RPM_BUILD_ROOT \
626         PREFIX=$RPM_BUILD_ROOT%{_prefix} \
627         LIBDIR=$RPM_BUILD_ROOT%{_libdir}
628 %endif
629
630 %if %{with apache}
631 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{apacheconfdir}/65_mod_dav_svn.conf
632 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{apacheconfdir}/66_mod_authz_svn.conf
633 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/svnserve
634 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/svnserve
635 %endif
636
637 %if %{without net_client_only}
638 install -p tools/backup/hot-backup.py $RPM_BUILD_ROOT%{_bindir}/svn-hot-backup
639 %endif
640
641 # rename not to conflict with standard packages. (are these needed at all?)
642 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff
643 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff3
644 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,svn}diff4
645
646 %if %{with python} || %{with csvn}
647 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
648 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
649 %py_postclean
650 %endif
651 %if %{with python}
652 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/libsvn/*.la
653 # .a created on ac only
654 %{__rm} -f $RPM_BUILD_ROOT%{py_sitedir}/libsvn/*.a
655 cp -p tools/examples/*.py $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version}
656 %endif
657
658 cp -p tools/client-side/bash_completion $RPM_BUILD_ROOT/etc/bash_completion.d/%{name}
659 cp -p tools/examples/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
660
661 %if %{with java}
662 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.{la,a}
663 %endif
664 %if %{with swig}
665 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_swig*.{la,a}
666 %if %{with ruby}
667 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/svn/ext/*.la
668 %endif
669 %endif
670 %if %{with gnome} || %{with kwallet}
671 # dlopened by soname (libsvn_auth_*-1.so.0)
672 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libsvn_auth_*-1.{so,la}
673 %endif
674
675 %find_lang %{name}
676
677 %clean
678 rm -rf $RPM_BUILD_ROOT
679
680 %pre svnserve
681 %groupadd -g 86 svn
682 %useradd -u 180 -d /home/services/subversion -c "Subversion svnserve" -g svn svn
683
684 %post   libs -p /sbin/ldconfig
685 %postun libs -p /sbin/ldconfig
686
687 %post   devel -p /sbin/postshell
688 -/usr/sbin/fix-info-dir -c %{_infodir}
689
690 %postun devel -p /sbin/postshell
691 -/usr/sbin/fix-info-dir -c %{_infodir}
692
693 %post   -n java-subversion -p /sbin/ldconfig
694 %postun -n java-subversion -p /sbin/ldconfig
695
696 %post   -n perl-subversion -p /sbin/ldconfig
697 %postun -n perl-subversion -p /sbin/ldconfig
698
699 %post   -n python-subversion -p /sbin/ldconfig
700 %postun -n python-subversion -p /sbin/ldconfig
701
702 %post   -n ruby-subversion -p /sbin/ldconfig
703 %postun -n ruby-subversion -p /sbin/ldconfig
704
705 %post   -n gnome-keyring-subversion -p /sbin/ldconfig
706 %postun -n gnome-keyring-subversion -p /sbin/ldconfig
707
708 %post   -n kde5-kwallet-subversion -p /sbin/ldconfig
709 %postun -n kde5-kwallet-subversion -p /sbin/ldconfig
710
711 %post svnserve
712 /sbin/chkconfig --add svnserve
713 %service svnserve restart "svnserve daemon"
714
715 %preun svnserve
716 if [ "$1" = "0" ]; then
717         %service svnserve stop
718         /sbin/chkconfig --del svnserve
719 fi
720
721 %postun svnserve
722 if [ "$1" = "0" ]; then
723         %userremove svn
724         %groupremove svn
725 fi
726
727 %post -n apache-mod_dav_svn
728 %service -q httpd restart
729
730 %postun -n apache-mod_dav_svn
731 if [ "$1" = "0" ]; then
732         %service -q httpd restart
733 fi
734
735 %post -n apache-mod_authz_svn
736 %service -q httpd restart
737
738 %postun -n apache-mod_authz_svn
739 if [ "$1" = "0" ]; then
740         %service -q httpd restart
741 fi
742
743 %post -n apache-mod_dontdothat_svn
744 %service -q httpd restart
745
746 %postun -n apache-mod_dontdothat_svn
747 if [ "$1" = "0" ]; then
748         %service -q httpd restart
749 fi
750
751 %files
752 %defattr(644,root,root,755)
753 %doc BUGS CHANGES INSTALL README
754 %doc doc/*/*.html
755 %doc tools/hook-scripts/*.{pl,py,example}
756 %doc tools/hook-scripts/mailer/*.{py,example}
757 %doc tools/xslt/*
758 %attr(755,root,root) %{_bindir}/fsfs-stats
759 %attr(755,root,root) %{_bindir}/svn
760 %attr(755,root,root) %{_bindir}/svn-mergeinfo-normalizer
761 %attr(755,root,root) %{_bindir}/svnadmin
762 %attr(755,root,root) %{_bindir}/svnconflict
763 %attr(755,root,root) %{_bindir}/svndumpfilter
764 %attr(755,root,root) %{_bindir}/svnlook
765 %attr(755,root,root) %{_bindir}/svnmover
766 %attr(755,root,root) %{_bindir}/svnmucc
767 %attr(755,root,root) %{_bindir}/svnrdump
768 %attr(755,root,root) %{_bindir}/svnsync
769 %attr(755,root,root) %{_bindir}/svnversion
770 %{_mandir}/man1/svn.1*
771 %{_mandir}/man1/svnadmin.1*
772 %{_mandir}/man1/svndumpfilter.1*
773 %{_mandir}/man1/svnrdump.1*
774 %{_mandir}/man1/svnlook.1*
775 %{_mandir}/man1/svnmucc.1*
776 %{_mandir}/man1/svnsync.1*
777 %{_mandir}/man1/svnversion.1*
778
779 %files libs -f %{name}.lang
780 %defattr(644,root,root,755)
781 %dir %{_sysconfdir}/%{name}
782 %attr(755,root,root) %{_libdir}/libsvn_client-1.so.*.*.*
783 %attr(755,root,root) %ghost %{_libdir}/libsvn_client-1.so.0
784 %attr(755,root,root) %{_libdir}/libsvn_delta-1.so.*.*.*
785 %attr(755,root,root) %ghost %{_libdir}/libsvn_delta-1.so.0
786 %attr(755,root,root) %{_libdir}/libsvn_diff-1.so.*.*.*
787 %attr(755,root,root) %ghost %{_libdir}/libsvn_diff-1.so.0
788 %attr(755,root,root) %{_libdir}/libsvn_fs-1.so.*.*.*
789 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs-1.so.0
790 %if %{without net_client_only}
791 %attr(755,root,root) %{_libdir}/libsvn_fs_base-1.so.*.*.*
792 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_base-1.so.0
793 %endif
794 %attr(755,root,root) %{_libdir}/libsvn_fs_fs-1.so.*.*.*
795 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_fs-1.so.0
796 %attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so.*.*.*
797 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_util-1.so.0
798 %attr(755,root,root) %{_libdir}/libsvn_fs_x-1.so.*.*.*
799 %attr(755,root,root) %ghost %{_libdir}/libsvn_fs_x-1.so.0
800 %attr(755,root,root) %{_libdir}/libsvn_ra-1.so.*.*.*
801 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra-1.so.0
802 %attr(755,root,root) %{_libdir}/libsvn_ra_local-1.so.*.*.*
803 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_local-1.so.0
804 %attr(755,root,root) %{_libdir}/libsvn_ra_serf-1.so.*.*.*
805 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_serf-1.so.0
806 %attr(755,root,root) %{_libdir}/libsvn_ra_svn-1.so.*.*.*
807 %attr(755,root,root) %ghost %{_libdir}/libsvn_ra_svn-1.so.0
808 %attr(755,root,root) %{_libdir}/libsvn_repos-1.so.*.*.*
809 %attr(755,root,root) %ghost %{_libdir}/libsvn_repos-1.so.0
810 %attr(755,root,root) %{_libdir}/libsvn_subr-1.so.*.*.*
811 %attr(755,root,root) %ghost %{_libdir}/libsvn_subr-1.so.0
812 %attr(755,root,root) %{_libdir}/libsvn_wc-1.so.*.*.*
813 %attr(755,root,root) %ghost %{_libdir}/libsvn_wc-1.so.0
814
815 %files devel
816 %defattr(644,root,root,755)
817 %attr(755,root,root) %{_libdir}/libsvn_client-1.so
818 %attr(755,root,root) %{_libdir}/libsvn_delta-1.so
819 %attr(755,root,root) %{_libdir}/libsvn_diff-1.so
820 %attr(755,root,root) %{_libdir}/libsvn_fs-1.so
821 %if %{without net_client_only}
822 %attr(755,root,root) %{_libdir}/libsvn_fs_base-1.so
823 %endif
824 %attr(755,root,root) %{_libdir}/libsvn_fs_fs-1.so
825 %attr(755,root,root) %{_libdir}/libsvn_fs_util-1.so
826 %attr(755,root,root) %{_libdir}/libsvn_fs_x-1.so
827 %attr(755,root,root) %{_libdir}/libsvn_ra-1.so
828 %attr(755,root,root) %{_libdir}/libsvn_ra_local-1.so
829 %attr(755,root,root) %{_libdir}/libsvn_ra_serf-1.so
830 %attr(755,root,root) %{_libdir}/libsvn_ra_svn-1.so
831 %attr(755,root,root) %{_libdir}/libsvn_repos-1.so
832 %attr(755,root,root) %{_libdir}/libsvn_subr-1.so
833 %attr(755,root,root) %{_libdir}/libsvn_wc-1.so
834 %{_libdir}/libsvn_client-1.la
835 %{_libdir}/libsvn_delta-1.la
836 %{_libdir}/libsvn_diff-1.la
837 %{_libdir}/libsvn_fs-1.la
838 %if %{without net_client_only}
839 %{_libdir}/libsvn_fs_base-1.la
840 %endif
841 %{_libdir}/libsvn_fs_fs-1.la
842 %{_libdir}/libsvn_fs_util-1.la
843 %{_libdir}/libsvn_fs_x-1.la
844 %{_libdir}/libsvn_ra-1.la
845 %{_libdir}/libsvn_ra_local-1.la
846 %{_libdir}/libsvn_ra_serf-1.la
847 %{_libdir}/libsvn_ra_svn-1.la
848 %{_libdir}/libsvn_repos-1.la
849 %{_libdir}/libsvn_subr-1.la
850 %{_libdir}/libsvn_wc-1.la
851 %if %{with gnome}
852 # only for feature check, linking will fail (no libsvn_auth_gnome_keyring.so)
853 %{_pkgconfigdir}/libsvn_auth_gnome_keyring.pc
854 %endif
855 %if %{with kwallet}
856 # only for feature check, linking will fail (no libsvn_auth_kwallet.so)
857 %{_pkgconfigdir}/libsvn_auth_kwallet.pc
858 %endif
859 %{_pkgconfigdir}/libsvn_client.pc
860 %{_pkgconfigdir}/libsvn_delta.pc
861 %{_pkgconfigdir}/libsvn_diff.pc
862 %{_pkgconfigdir}/libsvn_fs.pc
863 %if %{without net_client_only}
864 %{_pkgconfigdir}/libsvn_fs_base.pc
865 %endif
866 %{_pkgconfigdir}/libsvn_fs_fs.pc
867 %{_pkgconfigdir}/libsvn_fs_util.pc
868 %{_pkgconfigdir}/libsvn_fs_x.pc
869 %{_pkgconfigdir}/libsvn_ra.pc
870 %{_pkgconfigdir}/libsvn_ra_local.pc
871 %{_pkgconfigdir}/libsvn_ra_serf.pc
872 %{_pkgconfigdir}/libsvn_ra_svn.pc
873 %{_pkgconfigdir}/libsvn_repos.pc
874 %{_pkgconfigdir}/libsvn_subr.pc
875 %{_pkgconfigdir}/libsvn_wc.pc
876 %{_includedir}/%{name}-1
877 %{_examplesdir}/%{name}-%{version}
878
879 %files static
880 %defattr(644,root,root,755)
881 %{_libdir}/libsvn_client-1.a
882 %{_libdir}/libsvn_delta-1.a
883 %{_libdir}/libsvn_diff-1.a
884 %{_libdir}/libsvn_fs-1.a
885 %if %{without net_client_only}
886 %{_libdir}/libsvn_fs_base-1.a
887 %endif
888 %{_libdir}/libsvn_fs_fs-1.a
889 %{_libdir}/libsvn_fs_util-1.a
890 %{_libdir}/libsvn_fs_x-1.a
891 %{_libdir}/libsvn_ra-1.a
892 %{_libdir}/libsvn_ra_local-1.a
893 %{_libdir}/libsvn_ra_serf-1.a
894 %{_libdir}/libsvn_ra_svn-1.a
895 %{_libdir}/libsvn_repos-1.a
896 %{_libdir}/libsvn_subr-1.a
897 %{_libdir}/libsvn_wc-1.a
898
899 %if %{with gnome}
900 %files -n gnome-keyring-subversion
901 %defattr(644,root,root,755)
902 %attr(755,root,root) %{_libdir}/libsvn_auth_gnome_keyring-1.so.*.*.*
903 %attr(755,root,root) %ghost %{_libdir}/libsvn_auth_gnome_keyring-1.so.0
904 # does anything use it? requires libsvn_auth_gnome_keyring.so
905 #%{_pkgconfigdir}/libsvn_auth_gnome_keyring.pc
906 %endif
907
908 %if %{with kwallet}
909 %files -n kde5-kwallet-subversion
910 %defattr(644,root,root,755)
911 %attr(755,root,root) %{_libdir}/libsvn_auth_kwallet-1.so.*.*.*
912 %attr(755,root,root) %ghost %{_libdir}/libsvn_auth_kwallet-1.so.0
913 # does anything use it? requires libsvn_auth_kwallet.so
914 #%{_pkgconfigdir}/libsvn_auth_kwallet.pc
915 %endif
916
917 %if %{without net_client_only}
918 %files svnserve
919 %defattr(644,root,root,755)
920 %attr(755,root,root) %{_bindir}/svnserve
921 %{_mandir}/man5/svnserve.conf.5*
922 %{_mandir}/man8/svnserve.8*
923 %dir %attr(750,svn,svn) /home/services/subversion
924 %dir %attr(750,svn,svn) /home/services/subversion/repos
925 %if %{with apache}
926 %attr(754,root,root) /etc/rc.d/init.d/svnserve
927 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/svnserve
928 %endif
929
930 %files tools
931 %defattr(644,root,root,755)
932 # tools/backup/hot-backup.py
933 %attr(755,root,root) %{_bindir}/svn-hot-backup
934
935 # tools/diff
936 %attr(755,root,root) %{_bindir}/svndiff
937 %attr(755,root,root) %{_bindir}/svndiff3
938 %attr(755,root,root) %{_bindir}/svndiff4
939
940 # tools/server-side
941 %attr(755,root,root) %{_bindir}/svnfsfs
942 %attr(755,root,root) %{_bindir}/svn-populate-node-origins-index
943 %attr(755,root,root) %{_bindir}/svnauthz
944 %attr(755,root,root) %{_bindir}/svnauthz-validate
945
946 # tools/client-side
947 %attr(755,root,root) %{_bindir}/svnbench
948
949 # tools/dev/svnraisetreeconflict
950 %attr(755,root,root) %{_bindir}/svnraisetreeconflict
951
952 # tools/dev/
953 %attr(755,root,root) %{_bindir}/fsfs-access-map
954 %attr(755,root,root) %{_bindir}/x509-parser
955
956 %files -n bash-completion-subversion
957 %defattr(644,root,root,755)
958 /etc/bash_completion.d/%{name}
959
960 %endif # net_client_only
961
962 %if %{with java}
963 %files -n java-subversion
964 %defattr(644,root,root,755)
965 %attr(755,root,root) %{_libdir}/libsvnjavahl-1.so.*.*.*
966 %attr(755,root,root) %ghost %{_libdir}/libsvnjavahl-1.so.0
967 %attr(755,root,root) %{_libdir}/libsvnjavahl-1.so
968 %{_javadir}/svn-javahl.jar
969 %endif
970
971 %if %{with python}
972 %files -n python-subversion
973 %defattr(644,root,root,755)
974 %doc tools/backup/*.py
975 %attr(755,root,root) %{_libdir}/libsvn_swig_py-1.so.*.*.*
976 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_py-1.so.0
977 %attr(755,root,root) %{_libdir}/libsvn_swig_py-1.so
978 %dir %{py_sitedir}/libsvn
979 %attr(755,root,root) %{py_sitedir}/libsvn/_*.so
980 %{py_sitedir}/libsvn/*.py[co]
981 %dir %{py_sitedir}/svn
982 %{py_sitedir}/svn/*.py[co]
983 %{_examplesdir}/python-%{name}-%{version}
984 %endif
985
986 %if %{with csvn}
987 %files -n python-csvn
988 %defattr(644,root,root,755)
989 %doc subversion/bindings/ctypes-python/{README,TODO}
990 %doc subversion/bindings/ctypes-python/examples/*.py
991 %dir %{py_sitescriptdir}/csvn
992 %{py_sitescriptdir}/csvn/*.py[co]
993 %dir %{py_sitescriptdir}/csvn/core
994 %{py_sitescriptdir}/csvn/core/*.py[co]
995 %dir %{py_sitescriptdir}/csvn/ext
996 %{py_sitescriptdir}/csvn/ext/*.py[co]
997 %{py_sitescriptdir}/svn_ctypes_python_bindings-0.1-py*.egg-info
998 %endif
999
1000 %if %{with perl}
1001 %files -n perl-subversion
1002 %defattr(644,root,root,755)
1003 %attr(755,root,root) %{_libdir}/libsvn_swig_perl-1.so.*.*.*
1004 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_perl-1.so.0
1005 %attr(755,root,root) %{_libdir}/libsvn_swig_perl-1.so
1006 %{perl_vendorarch}/SVN
1007 %dir %{perl_vendorarch}/auto/SVN
1008 %dir %{perl_vendorarch}/auto/SVN/*
1009 %attr(755,root,root) %{perl_vendorarch}/auto/SVN/*/*.so
1010 %{_mandir}/man3/SVN::*.3pm*
1011 %endif
1012
1013 %if %{with ruby}
1014 %files -n ruby-subversion
1015 %defattr(644,root,root,755)
1016 %attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so.*.*.*
1017 %attr(755,root,root) %ghost %{_libdir}/libsvn_swig_ruby-1.so.0
1018 %attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so
1019 %dir %{ruby_vendorarchdir}/svn
1020 %{ruby_vendorarchdir}/svn/*.rb
1021 %dir %{ruby_vendorarchdir}/svn/ext
1022 %attr(755,root,root) %{ruby_vendorarchdir}/svn/ext/*.so
1023 %{ruby_ridir}/Svn
1024 %endif
1025
1026 %if %{with apache}
1027 %files -n apache-mod_dav_svn
1028 %defattr(644,root,root,755)
1029 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_dav_svn.conf
1030 %attr(755,root,root) %{apachelibdir}/mod_dav_svn.so
1031
1032 %files -n apache-mod_authz_svn
1033 %defattr(644,root,root,755)
1034 %doc subversion/mod_authz_svn/INSTALL
1035 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_authz_svn.conf
1036 %attr(755,root,root) %{apachelibdir}/mod_authz_svn.so
1037
1038 %files -n apache-mod_dontdothat_svn
1039 %defattr(644,root,root,755)
1040 %doc tools/server-side/mod_dontdothat/README
1041 %attr(755,root,root) %{apachelibdir}/mod_dontdothat.so
1042 %endif
This page took 0.183317 seconds and 3 git commands to generate.