source: general/prog/subversion.xml@ 0e60ff70

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since 0e60ff70 was 68dfef54, checked in by Pierre Labastie <pierre.labastie@…>, 7 months ago

Fix alignement of blocks

Reported by "rhubarbpieguy" on the blfs-dev mailing list

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