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