/[packages]/updates/3/subversion/current/SPECS/subversion.spec
ViewVC logotype

Contents of /updates/3/subversion/current/SPECS/subversion.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 448230 - (show annotations) (download)
Sat Jun 29 09:11:52 2013 UTC (10 years, 9 months ago) by shlomif
File size: 27671 byte(s)
Fix MGA#9843 - make svnserve systemd task start properly.
1 %define _requires_exceptions devel(libneon
2
3 %define apache_version 2.2.0
4 %define libsvn %mklibname svn 0
5 %define libsvngnomekeyring %mklibname svn-gnome-keyring 0
6 %define libsvnkwallet %mklibname svn-kwallet 0
7
8 # Java requires devel symlinks in non-devel packages due to design
9 # (System.loadLibrary). Do not add -devel dependencies.
10 %define _exclude_files_from_autoreq ^%{_libdir}/libsvnjavahl-%{svnjavahl_api}.so$
11
12 %define build_python 1
13 %{?_without_python: %{expand: %%global build_python 0}}
14
15 %define build_ruby 1
16 %{?_without_ruby: %{expand: %%global build_ruby 0}}
17
18 %define build_java 1
19 %{?_with_java: %{expand: %%global build_java 1}}
20
21 %define build_perl 1
22 %{?_without_perl: %{expand: %%global build_perl 0}}
23
24 %define build_gnome_keyring 1
25 %{?_without_gnome_keyring: %{expand: %%global build_gnome_keyring 0}}
26
27 %define build_kwallet 1
28 %{?_without_kwallet: %{expand: %%global build_kwallet 0}}
29
30 %define build_test 0
31 %{?_with_test: %{expand: %%global build_test 1}}
32
33 %define with_debug 0
34 %{?_with_debug: %{expand: %%global with_debug 1}}
35
36 %ifarch %mips %arm
37 %define build_java 0
38 %endif
39
40 Name: subversion
41 Version: 1.7.10
42 %define subrel 2
43 Release: %mkrel 1
44 Epoch: 2
45 Summary: A Concurrent Versioning System
46 License: Apache License
47 Group: Development/Tools
48 URL: http://subversion.apache.org/
49 Source0: http://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2
50 Source1: http://www.apache.org/dist/subversion/%{name}-%{version}.tar.bz2.asc
51 Source2: mod_dav_svn.conf
52 Source3: subversion.conf
53 Source5: %{name}-1.3.0-global-config
54 Source6: %{name}-1.3.0-global-servers
55 Source7: http://svnbook.red-bean.com/nightly/en/svn-book-html-chunk.tar.bz2
56 Source8: svnserve.service
57 Source9: svnserve-tmpfiles.conf
58 Patch0: subversion-1.7.1-underlink.patch
59 # http://www.rz.uni-karlsruhe.de/~rz41/source/Patches/subversion-1.4.3/hook-scripts-patch
60 # Patch1: subversion-1.6.0-deplibs.patch
61 Patch2: subversion-1.7.2-ruby19.patch
62 Patch4: subversion-hook-script_pathfix.diff
63 Patch5: subversion-propchange-email.diff
64 BuildRequires: autoconf >= 2.54
65 BuildRequires: libtool >= 1.4.2
66 BuildRequires: chrpath
67 BuildRequires: python >= 2.2
68 BuildRequires: texinfo
69 BuildRequires: info-install
70 BuildRequires: db-devel
71 BuildRequires: pkgconfig(neon)
72 BuildRequires: apache-devel >= %{apache_version}
73 BuildRequires: pkgconfig(apr-1) >= 1.3.0
74 BuildRequires: pkgconfig(apr-util-1) >= 1.3.0
75 BuildRequires: libxslt-proc
76 BuildRequires: docbook-style-xsl
77 BuildRequires: serf-devel >= 0.3.0
78 BuildRequires: pkgconfig(sqlite3) >= 3.4.0
79 # Swig is runtime only
80 BuildRequires: swig >= 1.3.27
81 BuildRequires: multiarch-utils >= 1.0.3
82 Provides: %{name}-ra-method = %{epoch}:%{version}-%{release}
83 Provides: %{name}-client-tools = %{epoch}:%{version}-%{release}
84 Provides: svn = %{epoch}:%{version}
85 Requires: %{libsvn} = %{epoch}:%{version}
86
87 %description
88 Subversion (SVN) is a concurrent version control system which enables one or
89 more users to collaborate in developing and maintaining a hierarchy of files
90 and directories while keeping a history of all changes. Subversion only stores
91 the differences between versions, instead of every complete file. Subversion
92 also keeps a log of who, when, and why changes occurred.
93
94 As such it basically does the same thing CVS does (Concurrent Versioning
95 System) but has major enhancements compared to CVS and fixes a lot of the
96 annoyances that CVS users face.
97
98 This package contains the client, if you're looking for the server end
99 of things you want %{name}-server.
100
101 %files -f %{name}.lang
102 %{_bindir}/svn
103 %{_bindir}/svnversion
104 %{_bindir}/showchange*
105 # Contrib was removed in subversion-1.7.x
106 # %%{_bindir}/search-svnlog*
107 # %%{_bindir}/svn_all_diffs*
108 # %%{_bindir}/svn_load_dirs*
109 # %%{_bindir}/svn-log*
110 %{_bindir}/svnlook
111 %{_mandir}/man1/svn.*
112 %{_mandir}/man1/svnlook.*
113 %{_mandir}/man1/svnversion.*
114 %{_mandir}/man1/svnsync.*
115 %dir %{_datadir}/subversion-%{version}
116 %{_sysconfdir}/bash_completion.d/subversion
117
118 #--------------------------------------------------------------------------
119
120 %package doc
121 Summary: Subversion Documenation
122 Group: Documentation
123
124 %description doc
125 Subversion is a concurrent version control system which enables
126 one or more users to collaborate in developing and maintaining a
127 hierarchy of files and directories while keeping a history of all
128 changes. Subversion only stores the differences between versions,
129 instead of every complete file. Subversion also keeps a log of
130 who, when, and why changes occurred.
131
132 As such it basically does the same thing CVS does (Concurrent
133 Versioning System) but has major enhancements compared to CVS and
134 fixes a lot of the annoyances that CVS users face.
135
136 This package contains the subversion book and design info files.
137
138 %post doc
139 %_install_info svn-design.info
140 %_install_info svn-handbook.info
141
142 %postun doc
143 %_install_info svn-design.info
144 %_install_info svn-handbook.info
145
146 %files doc
147 %doc svnbook-1.*
148 %doc doc/user/*.html
149 %doc doc/user/*.txt
150
151 #--------------------------------------------------------------------------
152
153 %package -n %{libsvn}
154 Summary: Subversion libraries
155 Group: System/Libraries
156
157 %description -n %{libsvn}
158 Subversion common libraries
159
160 %files -n %{libsvn}
161 # list all ra libs to make sure we don't miss any
162 # in a bogus build
163 %{_libdir}/libsvn_ra-1.so.*
164 %{_libdir}/libsvn_ra_local-1.so.*
165 %{_libdir}/libsvn_ra_svn-1.so.*
166 %{_libdir}/libsvn_ra_neon-1.so.*
167 %{_libdir}/libsvn_client*so.*
168 %{_libdir}/libsvn_wc-*so.*
169 %{_libdir}/libsvn_delta-*so.*
170 %{_libdir}/libsvn_subr-*so.*
171 %{_libdir}/libsvn_diff-*so.*
172 %{_libdir}/libsvn_fs*.so.*
173 %{_libdir}/libsvn_repos-*.so.*
174 %dir %{_sysconfdir}/subversion
175 %config(noreplace) %{_sysconfdir}/subversion/*
176
177 #---------------------------------------------------------------------------
178
179 %if %{build_gnome_keyring}
180
181 %package -n %{libsvngnomekeyring}
182 Summary: gnome-keyring support for svn
183 Group: System/Libraries
184 BuildRequires: pkgconfig(gnome-keyring-1)
185 BuildRequires: pkgconfig(dbus-1) >= 1.2.4.4permissive
186 Requires: gnome-keyring >= 2.26.1
187
188 %description -n %{libsvngnomekeyring}
189 Subversion libraries that allow interaction with the gnome-keyring daemon
190
191 %files -n %{libsvngnomekeyring}
192 # list all ra libs to make sure we don't miss any
193 # in a bogus build
194 %{_libdir}/libsvn_auth_gnome_keyring-1.so.0*
195
196 %endif
197
198 #--------------------------------------------------------------------------
199
200 %if %{build_kwallet}
201
202 %package -n %{libsvnkwallet}
203 Summary: kwallet support for svn
204 Group: System/Libraries
205 BuildRequires: kdelibs4-devel
206 BuildRequires: pkgconfig(dbus-1) >= 1.2.4.4permissive
207 Requires: kwallet
208
209 %description -n %{libsvnkwallet}
210 Subversion libraries that allow interaction with the kwallet daemon.
211
212 %files -n %{libsvnkwallet}
213 # list all ra libs to make sure we don't miss any
214 # in a bogus build
215 %{_libdir}/libsvn_auth_kwallet-1.so.0*
216
217 %endif
218
219 #--------------------------------------------------------------------------
220
221 %package server
222 Summary: Subversion Server
223 Group: System/Servers
224 Requires: %{name} = %{epoch}:%{version}-%{release}
225 Requires(pre): rpm-helper
226 Requires(preun): rpm-helper
227 Requires(postun): rpm-helper
228 Requires(post): sed
229 Requires(post): rpm-helper
230 Requires(post): systemd
231 # soname didn't change between 1.3.x and 1.4.x, but we
232 # need the right one...
233 Requires: %{libsvn} = %{epoch}:%{version}
234
235 %description server
236 This package contains a myriad of tools for subversion server
237 and repository admins:
238 * hot-backup makes a backup of a svn repo without stopping
239 * mirror_dir_through_svn.cgi
240 * various hook scripts
241 * xslt example
242
243 Note that cvs2svn has moved out of subversion and is a separate
244 project. It has not released its own package yet, but you can
245 find it at http://cvs2svn.tigris.org/
246
247 %pre server
248 %_pre_useradd svn /var/lib/svn /bin/false
249
250 %preun server
251 %_preun_service svnserve
252
253 %post server
254 %_tmpfilescreate svnserve
255 %_post_service svnserve
256 # fix svn entries in /etc/services
257 if ! grep -qE '^svn[[:space:]]+3690/(tcp|udp)[[:space:]]+svnserve' %{_sysconfdir}/services; then
258 # cleanup
259 sed -i -e '/^svn\(serve\)\?/d;/^# svnserve ports added by subversion-server/d' %{_sysconfdir}/services
260 echo "# svnserve ports added by subversion-server" >> /etc/services
261 echo -e "svn\t3690/tcp\tsvnserve\t# Subversion svnserve" >> /etc/services
262 echo -e "svn\t3690/udp\tsvnserve\t# Subversion svnserve" >> /etc/services
263 fi
264
265 %postun server
266 %_postun_userdel svn
267
268 %files server
269 %doc BUGS CHANGES COMMITTERS LICENSE INSTALL README
270 %{_bindir}/svnserve
271 %{_unitdir}/svnserve.service
272 /var/lib/svn
273 %{_mandir}/man8/svnserve.8*
274 %{_mandir}/man5/svnserve.conf.5*
275 %{_tmpfilesdir}/svnserve.conf
276
277 #--------------------------------------------------------------------------
278
279 %package tools
280 Summary: Subversion Repo/Server Tools
281 Group: Development/Tools
282 Requires: %{name} = %{epoch}:%{version}-%{release}
283 # soname didn't change between 1.3.x and 1.4.x, but we
284 # need the right one...
285 Requires: %{libsvn} = %{epoch}:%{version}
286
287 %description tools
288 This package contains a myriad of tools for subversion server
289 and repository admins:
290 * hot-backup makes a backup of a svn repo without stopping
291 * mirror_dir_through_svn.cgi
292 * various hook scripts
293 * xslt example
294
295 Note that cvs2svn has moved out of subversion and is a separate
296 project. It has not released its own package yet, but you can
297 find it at http://cvs2svn.tigris.org/
298
299 %files tools
300 %{_bindir}/hot-backup*
301 %{_bindir}/svnadmin
302 %{_bindir}/svnsync
303 %{_bindir}/svndumpfilter
304 %{_bindir}/svnrdump
305 %{_datadir}/%{name}-%{version}/repo-tools
306 %{_mandir}/man1/svnadmin.1*
307 %{_mandir}/man1/svndumpfilter.1*
308 %{_mandir}/man1/svnrdump.1*
309
310 #--------------------------------------------------------------------------
311
312 %if %{build_python}
313
314 %package -n python-svn
315 Summary: Python bindings for Subversion
316 Group: Development/Python
317 %py_requires -d
318 Provides: python-subversion = %{version}-%{release}
319 Requires: python
320 # soname didn't change between 1.3.x and 1.4.x, but we
321 # need the right one...
322 Requires: %{libsvn} = %{epoch}:%{version}
323
324 %description -n python-svn
325 This package contains the files necessary to use the subversion
326 library functions within python scripts.
327
328 %files -n python-svn
329 %{_libdir}/libsvn_swig_py*.so.*
330 %{py_sitedir}/svn
331 %{py_platsitedir}/libsvn
332 %doc tools/examples/*.py subversion/bindings/swig/INSTALL subversion/bindings/swig/NOTES
333
334 %endif
335
336 #--------------------------------------------------------------------------
337
338 %if %{build_ruby}
339
340 %package -n ruby-svn
341 Summary: Ruby bindings for Subversion
342 Group: Development/Ruby
343 BuildRequires: ruby-devel
344 Requires: ruby
345 Requires: %{libsvn} = %{epoch}:%{version}
346 Provides: ruby-subversion = %{epoch}:%{version}-%{release}
347
348 %description -n ruby-svn
349 This package contains the files necessary to use the subversion
350 library functions within ruby scripts.
351
352 %files -n ruby-svn
353 %{ruby_sitearchdir}/svn
354 %{ruby_sitelibdir}/*/*.rb
355 %{_libdir}/libsvn_swig_ruby*.so.*
356
357 %endif
358
359 #--------------------------------------------------------------------------
360
361 %if %{build_java}
362 # We have the non-major symlink also in this package (due to java design),
363 # so we only have %%api in package name.
364 %define svnjavahl_api 1
365 %define libsvnjavahl %mklibname svnjavahl %{svnjavahl_api}
366
367 %package -n %{libsvnjavahl}
368 Summary: Svn Java bindings library
369 Group: System/Libraries
370 Conflicts: subversion-devel < 2:1.6.0-3
371 Obsoletes: %{_lib}svnjavahl0 < 2:1.6.0-3
372
373 %description -n %{libsvnjavahl}
374 Svn Java bindings library
375
376 %files -n %{libsvnjavahl}
377 %{_libdir}/libsvnjavahl-%{svnjavahl_api}.*
378
379 #--------------------------------------------------------------------------
380
381 %package -n svn-javahl
382 Summary: Java bindings for Subversion
383 Group: Development/Java
384 Obsoletes: java-svn < %{epoch}:%{version}-%{release}
385 Provides: java-svn = %{epoch}:%{version}-%{release}
386 Provides: java-subversion = %{epoch}:%{version}-%{release}
387 Provides: subversion-javahl = %{epoch}:%{version}-%{release}
388 Requires: %{name} = %{epoch}:%{version}-%{release}
389 Requires: %{libsvn} = %{epoch}:%{version}-%{release}
390 Requires: %{libsvnjavahl} = %{epoch}:%{version}-%{release}
391 BuildRequires: java-devel
392 BuildRequires: ant
393 BuildRequires: java-rpmbuild >= 1.7.3-10
394 BuildRequires: junit
395
396 %description -n svn-javahl
397 This package contains the files necessary to use the subversion
398 library functions from Java.
399
400 %files -n svn-javahl
401 %doc subversion/bindings/javahl/README
402 %{_javadir}/svn-javahl.jar
403 %{_javadir}/svn-javahl-%{version}.jar
404
405 %endif
406
407 #--------------------------------------------------------------------------
408
409 %if %{build_perl}
410
411 %package -n perl-SVN
412 Summary: Perl bindings for Subversion
413 Group: Development/Perl
414 BuildRequires: perl-devel
415 Requires: %{name} = %{epoch}:%{version}-%{release}
416 Obsoletes: perl-svn
417 Provides: perl-svn = %{epoch}:%{version}-%{release}
418 Requires: %{libsvn} = %{epoch}:%{version}
419
420 %description -n perl-SVN
421 This package contains the files necessary to use the subversion
422 library functions within perl scripts.
423
424 %files -n perl-SVN
425 %doc subversion/bindings/swig/INSTALL subversion/bindings/swig/NOTES
426 %{_libdir}/libsvn_swig_perl*.so.*
427 %{perl_vendorarch}/SVN
428 %{perl_vendorarch}/auto/SVN
429 %{perl_sitearch}/*
430 %{_mandir}/man3/SVN::*.3*
431
432 %endif
433
434 #---------------------------------------------------------------
435
436 %if %{build_kwallet}
437
438 %package kwallet-devel
439 Summary: Subversion headers/libraries for development
440 Group: Development/KDE and Qt
441 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
442 Requires: %{libsvnkwallet} = %{epoch}:%{version}-%{release}
443 Conflicts: %{name}-devel < 2:1.6.17-2
444
445 %description kwallet-devel
446 This package contains the header files and linker scripts for
447 subversion libraries using kwallet auth.
448
449 %files kwallet-devel
450 %{_libdir}/libsvn_auth_kwallet-1.so
451
452 %endif
453
454 #-----------------------------------------------------------------
455
456 %if %{build_gnome_keyring}
457
458 %package gnome-keyring-devel
459 Summary: Subversion headers/libraries for development
460 Group: Development/GNOME and GTK+
461 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
462 Requires: %{libsvngnomekeyring} = %{epoch}:%{version}-%{release}
463 Conflicts: %{name}-devel < 2:1.6.17-2
464
465 %description gnome-keyring-devel
466 This package contains the header files and linker scripts for
467 subversion libraries using gnome-keyring auth
468
469 %files gnome-keyring-devel
470 %{_libdir}/libsvn_auth_gnome_keyring-1.so
471
472 %endif
473
474 #---------------------------------------------------------------
475
476 %if %{build_perl}
477
478 %package -n perl-svn-devel
479 Summary: Subversion headers/libraries for development
480 Group: Development/Perl
481 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
482 Requires: perl-SVN = %{epoch}:%{version}
483 Obsoletes: perl-SVN-devel < 2:1.5.2-2
484 Provides: perl-SVN-devel = %{epoch}:%{version}
485 Conflicts: %{name}-devel < 2:1.6.17-2
486
487 %description -n perl-svn-devel
488 This package contains the header files and linker scripts for
489 subversion libraries using perl.
490
491 %files -n perl-svn-devel
492 %{_libdir}/libsvn_swig_perl-1.so
493
494 %endif
495
496 #----------------------------------------------------------------
497
498 %if %{build_python}
499
500 %package -n python-svn-devel
501 Summary: Subversion headers/libraries for development
502 Group: Development/Python
503 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
504 Requires: python-svn = %{epoch}:%{version}
505 Obsoletes: python-svn-devel < 2:1.5.2-2
506 Conflicts: %{name}-devel < 2:1.6.17-2
507
508 %description -n python-svn-devel
509 This package contains the header files and linker scripts for
510 subversion libraries using perl.
511
512 %files -n python-svn-devel
513 %{_libdir}/libsvn_swig_py-1.so
514
515 %endif
516
517 #-------------------------------------------------------------------
518
519 %if %{build_ruby}
520
521 %package -n ruby-svn-devel
522 Summary: Subversion headers/libraries for development
523 Group: Development/Ruby
524 Requires: ruby-svn = %{epoch}:%{version}
525 Obsoletes: ruby-svn-devel < 2:1.5.2-2
526 Conflicts: %{name}-devel < 2:1.6.17-2
527
528 %description -n ruby-svn-devel
529 This package contains the header files and linker scripts for
530 subversion libraries using perl.
531
532 %files -n ruby-svn-devel
533 %{_libdir}/libsvn_swig_ruby-1.so
534
535 %endif
536
537 #----------------------------------------------------------------
538
539 %package devel
540 Summary: Subversion headers/libraries for development
541 Group: Development/C
542 Provides: libsvn-devel = %{epoch}:%{version}-%{release}
543 Requires: %{libsvn} = %{epoch}:%{version}-%{release}
544 Requires: neon-devel
545
546
547 %description devel
548 This package contains the header files and linker scripts for
549 subversion libraries.
550
551 %files devel
552 %doc tools/examples/minimal_client.c
553 %{_includedir}/subversion-1/*
554 %{_libdir}/libsvn_client-1.so
555 %{_libdir}/libsvn_delta-1.so
556 %{_libdir}/libsvn_diff-1.so
557 %{_libdir}/libsvn_diff.so
558 %{_libdir}/libsvn_fs-1.so
559 %{_libdir}/libsvn_fs_fs-1.so
560 %{_libdir}/libsvn_fs_base-1.so
561 %{_libdir}/libsvn_fs_util-1.so
562 %{_libdir}/libsvn_ra-1.so
563 %{_libdir}/libsvn_ra_local-1.so
564 %{_libdir}/libsvn_ra_neon-1.so
565 %{_libdir}/libsvn_ra_svn-1.so
566 %{_libdir}/libsvn_repos-1.so
567 %{_libdir}/libsvn_subr-1.so
568 %{_libdir}/libsvn_wc-1.so
569
570
571 %if %{build_java}
572 %exclude %{_libdir}/libsvnjavahl*
573 %endif
574
575 #----------------------------------------------------------------
576
577 %package -n apache-mod_dav_svn
578 Summary: Subversion server DSO module for apache
579 Group: System/Servers
580 Requires: %{name}-tools = %{epoch}:%{version}-%{release}
581 Requires: apache-mod_dav >= %{apache_version}
582
583 %description -n apache-mod_dav_svn
584 Subversion is a concurrent version control system which enables
585 one or more users to collaborate in developing and maintaining a
586 hierarchy of files and directories while keeping a history of all
587 changes. Subversion only stores the differences between versions,
588 instead of every complete file. Subversion also keeps a log of
589 who, when, and why changes occurred.
590
591 As such it basically does the same thing CVS does (Concurrent
592 Versioning System) but has major enhancements compared to CVS and
593 fixes a lot of the annoyances that CVS users face.
594
595 This package contains the apache server extension DSO for running
596 a subversion server.
597
598 %files -n apache-mod_dav_svn
599 %doc subversion/mod_authz_svn/INSTALL
600 %config(noreplace) %{_httpd_modconfdir}/10_mod_dav_svn.conf
601 %config(noreplace) %{_httpd_extconfdir}/subversion.conf
602 %{_httpd_moddir}/mod_dav_svn.so
603 %{_httpd_moddir}/mod_authz_svn.so
604 %{_httpd_moddir}/mod_dontdothat.so
605
606 #--------------------------------------------------------------------------
607
608 %prep
609 %setup -q -a 7
610 %patch0 -p1 -b .underlink
611 %patch2 -p1 -b .ruby
612 #%%patch4 -p0 -b .hook-script_pathfix
613 # it was removed after 1.3.2 but still referenced in subversion/libsvn_repos/repos.c
614 #%%patch5 -p1 -b .propchange-email
615
616 rm -rf neon apr apr-util db4
617
618 # fix shellbang lines, #111498
619 perl -pi -e 's|/usr/bin/env perl|%{_bindir}/perl|g' tools/hook-scripts/*.pl.in
620
621 # fix file perms
622 chmod 644 BUGS CHANGES COMMITTERS LICENSE INSTALL README
623
624 # move latest svnbook snapshot as their target version
625 mv svn-book-html-chunk svnbook-1.6
626
627 # This PATH order makes the fugly test for libtoolize work...
628 PATH=/usr/bin:$PATH ./autogen.sh --release
629
630 # lib64 fixes
631 perl -pi -e "s|\\$serf_prefix/lib\b|\\$serf_prefix/%{_lib}|g" build/ac-macros/serf.m4 configure*
632
633 %build
634 %serverbuild
635
636 %if %{build_java}
637 export JAVADIR=%{_jvmdir}/java
638 %endif
639
640 %define _disable_ld_no_undefined 1
641
642 %if %{build_ruby}
643 # override weird -shrext from ruby
644 export svn_cv_ruby_link="%{__cc} -shared"
645 export svn_cv_ruby_sitedir_libsuffix=""
646 export svn_cv_ruby_sitedir_archsuffix=""
647 %endif
648
649 %configure2_5x \
650 --localstatedir=/var/lib \
651 --with-apr_memcache=%{_prefix} \
652 --with-apxs=%{_httpd_apxs} \
653 --with-apache-libexecdir=%{_httpd_moddir} \
654 --with-apr=%{_bindir}/apr-1-config \
655 --with-apr-util=%{_bindir}/apu-1-config \
656 --disable-mod-activation \
657 --with-swig=%{_prefix} \
658 --disable-static \
659 %if %{with_debug}
660 --enable-maintainer-mode \
661 --enable-debug \
662 %endif
663 %if %{build_java}
664 --with-jdk=%{java_home} \
665 --with-junit=%{_javadir}/junit.jar \
666 %endif
667 %if %{build_gnome_keyring}
668 --with-gnome-keyring \
669 %endif
670 %if %{build_kwallet}
671 --with-kwallet \
672 %endif
673 --enable-shared \
674 --with-serf=%{_prefix} \
675 --disable-neon-version-check \
676 --with-sqlite=%{_prefix}
677
678 %{make} all
679
680 %if %{build_python}
681 make swig-py swig_pydir=%{py_platsitedir}/libsvn swig_pydir_extra=%{py_sitedir}/svn
682 %endif
683
684 %if %{build_perl}
685 make swig-pl
686 pushd subversion/bindings/swig/perl/native
687 perl Makefile.PL
688 popd
689 %endif
690
691 %if %{build_ruby}
692 make swig-rb
693 %endif
694
695 %if %{build_java}
696 make javahl
697 %endif
698
699 %install
700 %if %{build_test}
701 echo "###########################################################################"
702 echo "This can take quite some time to finish, so please be patient..."
703 echo "Don't be too surprised it the tests takes 30 minutes on a dual xeon machine..."
704 make LC_ALL=C LANG=C LD_LIBRARY_PATH="`pwd`/subversion/bindings/swig/perl/libsvn_swig_perl/.libs:`pwd`/subversion/bindings/swig/python/libsvn_swig_py/.libs:\
705 `pwd`/subversion/bindings/swig/python/.libs:`pwd`/subversion/libsvn_ra_local/.libs:`pwd`/subversion/svnadmin/.libs:\
706 `pwd`/subversion/tests/libsvn_ra_local/.libs:`pwd`/subversion/tests/libsvn_fs/.libs:`pwd`/subversion/tests/libsvn_wc/.libs:\
707 `pwd`/subversion/tests/libsvn_fs_base/.libs:`pwd`/subversion/tests/libsvn_diff/.libs:`pwd`/subversion/tests/libsvn_subr/.libs:\
708 `pwd`/subversion/tests/libsvn_delta/.libs:`pwd`/subversion/tests/libsvn_repos/.libs:`pwd`/subversion/tests/.libs:\
709 `pwd`/subversion/svnserve/.libs:`pwd`/subversion/libsvn_fs/.libs:`pwd`/subversion/libsvn_ra/.libs:`pwd`/subversion/libsvn_wc/.libs:\
710 `pwd`/subversion/mod_dav_svn/.libs:`pwd`/subversion/mod_authz_svn/.libs:`pwd`/subversion/svnlook/.libs:`pwd`/subversion/svndumpfilter/.libs:\
711 `pwd`/subversion/libsvn_client/.libs:`pwd`/subversion/libsvn_fs_base/bdb/.libs:`pwd`/subversion/libsvn_fs_base/util/.libs:\
712 `pwd`/subversion/libsvn_fs_base/.libs:`pwd`/subversion/libsvn_diff/.libs:`pwd`/subversion/libsvn_subr/.libs:`pwd`/subversion/svnversion/.libs:\
713 `pwd`/subversion/libsvn_ra_dav/.libs:`pwd`/subversion/libsvn_ra_svn/.libs:`pwd`/subversion/libsvn_delta/.libs:`pwd`/subversion/libsvn_fs_fs/.libs:\
714 `pwd`/subversion/libsvn_repos/.libs:`pwd`/subversion/clients/cmdline/.libs:$LD_LIBRARY_PATH" check
715 %endif
716
717 %makeinstall_std
718
719 %if %{build_python}
720 %makeinstall_std install-swig-py swig_pydir=%{py_platsitedir}/libsvn swig_pydir_extra=%{py_sitedir}/svn
721 # Precompile python
722 %py_compile %{buildroot}/%{py_platsitedir}/libsvn
723 %py_compile %{buildroot}/%{py_sitedir}/svn
724
725 %endif
726 %if %{build_perl}
727 %makeinstall_std install-swig-pl-lib
728 pushd subversion/bindings/swig/perl/native/
729 perl Makefile.PL
730 %makeinstall_std
731 popd
732 %endif
733 %if %{build_ruby}
734 %makeinstall_std install-swig-rb
735 %endif
736 %if %{build_java}
737 %{makeinstall_std} install-javahl
738
739 mkdir -p %{buildroot}%{_javadir}
740 %{__mv} %{buildroot}%{_libdir}/svn-javahl/svn-javahl.jar %{buildroot}%{_javadir}/svn-javahl-%{version}.jar
741 %{__ln_s} svn-javahl-%{version}.jar %{buildroot}%{_javadir}/svn-javahl.jar
742
743 %{_bindir}/chrpath -d %{buildroot}%{_libdir}/libsvnjavahl-1.so
744
745 %endif
746
747 %if %{build_perl}
748 # perl bindings
749 make pure_vendor_install -C subversion/bindings/swig/perl/native DESTDIR=%{buildroot}
750 %endif
751
752 install -D -m 644 %{SOURCE2} %{buildroot}%{_httpd_modconfdir}/10_mod_dav_svn.conf
753 install -D -m 644 %{SOURCE3} %{buildroot}%{_httpd_extconfdir}/subversion.conf
754
755 %{__install} -D -p -m 0644 %{SOURCE9} %{buildroot}%{_tmpfilesdir}/svnserve.conf
756
757 # install the extra module
758
759 # cleanup
760 rm -f %{buildroot}%{_httpd_moddir}/*.*a
761
762 ######################
763 ### client-tools ###
764 ######################
765
766 # various commands
767 # contrib was removed in subversion-1.7.x :
768 # -- http://subversion.apache.org/docs/release-notes/1.7.html
769 # -- (shlomif)
770 # install -m 755 contrib/client-side/search-svnlog.pl %%{buildroot}%%{_bindir}
771 # (cd %%{buildroot}/%%{_bindir}; ln -sf search-svnlog.pl search-svnlog)
772 # install -m 755 contrib/client-side/svn_all_diffs.pl %%{buildroot}%%{_bindir}
773 # (cd %%{buildroot}/%%{_bindir}; ln -sf svn_all_diffs.pl svn_all_diffs)
774 # install -m 755 contrib/client-side/svn_load_dirs/svn_load_dirs.pl %%{buildroot}%%{_bindir}
775 # (cd %%{buildroot}/%%{_bindir}; ln -sf svn_load_dirs.pl svn_load_dirs)
776 # install -m 755 contrib/client-side/svn-log.pl %%{buildroot}%%{_bindir}
777 # (cd %%{buildroot}/%%{_bindir}; ln -sf svn-log.pl svn-log)
778
779 install -m 755 tools/client-side/showchange.pl %{buildroot}%{_bindir}
780 (cd %{buildroot}/%{_bindir}; ln -sf showchange.pl showchange)
781
782 install -d -m 755 %{buildroot}%{_sysconfdir}/bash_completion.d
783 install -m 644 tools/client-side/bash_completion \
784 %{buildroot}%{_sysconfdir}/bash_completion.d/subversion
785
786 # Global configs
787 install -d -m 755 %{buildroot}%{_sysconfdir}/subversion
788 install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/subversion/config
789 install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/subversion/servers
790
791 ####################
792 ### repo-tools ###
793 ####################
794
795 # hotbackup tool
796 install -m 755 tools/backup/hot-backup.py %{buildroot}%{_bindir}
797 (cd %{buildroot}%{_bindir}; ln -sf hot-backup.py hot-backup)
798
799 # hook-scripts
800 install -d -m755 %{buildroot}%{_datadir}/%{name}-%{version}/repo-tools/hook-scripts
801 pushd tools/hook-scripts
802 install -m 644 commit-access-control.cfg.example %{buildroot}/%{_datadir}/%{name}-%{version}/repo-tools/hook-scripts
803 install -m 755 commit-access-control.pl %{buildroot}/%{_datadir}/%{name}-%{version}/repo-tools/hook-scripts
804 install -m 644 svnperms.conf.example %{buildroot}/%{_datadir}/%{name}-%{version}/repo-tools/hook-scripts
805 install -m 755 svnperms.py %{buildroot}/%{_datadir}/%{name}-%{version}/repo-tools/hook-scripts
806 install -m 755 mailer/mailer.py %{buildroot}/%{_datadir}/%{name}-%{version}/repo-tools/hook-scripts
807 install -m 644 mailer/mailer.conf.example %{buildroot}/%{_datadir}/%{name}-%{version}/repo-tools/hook-scripts
808 popd
809
810 pushd tools/hook-scripts
811 install -m 755 commit-email.rb %{buildroot}/%{_datadir}/%{name}-%{version}/repo-tools/hook-scripts
812 popd
813
814 #xslt
815 install -d -m755 %{buildroot}%{_datadir}/%{name}-%{version}/repo-tools/xslt
816 install -m 644 tools/xslt/svnindex.css %{buildroot}%{_datadir}/%{name}-%{version}/repo-tools/xslt
817 install -m 644 tools/xslt/svnindex.xsl %{buildroot}%{_datadir}/%{name}-%{version}/repo-tools/xslt
818
819 #cgi
820 # contrib was removed in subversion-1.7.x :
821 # install -d -m755 %%{buildroot}%%{_datadir}/%%{name}-%%{version}/repo-tools/cgi
822 # install -m 755 contrib/cgi/mirror_dir_through_svn.cgi %%{buildroot}%%{_datadir}/%%{name}-%%{version}/repo-tools/cgi
823 # install -m 644 contrib/cgi/mirror_dir_through_svn.README %%{buildroot}%%{_datadir}/%%{name}-%%{version}/repo-tools/cgi
824 # install -m 755 contrib/cgi/tweak-log.cgi %%{buildroot}%%{_datadir}/%%{name}-%%{version}/repo-tools/cgi
825
826 # fix a missing file...
827 ln -sf libsvn_diff-1.so.0.0.0 %{buildroot}%{_libdir}/libsvn_diff.so
828
829 %{_bindir}/chrpath -d %{buildroot}%{_bindir}/svn
830 %{_bindir}/chrpath -d %{buildroot}%{_bindir}/svnlook
831 %{_bindir}/chrpath -d %{buildroot}%{_bindir}/svnversion
832 %{_bindir}/chrpath -d %{buildroot}%{_bindir}/svnserve
833 %{_bindir}/chrpath -d %{buildroot}%{_bindir}/svnadmin
834 %{_bindir}/chrpath -d %{buildroot}%{_bindir}/svndumpfilter
835 %{_bindir}/chrpath -d %{buildroot}%{_bindir}/svnsync
836 %{_bindir}/chrpath -d %{buildroot}%{_bindir}/svnrdump
837
838 # fix the stupid rpath stuff...
839 myf() { find %{buildroot}%{perl_vendorarch} -type f -name "*.so"; }
840 # Fix the readonly permissions of the perl files.
841 myf | xargs chmod u+w
842 myf | xargs chrpath -d
843
844 # handle translations
845 %find_lang %{name}
846
847 # fix the server parts
848 mkdir -p %{buildroot}%{_unitdir}
849 install -p -m644 %{SOURCE8} %{buildroot}%{_unitdir}/svnserve.service
850 install -d %{buildroot}/var/lib/svn/repositories
851
852 # Move perl man
853 chmod u+w %{buildroot}%_prefix/local/share/man/man3/*
854 mv -f %{buildroot}%_prefix/local/share/man/man3/* %{buildroot}%{_mandir}/man3/
855
856 # cleanup
857 find %{buildroot} -name "perllocal.pod" | xargs rm -f
858
859 # delete all .la files
860 find %{buildroot} -name *.la -delete
861

  ViewVC Help
Powered by ViewVC 1.1.30