source: general/prog/subversion.xml@ 048b9a46

10.0 10.1 11.0 11.1 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind lazarus perl-modules qt5new trunk upgradedb xry111/intltool xry111/test-20220226
Last change on this file since 048b9a46 was 048b9a46, checked in by Bruce Dubbs <bdubbs@…>, 4 years ago

Tags for packages used to manage the book

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

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