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