source: general/prog/subversion.xml@ 31ff9f72

10.0 10.1 11.0 11.1 11.2 7.10 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 krejzi/svn lazarus nosym perl-modules plabs/python-mods qt5new systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since 31ff9f72 was 31ff9f72, checked in by Pierre Labastie <pieere@…>, 9 years ago

Move SWIG and Python to recommended deps for subversion

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@12400 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 16.8 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://archive.apache.org/dist/subversion/subversion-&subversion-version;.tar.bz2">
9 <!ENTITY subversion-download-ftp " ">
10 <!ENTITY subversion-md5sum "77349caf0ef5a612c9718c53516a9934">
11 <!ENTITY subversion-size "6.6 MB">
12 <!ENTITY subversion-buildsize "150 MB (additional 968 MB for tests)">
13 <!ENTITY subversion-time "0.9 SBU (additional 12.6 SBU for tests)">
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 &lfs74_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"/>,
91 <xref linkend="python2"/> (with sqlite support for the tests),
92 <xref linkend="serf"/> (for handling http:// and https:// URLs), and
93 <xref linkend="swig"/> (for building Perl, Python and optionally Ruby
94 bindings)
95 </para>
96
97<!-- support for berkeley db is deprecated since 1.8
98 <note>
99 <para>
100 If you require the <application>Berkeley DB</application> back-end hooks
101 in <application>Subversion</application> to build or support BDB based
102 repositories, you must have <application>APR-util</application> linked to
103 the <application>Berkeley DB</application> library.
104 </para>
105 </note>
106-->
107
108 <bridgehead renderas="sect4">Optional</bridgehead>
109 <para role="optional">
110 <xref linkend="apache"/>,
111<!-- support for berkeley db is deprecated since 1.8
112 <xref linkend="db"/>,
113-->
114 <xref linkend="cyrus-sasl"/>,
115 <xref linkend="dbus"/>,
116 <xref linkend="kdelibs"/> (for <ulink url="http://utils.kde.org/projects/kwalletmanager/">KWallet</ulink> support),
117 <xref linkend="ruby"/>
118 </para>
119
120 <bridgehead renderas="sect4">Optional (for the Java Bindings)</bridgehead>
121 <para role="optional">
122 One of <xref linkend="openjdk"/>,
123 <ulink url="http://www.inet.no/dante/">Dante</ulink> or
124 <ulink url="http://oss.software.ibm.com/developerworks/opensource/jikes/">Jikes</ulink>,
125 and <xref linkend="junit"/> (to test the Java bindings)
126 </para>
127
128 <para condition="html" role="usernotes">
129 User Notes: <ulink url="&blfs-wiki;/subversion"/>
130 </para>
131 </sect2>
132
133 <sect2 role="installation">
134 <title>Installation of Subversion</title>
135
136 <para>
137 Install <application>Subversion</application> by running the following
138 commands:
139 </para>
140
141<screen><userinput>sed -i 's#Makefile.PL.in$#&amp; libsvn_swig_perl#' Makefile.in &amp;&amp;
142./configure --prefix=/usr \
143 --disable-static \
144 --with-apache-libexecdir &amp;&amp;
145make &amp;&amp;
146make swig-pl &amp;&amp;
147make swig-py swig_pydir=/usr/lib/python&python2-majorver;/site-packages/libsvn \
148 swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn</userinput></screen>
149
150 <para>
151 If you have <xref linkend="doxygen"/> installed and you wish to build the
152 API documentation, issue: <command>doxygen doc/doxygen.conf</command>.
153 </para>
154
155 <para>
156 If you passed the <option>--enable-javahl</option> parameter to
157 <command>configure</command> and wish to build the Java bindings, issue
158 the following command:
159 </para>
160
161<screen><userinput>make javahl</userinput></screen>
162
163<!-- <para>
164 If you have a multi core CPU and normally run <command>make</command> with
165 multiple jobs (eg <command>make -j4</command>) then a bug in the
166 <filename>Makefile</filename> will prevent the
167 <application>Perl</application> bindings compiling correctly. Fix the
168 <filename>Makefile</filename> with this sed:
169 </para>
170
171<screen><userinput>sed -i 's#Makefile.PL.in$#&amp; libsvn_swig_perl#' Makefile.in</userinput></screen>
172-->
173 <para>
174 To compile <application>Ruby</application>
175 bindings, issue the following command:
176 </para>
177<screen><userinput>make swig-rb</userinput></screen>
178
179 <para>
180 To test the results, issue: <command>make -k check</command>. One test
181 (wc-queries-test) is known to fail with recent versions of SQLite.
182 </para>
183
184 <para>
185 To test the results of the Java bindings build, issue
186 <command>make check-javahl</command>. Note you must have the
187 <application>JUnit</application> testing framework installed.
188 </para>
189
190 <para>
191 To test the results of any of the <application>SWIG</application>
192 bindings, you can use any of the following commands:
193 </para>
194
195<screen><userinput>make check-swig-pl &amp;&amp;
196make check-swig-py &amp;&amp;
197make check-swig-rb </userinput></screen>
198
199 <para>
200 Now, as the <systemitem class="username">root</systemitem> user:
201 </para>
202
203<screen role="root"><userinput>make install &amp;&amp;
204make install-swig-pl &amp;&amp;
205make install-swig-py swig_pydir=/usr/lib/python&python2-majorver;/site-packages/libsvn \
206 swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn &amp;&amp;
207install -v -m755 -d /usr/share/doc/subversion-&subversion-version; &amp;&amp;
208cp -v -R doc/* \
209 /usr/share/doc/subversion-&subversion-version;</userinput></screen>
210
211 <para>
212 If you built the Java bindings, issue the following command as the
213 <systemitem class="username">root</systemitem> user to install them:
214 </para>
215
216<screen role="root"><userinput>make install-javahl</userinput></screen>
217
218 <para>
219 If you built the <application>SWIG</application>
220 <application>Ruby</application> bindings, issue the following commands
221 as the <systemitem class="username">root</systemitem> user to install
222 them:
223 </para>
224
225<screen role="root"><userinput>make install-swig-rb</userinput></screen>
226
227 </sect2>
228
229 <sect2 role="commands">
230 <title>Command Explanations</title>
231
232 <para>
233 <command>sed -i 's#Makefile.PL.in$...</command>: Corrects a
234 bug in the <filename>Makefile</filename>, which prevents using
235 parallel jobs for Perl bindings.
236 </para>
237
238 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
239 href="../../xincludes/static-libraries.xml"/>
240
241 <para>
242 <parameter>--with-apache-libexecdir</parameter>:
243 This switch sets <application>Apache HTTPD</application>
244 module install dir.
245 </para>
246
247 <para>
248 <command>make swig-&lt;language&gt;</command>: Builds &lt;language&gt;
249 bindings.
250 </para>
251
252 <para>
253 <command>make install-swig-&lt;language&gt;</command>: Installs
254 &lt;language&gt; bindings.
255 </para>
256
257 </sect2>
258
259 <sect2 role="configuration">
260 <title>Configuring Subversion</title>
261
262 <sect3 id="subversion-config">
263 <title>Config Files</title>
264
265 <para>
266 <filename>~/.subversion/config</filename> and
267 <filename>/etc/subversion/config</filename>
268 </para>
269
270 <indexterm zone="subversion subversion-config">
271 <primary sortas="e-AA.subversion/config">~/.subversion/config</primary>
272 </indexterm>
273
274 <indexterm zone="subversion subversion-config">
275 <primary sortas="e-etc-subversion-config">/etc/subversion/config</primary>
276 </indexterm>
277 </sect3>
278
279 <sect3>
280 <title>Configuration Information</title>
281
282 <para>
283 <filename>/etc/subversion/config</filename> is the
284 <application>Subversion</application> system-wide configuration file.
285 This file is used to specify defaults for different
286 <command>svn</command> commands.
287 </para>
288
289 <para>
290 <filename>~/.subversion/config</filename> is the user's personal
291 configuration file. It is used to override the system-wide defaults set
292 in <filename>/etc/subversion/config</filename>.
293 </para>
294 </sect3>
295
296 </sect2>
297
298 <sect2 role="content">
299 <title>Contents</title>
300
301 <segmentedlist>
302 <segtitle>Installed Programs</segtitle>
303 <segtitle>Installed Libraries</segtitle>
304 <segtitle>Installed Directories</segtitle>
305
306 <seglistitem>
307 <seg>
308 svn, svnadmin, svndumpfilter, svnlook, svnmucc, svnrdump, svnserve,
309 svnsync, and svnversion
310 </seg>
311 <seg>
312 libsvn_*-1.so and optionally, a Java library, the mod_dav_svn.so and
313 and mod_authz_svn.so <application>Apache HTTP</application> DSO
314 modules and various <application>Perl</application>,
315 <application>Python</application> and
316 <application>Ruby</application> modules.
317 </seg>
318 <seg>
319 /usr/include/subversion-1,
320 /usr/lib/perl5/site_perl/&lfs-perl-version;/auto/SVN,
321 /usr/lib/perl5/site_perl/&lfs-perl-version;/SVN,
322 /usr/lib/python&python2-majorver;/site-packages/libsvn,
323 /usr/lib/python&python2-majorver;/site-packages/svn,
324 /usr/lib/ruby/site_ruby/&lt;x.y&gt;/i686-linux/svn (optional),
325 /usr/lib/ruby/site_ruby/&lt;x.y&gt;/svn (optional),
326<!-- /usr/lib/svn-python/libsvn (optional),
327 /usr/lib/svn-python/svn (optional),
328-->
329 /usr/lib/svn-javahl (optional), and
330 /usr/share/doc/subversion-&subversion-version;
331 </seg>
332 </seglistitem>
333 </segmentedlist>
334
335 <variablelist>
336 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
337 <?dbfo list-presentation="list"?>
338 <?dbhtml list-presentation="table"?>
339
340 <varlistentry id="svn">
341 <term><command>svn</command></term>
342 <listitem>
343 <para>
344 is a command-line client program used to access
345 <application>Subversion</application> repositories.
346 </para>
347 <indexterm zone="subversion svn">
348 <primary sortas="b-svn">svn</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="svnadmin">
354 <term><command>svnadmin</command></term>
355 <listitem>
356 <para>
357 is a tool for creating, tweaking or repairing a
358 <application>Subversion</application> repository.
359 </para>
360 <indexterm zone="subversion svnadmin">
361 <primary sortas="b-svnadmin">svnadmin</primary>
362 </indexterm>
363 </listitem>
364 </varlistentry>
365
366 <varlistentry id="svndumpfilter">
367 <term><command>svndumpfilter</command></term>
368 <listitem>
369 <para>
370 is a program for filtering <application>Subversion</application>
371 repository dumpfile format streams.
372 </para>
373 <indexterm zone="subversion svndumpfilter">
374 <primary sortas="b-svndumpfilter">svndumpfilter</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="svnlook">
380 <term><command>svnlook</command></term>
381 <listitem>
382 <para>
383 is a tool for inspecting a <application>Subversion</application>
384 repository.
385 </para>
386 <indexterm zone="subversion svnlook">
387 <primary sortas="b-svnlook">svnlook</primary>
388 </indexterm>
389 </listitem>
390 </varlistentry>
391
392 <varlistentry id="svnmucc">
393 <term><command>svnmucc</command></term>
394 <listitem>
395 <para>
396 is a Multiple URL Command Client for <application>Subversion</application>.
397 </para>
398 <indexterm zone="subversion svnmucc">
399 <primary sortas="b-svnmucc">svnmucc</primary>
400 </indexterm>
401 </listitem>
402 </varlistentry>
403
404 <varlistentry id="svnrdump">
405 <term><command>svnrdump</command></term>
406 <listitem>
407 <para>
408 is a tool for dumping or loading a remote
409 <application>Subversion</application> repository.
410 </para>
411 <indexterm zone="subversion svnrdump">
412 <primary sortas="b-svnrdump">svnrdump</primary>
413 </indexterm>
414 </listitem>
415 </varlistentry>
416
417 <varlistentry id="svnserve">
418 <term><command>svnserve</command></term>
419 <listitem>
420 <para>
421 is a custom standalone server program, able to run as a daemon
422 process or invoked by SSH.
423 </para>
424 <indexterm zone="subversion svnserve">
425 <primary sortas="b-svnserve">svnserve</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
430 <varlistentry id="svnsync">
431 <term><command>svnsync</command></term>
432 <listitem>
433 <para>
434 is a <application>Subversion</application> repository
435 synchronisation tool.
436 </para>
437 <indexterm zone="subversion svnsync">
438 <primary sortas="b-svnsync">svnsync</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="svnversion">
444 <term><command>svnversion</command></term>
445 <listitem>
446 <para>
447 is used to report the version number and state of a working
448 <application>Subversion</application> repository copy.
449 </para>
450 <indexterm zone="subversion svnversion">
451 <primary sortas="b-svnversion">svnversion</primary>
452 </indexterm>
453 </listitem>
454 </varlistentry>
455
456 <varlistentry id="libsvn_star-1">
457 <term><filename class="libraryfile">libsvn_*-1.so</filename></term>
458 <listitem>
459 <para>
460 are the support libraries used by the
461 <application>Subversion</application> programs.
462 </para>
463 <indexterm zone="subversion libsvn_star-1">
464 <primary sortas="c-libsvn_star-1">libsvn_*-1.so</primary>
465 </indexterm>
466 </listitem>
467 </varlistentry>
468
469 <varlistentry id="mod_authz_svn">
470 <term><filename class="libraryfile">mod_authz_svn.so</filename></term>
471 <listitem>
472 <para>
473 is a plug-in module for the <application>Apache</application> HTTP
474 server, used to authenticate users to a
475 <application>Subversion</application> repository over the Internet
476 or an intranet.
477 </para>
478 <indexterm zone="subversion mod_authz_svn">
479 <primary sortas="c-mod_authz_svn">mod_authz_svn.so</primary>
480 </indexterm>
481 </listitem>
482 </varlistentry>
483
484 <varlistentry id="mod_dav_svn">
485 <term><filename class="libraryfile">mod_dav_svn.so</filename></term>
486 <listitem>
487 <para>
488 is a plug-in module for the <application>Apache</application> HTTP
489 server, used to make a <application>Subversion</application>
490 repository available to others over the Internet or an intranet.
491 </para>
492 <indexterm zone="subversion mod_dav_svn">
493 <primary sortas="c-mod_authz_svn">mod_dav_svn.so</primary>
494 </indexterm>
495 </listitem>
496 </varlistentry>
497
498 </variablelist>
499
500 </sect2>
501
502</sect1>
Note: See TracBrowser for help on using the repository browser.