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