source: general/prog/subversion.xml@ 466d85a

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 466d85a was 466d85a, checked in by Pierre Labastie <pieere@…>, 10 years ago

Move swig and python to optional in subversion

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

  • Property mode set to 100644
File size: 16.9 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"/> 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 passed the <option>--enable-javahl</option> parameter to
152 <command>configure</command> and wish to build the Java bindings, issue
153 the following command: <command>make javahl</command>
154 </para>
155
156
157 <para>
158 If you have a multi core CPU and normally run <command>make</command> with
159 multiple jobs (eg <command>make -j4</command>) then a bug in the
160 <filename>Makefile</filename> will prevent the
161 <application>Perl</application> bindings compiling correctly. Fix the
162 <filename>Makefile</filename> with this sed:
163 <command>sed -i 's#Makefile.PL.in$#&amp; libsvn_swig_perl#' Makefile.in</command>
164 </para>
165
166 <para>
167 If you want to compile <application>Perl</application>,
168 <application>Python2</application>, or <application>Ruby</application>
169 bindings, issue any of the following command:
170 </para>
171 <para>
172 <literallayout><command>make swig-pl</command> for <application>Perl</application>,
173<command>make swig-py \
174 swig_pydir=/usr/lib/python&python2-majorver;/site-packages/libsvn \
175 swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn</command> for <application>Python</application>,
176<command>make swig-rb</command> for <application>Ruby</application>.
177 </literallayout>
178 </para>
179
180 <para>
181 To test the results, issue: <command>make -k check</command>. One test
182 (wc-queries-test) is known to fail with recent versions of SQLite.
183 </para>
184
185 <para>
186 To test the results of the Java bindings build, issue
187 <command>make check-javahl</command>. Note you must have the
188 <application>JUnit</application> testing framework installed.
189 </para>
190
191 <para>
192 To test the results of any of the <application>SWIG</application>
193 bindings, you can use any of the following commands:
194 <command>make check-swig-pl</command>,
195 <command> make check-swig-py</command>, or
196 <command>make check-swig-rb</command>.
197 </para>
198
199
200 <para>
201 Now, as the <systemitem class="username">root</systemitem> user:
202 </para>
203
204<screen role="root"><userinput>make install &amp;&amp;
205install -v -m755 -d /usr/share/doc/subversion-&subversion-version; &amp;&amp;
206cp -v -R doc/* \
207 /usr/share/doc/subversion-&subversion-version;</userinput></screen>
208
209 <para>
210 If you built the Java bindings, issue the following command as the
211 <systemitem class="username">root</systemitem> user to install them:
212 <command>make install-javahl</command>
213 </para>
214
215
216 <para>
217 If you built the <application>Perl</application>,
218 <application>Python2</application>, or
219 <application>Ruby</application> bindings, issue any of the following
220 commands as the <systemitem class="username">root</systemitem> user
221 to install them:
222 </para>
223 <para>
224 <literallayout><command>make install-swig-pl</command>
225<command>make install-swig-py \
226 swig_pydir=/usr/lib/python&python2-majorver;/site-packages/libsvn \
227 swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn</command>
228<command>make install-swig-rb</command></literallayout>
229 </para>
230
231 </sect2>
232
233 <sect2 role="commands">
234 <title>Command Explanations</title>
235
236 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
237 href="../../xincludes/static-libraries.xml"/>
238
239 <para>
240 <parameter>--with-apache-libexecdir</parameter>:
241 If <xref linkend="apache"/> is installed, the shared
242 <application>Apache</application> modules are
243 built. This switch allows to have those modules installed to
244 <application>Apache</application>'s configured module dir instead
245 of <filename class="directory">/usr/libexec</filename>. It has no effect
246 if <application>Apache</application> is not installed.
247 </para>
248
249 </sect2>
250
251 <sect2 role="configuration">
252 <title>Configuring Subversion</title>
253
254 <sect3 id="subversion-config">
255 <title>Config Files</title>
256
257 <para>
258 <filename>~/.subversion/config</filename> and
259 <filename>/etc/subversion/config</filename>
260 </para>
261
262 <indexterm zone="subversion subversion-config">
263 <primary sortas="e-AA.subversion/config">~/.subversion/config</primary>
264 </indexterm>
265
266 <indexterm zone="subversion subversion-config">
267 <primary sortas="e-etc-subversion-config">/etc/subversion/config</primary>
268 </indexterm>
269 </sect3>
270
271 <sect3>
272 <title>Configuration Information</title>
273
274 <para>
275 <filename>/etc/subversion/config</filename> is the
276 <application>Subversion</application> system-wide configuration file.
277 This file is used to specify defaults for different
278 <command>svn</command> commands.
279 </para>
280
281 <para>
282 <filename>~/.subversion/config</filename> is the user's personal
283 configuration file. It is used to override the system-wide defaults set
284 in <filename>/etc/subversion/config</filename>.
285 </para>
286 </sect3>
287
288 </sect2>
289
290 <sect2 role="content">
291 <title>Contents</title>
292
293 <segmentedlist>
294 <segtitle>Installed Programs</segtitle>
295 <segtitle>Installed Libraries</segtitle>
296 <segtitle>Installed Directories</segtitle>
297
298 <seglistitem>
299 <seg>
300 svn, svnadmin, svndumpfilter, svnlook, svnmucc, svnrdump, svnserve,
301 svnsync, and svnversion
302 </seg>
303 <seg>
304 libsvn_*-1.so and optionally, a Java library, the mod_dav_svn.so and
305 and mod_authz_svn.so <application>Apache HTTP</application> DSO
306 modules and various <application>Perl</application>,
307 <application>Python</application> and
308 <application>Ruby</application> modules.
309 </seg>
310 <seg>
311 /usr/include/subversion-1,
312 /usr/lib/perl5/site_perl/&lfs-perl-version;/auto/SVN (optional),
313 /usr/lib/perl5/site_perl/&lfs-perl-version;/SVN (optional),
314 /usr/lib/python&python2-majorver;/site-packages/libsvn (optional),
315 /usr/lib/python&python2-majorver;/site-packages/svn (optional),
316 /usr/lib/ruby/site_ruby/&lt;x.y&gt;/i686-linux/svn (optional),
317 /usr/lib/ruby/site_ruby/&lt;x.y&gt;/svn (optional),
318<!-- /usr/lib/svn-python/libsvn (optional),
319 /usr/lib/svn-python/svn (optional),
320-->
321 /usr/lib/svn-javahl (optional), and
322 /usr/share/doc/subversion-&subversion-version;
323 </seg>
324 </seglistitem>
325 </segmentedlist>
326
327 <variablelist>
328 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
329 <?dbfo list-presentation="list"?>
330 <?dbhtml list-presentation="table"?>
331
332 <varlistentry id="svn">
333 <term><command>svn</command></term>
334 <listitem>
335 <para>
336 is a command-line client program used to access
337 <application>Subversion</application> repositories.
338 </para>
339 <indexterm zone="subversion svn">
340 <primary sortas="b-svn">svn</primary>
341 </indexterm>
342 </listitem>
343 </varlistentry>
344
345 <varlistentry id="svnadmin">
346 <term><command>svnadmin</command></term>
347 <listitem>
348 <para>
349 is a tool for creating, tweaking or repairing a
350 <application>Subversion</application> repository.
351 </para>
352 <indexterm zone="subversion svnadmin">
353 <primary sortas="b-svnadmin">svnadmin</primary>
354 </indexterm>
355 </listitem>
356 </varlistentry>
357
358 <varlistentry id="svndumpfilter">
359 <term><command>svndumpfilter</command></term>
360 <listitem>
361 <para>
362 is a program for filtering <application>Subversion</application>
363 repository dumpfile format streams.
364 </para>
365 <indexterm zone="subversion svndumpfilter">
366 <primary sortas="b-svndumpfilter">svndumpfilter</primary>
367 </indexterm>
368 </listitem>
369 </varlistentry>
370
371 <varlistentry id="svnlook">
372 <term><command>svnlook</command></term>
373 <listitem>
374 <para>
375 is a tool for inspecting a <application>Subversion</application>
376 repository.
377 </para>
378 <indexterm zone="subversion svnlook">
379 <primary sortas="b-svnlook">svnlook</primary>
380 </indexterm>
381 </listitem>
382 </varlistentry>
383
384 <varlistentry id="svnmucc">
385 <term><command>svnmucc</command></term>
386 <listitem>
387 <para>
388 is a Multiple URL Command Client for <application>Subversion</application>.
389 </para>
390 <indexterm zone="subversion svnmucc">
391 <primary sortas="b-svnmucc">svnmucc</primary>
392 </indexterm>
393 </listitem>
394 </varlistentry>
395
396 <varlistentry id="svnrdump">
397 <term><command>svnrdump</command></term>
398 <listitem>
399 <para>
400 is a tool for dumping or loading a remote
401 <application>Subversion</application> repository.
402 </para>
403 <indexterm zone="subversion svnrdump">
404 <primary sortas="b-svnrdump">svnrdump</primary>
405 </indexterm>
406 </listitem>
407 </varlistentry>
408
409 <varlistentry id="svnserve">
410 <term><command>svnserve</command></term>
411 <listitem>
412 <para>
413 is a custom standalone server program, able to run as a daemon
414 process or invoked by SSH.
415 </para>
416 <indexterm zone="subversion svnserve">
417 <primary sortas="b-svnserve">svnserve</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="svnsync">
423 <term><command>svnsync</command></term>
424 <listitem>
425 <para>
426 is a <application>Subversion</application> repository
427 synchronisation tool.
428 </para>
429 <indexterm zone="subversion svnsync">
430 <primary sortas="b-svnsync">svnsync</primary>
431 </indexterm>
432 </listitem>
433 </varlistentry>
434
435 <varlistentry id="svnversion">
436 <term><command>svnversion</command></term>
437 <listitem>
438 <para>
439 is used to report the version number and state of a working
440 <application>Subversion</application> repository copy.
441 </para>
442 <indexterm zone="subversion svnversion">
443 <primary sortas="b-svnversion">svnversion</primary>
444 </indexterm>
445 </listitem>
446 </varlistentry>
447
448 <varlistentry id="libsvn_star-1">
449 <term><filename class="libraryfile">libsvn_*-1.so</filename></term>
450 <listitem>
451 <para>
452 are the support libraries used by the
453 <application>Subversion</application> programs.
454 </para>
455 <indexterm zone="subversion libsvn_star-1">
456 <primary sortas="c-libsvn_star-1">libsvn_*-1.so</primary>
457 </indexterm>
458 </listitem>
459 </varlistentry>
460
461 <varlistentry id="mod_authz_svn">
462 <term><filename class="libraryfile">mod_authz_svn.so</filename></term>
463 <listitem>
464 <para>
465 is a plug-in module for the <application>Apache</application> HTTP
466 server, used to authenticate users to a
467 <application>Subversion</application> repository over the Internet
468 or an intranet.
469 </para>
470 <indexterm zone="subversion mod_authz_svn">
471 <primary sortas="c-mod_authz_svn">mod_authz_svn.so</primary>
472 </indexterm>
473 </listitem>
474 </varlistentry>
475
476 <varlistentry id="mod_dav_svn">
477 <term><filename class="libraryfile">mod_dav_svn.so</filename></term>
478 <listitem>
479 <para>
480 is a plug-in module for the <application>Apache</application> HTTP
481 server, used to make a <application>Subversion</application>
482 repository available to others over the Internet or an intranet.
483 </para>
484 <indexterm zone="subversion mod_dav_svn">
485 <primary sortas="c-mod_authz_svn">mod_dav_svn.so</primary>
486 </indexterm>
487 </listitem>
488 </varlistentry>
489
490 </variablelist>
491
492 </sect2>
493
494</sect1>
Note: See TracBrowser for help on using the repository browser.