source: general/prog/subversion.xml@ f60ecce

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since f60ecce was f60ecce, checked in by Ken Moffat <ken@…>, 7 years ago

Version Control System updates for newly publicied vulnerabilities:

git-2.14.1 CVE-2017-1000117
subversion-1.9.7 CVE-2017-9800
mercurial-4.3 CVE-2017-100011{5,6}

and for mercurial uncomment how to diagnose unexpected test failures, it would have save me time on the machine where tests failed.

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

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