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