source: general/prog/subversion.xml@ 1f9c8ec

10.1 11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt 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 1f9c8ec was 1f9c8ec, checked in by Douglas R. Reno <renodr@…>, 3 years ago

Update to subversion-1.14.1 (Security Update)
Update to node-v14.15.5
Update to unbound-1.13.1
Update to graphene-1.10.4

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

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