source: general/prog/subversion.xml@ 6666fad

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.0 9.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 6666fad was b4c475d, checked in by Bruce Dubbs <bdubbs@…>, 5 years ago

Update to subversion-1.12.0.
Update to qca-2.2.1.
Update to mesa-19.0.3.
Update to cogl-1.22.4.
Update to qemu-4.0.0.
Update to cmake-3.14.3.

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

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