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