source: general/prog/subversion.xml@ e9ac749

systemd-13485
Last change on this file since e9ac749 was e9ac749, checked in by Christopher Gregory <cjg@…>, 9 years ago

Updated to subversion-1.8.11 and corrected download links for Openjdk.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@15218 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 17.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY subversion-download-http
8 "http://www.apache.org/dist/subversion/subversion-&subversion-version;.tar.bz2">
9 <!ENTITY subversion-download-ftp " ">
10 <!ENTITY subversion-md5sum "766a89bbbb388f8eb76166672d3b9e49">
11 <!ENTITY subversion-size "6.6 MB">
12 <!ENTITY subversion-buildsize "143 MB (284 MB with all bindings and API documentation built; additional 968 MB for tests)">
13 <!ENTITY subversion-time "0.9 SBU (Additional 30 SBU to build documentation, all bindings and to run full test suite.)">
14]>
15
16<sect1 id="subversion" xreflabel="Subversion-&subversion-version;">
17 <?dbhtml filename="subversion.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>Subversion-&subversion-version;</title>
25
26 <indexterm zone="subversion">
27 <primary sortas="a-Subversion">Subversion</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to Subversion</title>
32
33 <para>
34 <application>Subversion</application> is a version control system that is
35 designed to be a compelling replacement for <application>CVS</application>
36 in the open source community. It extends and enhances
37 <application>CVS</application>' feature set, while maintaining a similar
38 interface for those already familiar with <application>CVS</application>.
39 These instructions install the client and server software used to
40 manipulate a <application>Subversion</application> repository. Creation of
41 a repository is covered at <xref linkend="svnserver"/>.
42 </para>
43
44 &lfs76_checked;
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>
50 Download (HTTP): <ulink url="&subversion-download-http;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download (FTP): <ulink url="&subversion-download-ftp;"/>
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download MD5 sum: &subversion-md5sum;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Download size: &subversion-size;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated disk space required: &subversion-buildsize;
71 </para>
72 </listitem>
73 <listitem>
74 <para>
75 Estimated build time: &subversion-time;
76 </para>
77 </listitem>
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">Subversion Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Required</bridgehead>
83 <para role="required">
84 <xref linkend="apr-util"/> and
85 <xref linkend="sqlite"/>
86 </para>
87
88 <bridgehead renderas="sect4">Recommended</bridgehead>
89 <para role="recommended">
90 <xref linkend="openssl"/> and
91 <xref linkend="serf"/> (for handling http:// and https:// URLs)
92 </para>
93
94<!-- support for berkeley db is deprecated since 1.8
95 <note>
96 <para>
97 If you require the <application>Berkeley DB</application> back-end hooks
98 in <application>Subversion</application> to build or support BDB based
99 repositories, you must have <application>APR-util</application> linked to
100 the <application>Berkeley DB</application> library.
101 </para>
102 </note>
103-->
104
105 <bridgehead renderas="sect4">Optional</bridgehead>
106 <para role="optional">
107 <xref linkend="apache"/>,
108<!-- support for berkeley db is deprecated since 1.8
109 <xref linkend="db"/>,
110-->
111 <xref linkend="cyrus-sasl"/>,
112 <xref linkend="dbus"/>,
113 <xref linkend="kdelibs"/> (for <ulink url="http://utils.kde.org/projects/kwalletmanager/">KWallet</ulink> support),
114 <xref linkend="python2"/> (with sqlite support for the tests),
115 <xref linkend="ruby"/>, and
116 <xref linkend="swig"/> (for building Perl, Python and Ruby bindings)
117 </para>
118
119 <bridgehead renderas="sect4">Optional (for the Java Bindings)</bridgehead>
120 <para role="optional">
121 One of <xref linkend="openjdk"/>,
122 <ulink url="http://www.inet.no/dante/">Dante</ulink> or
123 <ulink url="http://oss.software.ibm.com/developerworks/opensource/jikes/">Jikes</ulink>,
124 and <xref linkend="junit"/> (to test the Java bindings)
125 </para>
126
127 <para condition="html" role="usernotes">
128 User Notes: <ulink url="&blfs-wiki;/subversion"/>
129 </para>
130 </sect2>
131
132 <sect2 role="installation">
133 <title>Installation of Subversion</title>
134
135 <para>
136 Install <application>Subversion</application> by running the following
137 commands:
138 </para>
139
140<screen><userinput>./configure --prefix=/usr \
141 --disable-static \
142 --with-apache-libexecdir &amp;&amp;
143make</userinput></screen>
144
145 <para>
146 If you have <xref linkend="doxygen"/> installed and you wish to build the
147 API documentation, issue: <command>doxygen doc/doxygen.conf</command>.
148 </para>
149
150 <para>
151 If you are using multiple jobs to compile packages, then fix a bug in the
152 <filename>Makefile</filename> will prevent the
153 <application>Perl</application> bindings from compiling correctly:
154 </para>
155
156<screen><userinput>sed -i 's#Makefile.PL.in$#&amp; libsvn_swig_perl#' Makefile.in</userinput></screen>
157
158 <para>
159 If you want to compile <application>Java</application>,
160 <application>Perl</application>,
161 <application>Python2</application> or
162 <application>Ruby</application>
163 bindings, issue any of the following commands:
164 </para>
165
166 <note>
167 <para>
168 Make sure that you have passed <option>--enable-javahl</option>
169 switch to <command>configure</command> before trying to build
170 the Java bindings.
171 </para>
172 </note>
173
174 <para>
175 For <application>Java</application> bindings:
176 </para>
177
178<screen><userinput>make javahl</userinput></screen>
179
180 <para>
181 For <application>Perl</application> bindings:
182 </para>
183
184<screen><userinput>make swig-pl</userinput></screen>
185
186 <para>
187 For <application>Python2</application> bindings:
188 </para>
189
190<screen><userinput>make swig-py \
191 swig_pydir=/usr/lib/python&python2-majorver;/site-packages/libsvn \
192 swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn</userinput></screen>
193
194 <para>
195 For <application>Ruby</application> bindings:
196 </para>
197
198<screen><userinput>make swig-rb</userinput></screen>
199
200 <para>
201 To test the results, issue: <command>make -k check</command>. One test
202 (wc-queries-test) is known to fail with recent versions of SQLite.
203 </para>
204
205 <para>
206 To test the results of any of the <application>SWIG</application>
207 bindings, you can use any of the following commands:
208 <command>make check-javahl</command>,
209 <command>make check-swig-pl</command>,
210 <command> make check-swig-py</command> or
211 <command>make check-swig-rb</command>. Note you must have the
212 <application>JUnit</application> testing framework installed if
213 running the Java bindings tests.
214 </para>
215
216 <para>
217 Now, as the <systemitem class="username">root</systemitem> user:
218 </para>
219
220<screen role="root"><userinput>make -j1 install &amp;&amp;
221install -v -m755 -d /usr/share/doc/subversion-&subversion-version; &amp;&amp;
222cp -v -R doc/* \
223 /usr/share/doc/subversion-&subversion-version;</userinput></screen>
224
225 <para>
226 If you have built any of the <application>Java</application>,
227 <application>Perl</application>,
228 <application>Python2</application> or
229 <application>Ruby</application> bindings, issue any of the following
230 commands as the <systemitem class="username">root</systemitem> user
231 to install them:
232 </para>
233
234 <para>
235 For <application>Java</application> bindings:
236 </para>
237
238<screen role="root"><userinput>make install-javahl</userinput></screen>
239
240 <para>
241 For <application>Perl</application> bindings:
242 </para>
243
244<screen role="root"><userinput>make install-swig-pl</userinput></screen>
245
246 <para>
247 For <application>Python2</application> bindings:
248 </para>
249
250<screen role="root"><userinput>make install-swig-py \
251 swig_pydir=/usr/lib/python&python2-majorver;/site-packages/libsvn \
252 swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn</userinput></screen>
253
254 <para>
255 For <application>Ruby</application> bindings:
256 </para>
257
258<screen role="root"><userinput>make install-swig-rb</userinput></screen>
259
260 </sect2>
261
262 <sect2 role="commands">
263 <title>Command Explanations</title>
264
265 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
266 href="../../xincludes/static-libraries.xml"/>
267
268 <para>
269 <parameter>--with-apache-libexecdir</parameter>:
270 If <xref linkend="apache"/> is installed, the shared
271 <application>Apache</application> modules are
272 built. This switch allows to have those modules installed to
273 <application>Apache</application>'s configured module dir instead
274 of <filename class="directory">/usr/libexec</filename>. It has no effect
275 if <application>Apache</application> is not installed.
276 </para>
277
278 </sect2>
279
280 <sect2 role="configuration">
281 <title>Configuring Subversion</title>
282
283 <sect3 id="subversion-config">
284 <title>Config Files</title>
285
286 <para>
287 <filename>~/.subversion/config</filename> and
288 <filename>/etc/subversion/config</filename>
289 </para>
290
291 <indexterm zone="subversion subversion-config">
292 <primary sortas="e-AA.subversion/config">~/.subversion/config</primary>
293 </indexterm>
294
295 <indexterm zone="subversion subversion-config">
296 <primary sortas="e-etc-subversion-config">/etc/subversion/config</primary>
297 </indexterm>
298 </sect3>
299
300 <sect3>
301 <title>Configuration Information</title>
302
303 <para>
304 <filename>/etc/subversion/config</filename> is the
305 <application>Subversion</application> system-wide configuration file.
306 This file is used to specify defaults for different
307 <command>svn</command> commands.
308 </para>
309
310 <para>
311 <filename>~/.subversion/config</filename> is the user's personal
312 configuration file. It is used to override the system-wide defaults set
313 in <filename>/etc/subversion/config</filename>.
314 </para>
315 </sect3>
316
317 </sect2>
318
319 <sect2 role="content">
320 <title>Contents</title>
321
322 <segmentedlist>
323 <segtitle>Installed Programs</segtitle>
324 <segtitle>Installed Libraries</segtitle>
325 <segtitle>Installed Directories</segtitle>
326
327 <seglistitem>
328 <seg>
329 svn, svnadmin, svndumpfilter, svnlook, svnmucc, svnrdump, svnserve,
330 svnsync, and svnversion
331 </seg>
332 <seg>
333 libsvn_*-1.so and optionally, a Java library, the mod_dav_svn.so and
334 and mod_authz_svn.so <application>Apache HTTP</application> DSO
335 modules and various <application>Perl</application>,
336 <application>Python</application> and
337 <application>Ruby</application> modules.
338 </seg>
339 <seg>
340 /usr/include/subversion-1,
341 /usr/lib/perl5/site_perl/&lfs-perl-version;/auto/SVN (optional),
342 /usr/lib/perl5/site_perl/&lfs-perl-version;/SVN (optional),
343 /usr/lib/python&python2-majorver;/site-packages/libsvn (optional),
344 /usr/lib/python&python2-majorver;/site-packages/svn (optional),
345 /usr/lib/ruby/site_ruby/&lt;x.y&gt;/i686-linux/svn (optional),
346 /usr/lib/ruby/site_ruby/&lt;x.y&gt;/svn (optional),
347<!-- /usr/lib/svn-python/libsvn (optional),
348 /usr/lib/svn-python/svn (optional),
349-->
350 /usr/lib/svn-javahl (optional), and
351 /usr/share/doc/subversion-&subversion-version;
352 </seg>
353 </seglistitem>
354 </segmentedlist>
355
356 <variablelist>
357 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
358 <?dbfo list-presentation="list"?>
359 <?dbhtml list-presentation="table"?>
360
361 <varlistentry id="svn">
362 <term><command>svn</command></term>
363 <listitem>
364 <para>
365 is a command-line client program used to access
366 <application>Subversion</application> repositories.
367 </para>
368 <indexterm zone="subversion svn">
369 <primary sortas="b-svn">svn</primary>
370 </indexterm>
371 </listitem>
372 </varlistentry>
373
374 <varlistentry id="svnadmin">
375 <term><command>svnadmin</command></term>
376 <listitem>
377 <para>
378 is a tool for creating, tweaking or repairing a
379 <application>Subversion</application> repository.
380 </para>
381 <indexterm zone="subversion svnadmin">
382 <primary sortas="b-svnadmin">svnadmin</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387 <varlistentry id="svndumpfilter">
388 <term><command>svndumpfilter</command></term>
389 <listitem>
390 <para>
391 is a program for filtering <application>Subversion</application>
392 repository dumpfile format streams.
393 </para>
394 <indexterm zone="subversion svndumpfilter">
395 <primary sortas="b-svndumpfilter">svndumpfilter</primary>
396 </indexterm>
397 </listitem>
398 </varlistentry>
399
400 <varlistentry id="svnlook">
401 <term><command>svnlook</command></term>
402 <listitem>
403 <para>
404 is a tool for inspecting a <application>Subversion</application>
405 repository.
406 </para>
407 <indexterm zone="subversion svnlook">
408 <primary sortas="b-svnlook">svnlook</primary>
409 </indexterm>
410 </listitem>
411 </varlistentry>
412
413 <varlistentry id="svnmucc">
414 <term><command>svnmucc</command></term>
415 <listitem>
416 <para>
417 is a Multiple URL Command Client for <application>Subversion</application>.
418 </para>
419 <indexterm zone="subversion svnmucc">
420 <primary sortas="b-svnmucc">svnmucc</primary>
421 </indexterm>
422 </listitem>
423 </varlistentry>
424
425 <varlistentry id="svnrdump">
426 <term><command>svnrdump</command></term>
427 <listitem>
428 <para>
429 is a tool for dumping or loading a remote
430 <application>Subversion</application> repository.
431 </para>
432 <indexterm zone="subversion svnrdump">
433 <primary sortas="b-svnrdump">svnrdump</primary>
434 </indexterm>
435 </listitem>
436 </varlistentry>
437
438 <varlistentry id="svnserve">
439 <term><command>svnserve</command></term>
440 <listitem>
441 <para>
442 is a custom standalone server program, able to run as a daemon
443 process or invoked by SSH.
444 </para>
445 <indexterm zone="subversion svnserve">
446 <primary sortas="b-svnserve">svnserve</primary>
447 </indexterm>
448 </listitem>
449 </varlistentry>
450
451 <varlistentry id="svnsync">
452 <term><command>svnsync</command></term>
453 <listitem>
454 <para>
455 is a <application>Subversion</application> repository
456 synchronisation tool.
457 </para>
458 <indexterm zone="subversion svnsync">
459 <primary sortas="b-svnsync">svnsync</primary>
460 </indexterm>
461 </listitem>
462 </varlistentry>
463
464 <varlistentry id="svnversion">
465 <term><command>svnversion</command></term>
466 <listitem>
467 <para>
468 is used to report the version number and state of a working
469 <application>Subversion</application> repository copy.
470 </para>
471 <indexterm zone="subversion svnversion">
472 <primary sortas="b-svnversion">svnversion</primary>
473 </indexterm>
474 </listitem>
475 </varlistentry>
476
477 <varlistentry id="libsvn_star-1">
478 <term><filename class="libraryfile">libsvn_*-1.so</filename></term>
479 <listitem>
480 <para>
481 are the support libraries used by the
482 <application>Subversion</application> programs.
483 </para>
484 <indexterm zone="subversion libsvn_star-1">
485 <primary sortas="c-libsvn_star-1">libsvn_*-1.so</primary>
486 </indexterm>
487 </listitem>
488 </varlistentry>
489
490 <varlistentry id="mod_authz_svn">
491 <term><filename class="libraryfile">mod_authz_svn.so</filename></term>
492 <listitem>
493 <para>
494 is a plug-in module for the <application>Apache</application> HTTP
495 server, used to authenticate users to a
496 <application>Subversion</application> repository over the Internet
497 or an intranet.
498 </para>
499 <indexterm zone="subversion mod_authz_svn">
500 <primary sortas="c-mod_authz_svn">mod_authz_svn.so</primary>
501 </indexterm>
502 </listitem>
503 </varlistentry>
504
505 <varlistentry id="mod_dav_svn">
506 <term><filename class="libraryfile">mod_dav_svn.so</filename></term>
507 <listitem>
508 <para>
509 is a plug-in module for the <application>Apache</application> HTTP
510 server, used to make a <application>Subversion</application>
511 repository available to others over the Internet or an intranet.
512 </para>
513 <indexterm zone="subversion mod_dav_svn">
514 <primary sortas="c-mod_authz_svn">mod_dav_svn.so</primary>
515 </indexterm>
516 </listitem>
517 </varlistentry>
518
519 </variablelist>
520
521 </sect2>
522
523</sect1>
Note: See TracBrowser for help on using the repository browser.