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