source: general/prog/subversion.xml@ b112f043

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since b112f043 was 3f2db3a6, checked in by Pierre Labastie <pierre.labastie@…>, 18 months ago

Remove sect1info tags

They only contain a date tag that is nowhere used.

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