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