source: basicnet/netprogs/subversion.xml@ 460a992

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 460a992 was 460a992, checked in by Randy McMurchy <randy@…>, 14 years ago

Changed the SQLite package from optional to required in the Subversion instructions

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

  • Property mode set to 100644
File size: 20.5 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 "http://subversion.tigris.org/downloads/subversion-&subversion-version;.tar.bz2">
8 <!ENTITY subversion-download-ftp " ">
9 <!ENTITY subversion-md5sum "9c30a47b1d48664e7afef68bb4834c53">
10 <!ENTITY subversion-size "5.4 MB">
11
12 <!ENTITY subversion-buildsize "170 MB (additional 43 MB to install all bindings and 740 MB to run all test suites)">
13 <!ENTITY subversion-time "2.8 SBU (add 2.3 SBU for bindings and 6.0 SBU to run test suites)">
14
15 <!ENTITY svn-neon-version "0.28.3">
16 <!ENTITY svn-swig-version "1.3.36">
17]>
18
19<sect1 id="subversion" xreflabel="Subversion-&subversion-version;">
20 <?dbhtml filename="subversion.html"?>
21
22 <sect1info>
23 <othername>$LastChangedBy$</othername>
24 <date>$Date$</date>
25 </sect1info>
26
27 <title>Subversion-&subversion-version;</title>
28
29 <indexterm zone="subversion">
30 <primary sortas="a-Subversion">Subversion</primary>
31 </indexterm>
32
33 <sect2 role="package">
34 <title>Introduction to Subversion</title>
35
36 <para><application>Subversion</application> is a version control
37 system that is designed to be a compelling replacement for
38 <application>CVS</application> in the open source community. It
39 extends and enhances <application>CVS</application>' feature set,
40 while maintaining a similar interface for those already familiar with
41 <application>CVS</application>. These instructions install the client
42 and server software used to manipulate a
43 <application>Subversion</application> repository. Creation of a repository
44 is covered at <xref linkend="svnserver"/>.</para>
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>Download (HTTP): <ulink url="&subversion-download-http;"/></para>
50 </listitem>
51 <listitem>
52 <para>Download (FTP): <ulink url="&subversion-download-ftp;"/></para>
53 </listitem>
54 <listitem>
55 <para>Download MD5 sum: &subversion-md5sum;</para>
56 </listitem>
57 <listitem>
58 <para>Download size: &subversion-size;</para>
59 </listitem>
60 <listitem>
61 <para>Estimated disk space required: &subversion-buildsize;</para>
62 </listitem>
63 <listitem>
64 <para>Estimated build time: &subversion-time;</para>
65 </listitem>
66 </itemizedlist>
67
68 <!--
69 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
70 <itemizedlist spacing="compact">
71 <listitem>
72 <para>Required patch if using
73 <application>Swig</application>-1.3.25 and you wish
74 to build the <application>Perl</application> bindings: <ulink
75 url="&patch-root;/patches/subversion-&subversion-version;-swig_1.3.25-1.patch"/></para>
76 </listitem>
77 </itemizedlist>
78 -->
79
80 <bridgehead renderas="sect3">Subversion Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Required</bridgehead>
83 <para role="required"><xref linkend="sqlite"/>, and
84 <xref linkend="apache"/> (for the
85 <application>APR</application> only) or
86 <ulink url="http://apr.apache.org/">Apache Portable Runtime</ulink></para>
87
88 <para>Note that you can use the <ulink
89 url="http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&amp;expandFolder=74">
90 Subversion dependencies package</ulink> as a substitute for
91 <application>SQLite</application> and the APR requirements (see the
92 <filename>INSTALL</filename> file for information on how to utilize this
93 package)</para>
94
95 <para>If you require the <application>Berkeley DB</application> back-end
96 hooks in <application>Subversion</application> to build or support BDB
97 based repositories, you must have <application>Berkeley DB</application>
98 linked into the <application>APR-util</application> library. There is
99 information in the <xref linkend="apache"/> instructions that shows the
100 required parameters to pass to the <command>configure</command> script when
101 building any of the <application>APR-util</application> packages.</para>
102
103 <bridgehead renderas="sect4">Optional</bridgehead>
104 <para role="optional"><xref linkend="python"/> (required to run the test suite),
105 <xref linkend="db"/>,
106 <xref linkend="sqlite"/>,
107 <xref linkend="cyrus-sasl"/>,
108 <xref linkend="openssl"/>,
109 <xref linkend="dbus-glib"/>,
110 <xref linkend="gnome-keyring"/>,
111 <xref linkend="kdelibs"/>,
112 <xref linkend="apache"/> (if you have <application>Apache Portable
113 Runtime</application> installed), and
114 <ulink url="http://www.webdav.org/neon/">neon</ulink> or
115 <ulink url="http://code.google.com/p/serf/">serf</ulink></para>
116
117 <!-- <para>* The <command>configure</command> script will warn that the
118 installed <application>neon</application> version is not supported if the
119 version is greater than &svn-neon-version;. You can circumvent this
120 warning by passing <option>-disable-neon-version-check</option> to the
121 <command>configure</command> command. Note that this may or may not work,
122 depending on the version of <application>neon</application> you have
123 installed, but <application>neon</application>-0.26.3 is known to
124 work.</para> -->
125
126 <bridgehead renderas="sect4">Optional to Build the Java Bindings</bridgehead>
127 <para role="optional"><xref linkend="jdk"/> or
128 <ulink url="http://www.inet.no/dante/">Dante</ulink> or
129 <ulink url="http://oss.software.ibm.com/developerworks/opensource/jikes/">Jikes</ulink>,
130 and <xref linkend="junit"/> (to test the Java bindings)</para>
131
132 <bridgehead renderas="sect4">Optional to Build the SWIG Bindings</bridgehead>
133 <para role="optional"><ulink url="http://www.swig.org">SWIG</ulink>**,
134 <xref linkend="python"/>, and
135 <xref linkend="ruby"/></para>
136
137 <para>** The <command>configure</command> script will issue warnings if
138 the installed version of <application>SWIG</application> is greater than
139 &svn-swig-version;, but will attempt to use it anyway if you build the
140 <application>SWIG</application> bindings. Versions of
141 <application>SWIG</application> up to 1.3.40 are known to work.</para>
142
143 <!-- <para>Note that the <application>Python</application>,
144 <application>Perl</application> and <application>Ruby</application>
145 bindings will not compile properly with the current version of
146 <application>SWIG</application>. To build the bindings, you must have
147 <application>SWIG</application>-1.3.{24,25} installed. Complete
148 instructions for building the <application>SWIG</application> bindings
149 can be found in the <application>Subversion</application> source tree
150 file <filename>./subversion/bindings/swig/INSTALL</filename>.</para> -->
151
152 <para condition="html" role="usernotes">User Notes:
153 <ulink url="&blfs-wiki;/subversion"/></para>
154
155 </sect2>
156
157 <sect2 role="installation">
158 <title>Installation of Subversion</title>
159
160 <!-- <caution>
161 <para>For reasons that are not yet fully understood,
162 <application>Subversion</application> repositories based on some versions
163 of <application>Berkeley DB</application> (notably 4.4.x) may not perform
164 reliably. Though there have been no reports of corrupted databases caused
165 by this issue, the <application>Subversion</application> test suite may
166 report a failure in one of the tests due to problems opening a repository
167 based on <application>Berkeley DB</application>. This issue only affects
168 BDB-based repositories on a local installation and does not affect access
169 to a BDB-based repository on a remote system built with older versions of
170 <application>Subversion</application> or
171 <application>Berkeley DB</application>.</para>
172
173 <para>For these reasons, the <application>Berkeley DB</application>
174 back-end is disabled, and any local BDB-based repositories you may have
175 will be unavailable after installing <application>Subversion</application>
176 using the following instructions. Please reference the information at
177 <ulink
178 url="http://svnbook.red-bean.com/en/1.1/ch05s03.html#svn-ch-5-sect-3.5"/>
179 if you need to migrate your repositores.</para>
180 </caution> -->
181
182 <para>Install <application>Subversion</application> by running the
183 following commands:</para>
184
185<screen><userinput>./configure --prefix=/usr &amp;&amp;
186make</userinput></screen>
187
188 <para>If you have <xref linkend="doxygen"/> installed and you wish to
189 build the API documentation, issue:
190 <command>doxygen doc/doxygen.conf</command>.</para>
191
192 <!-- <note>
193 <para>If you have <application>Apache</application> installed, pass
194 the <option>-with-apr=/usr</option> and
195 <option>-with-apr-util=/usr</option> switches to the
196 <command>configure</command> script. Otherwise,
197 <application>Subversion</application> will overwrite APR and APR-utils
198 from the <application>Apache</application> installation with the source
199 distribution files. You may also need to pass
200 <option>-with-apxs=/usr/sbin/apxs</option> as <command>apxs</command>
201 might not be in an unprivileged user's <envar>PATH</envar> and won't be
202 properly discovered. Additionally if you have
203 <application>Apache</application> installed, you may safely remove the
204 <parameter>-with-installbuilddir=/usr/lib/apr-0</parameter> parameter
205 as it will have no effect.</para>
206 </note> -->
207
208 <para>If you passed the <option>--enable-javahl</option> parameter to
209 <command>configure</command> and wish to build the Java bindings, issue
210 the following command:</para>
211
212<screen><userinput>make javahl</userinput></screen>
213
214 <para>If you have the necessary dependencies installed and you wish to
215 build the <application>Perl</application>,
216 <application>Python</application> and/or
217 <application>Ruby</application> bindings, issue any or all of the following
218 commands:</para>
219
220<screen><userinput>make swig-pl &amp;&amp;
221make swig-py &amp;&amp;
222make swig-rb</userinput></screen>
223
224 <para>To test the results, issue: <command>make check</command>.</para>
225
226 <para>To test the results of the Java bindings build, issue
227 <command>make check-javahl</command>. Note you must have the
228 <application>JUnit</application> testing framework installed.</para>
229
230 <para>To test the results of any or all of the
231 <application>SWIG</application> bindings, you can use the following
232 commands:</para>
233
234<screen><userinput>make check-swig-pl &amp;&amp;
235make check-swig-py &amp;&amp;
236make check-swig-rb</userinput></screen>
237
238 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
239
240<screen role='root'><userinput>make install &amp;&amp;
241install -v -m755 -d /usr/share/doc/subversion-&subversion-version; &amp;&amp;
242cp -v -R doc/* \
243 /usr/share/doc/subversion-&subversion-version;</userinput></screen>
244
245 <para>If you built the Java bindings, issue the following command
246 as the <systemitem class="username">root</systemitem> user to install
247 them:</para>
248
249<screen role='root'><userinput>make install-javahl</userinput></screen>
250
251 <para>If you built any of the <application>SWIG</application> bindings,
252 issue any or all of the following commands as the
253 <systemitem class="username">root</systemitem> user to install them:</para>
254
255<screen role='root'><userinput>make install-swig-pl &amp;&amp;
256make install-swig-py &amp;&amp;
257make install-swig-rb</userinput></screen>
258
259 <para>In order for <application>Python</application> to automatically
260 discover the bindings, add
261 <filename class='directory'>/usr/lib/svn-python</filename> to the
262 <envar>PYTHONPATH</envar> environment variable to the system or
263 personal profiles.</para>
264
265 </sect2>
266
267 <sect2 role="commands">
268 <title>Command Explanations</title>
269
270 <para><command>sed -i '...' .../Makefile.PL.in</command>: This command
271 is used to fix a problem with compiling the <application>Perl</application>
272 bindings. It can be omitted if you're not building the bindings.</para>
273
274 <para><option>--with-neon=<replaceable>&lt;prefix&gt;</replaceable></option>:
275 This option should be used if you wish to use a system-installed version
276 of <application>neon</application>.</para>
277
278 <para><option>--with-apr=<replaceable>&lt;prefix&gt;</replaceable>
279 --with-apr-util=<replaceable>&lt;prefix&gt;</replaceable></option>:
280 These options should be used if you wish to use the system-installed
281 version of the <application>APR</application>. Ensure you identify the
282 correct installation prefix.</para>
283
284 <para><option>--with-apxs=/usr/sbin/apxs</option>: This option should be
285 used to identify the system-installed version of the
286 <command>apxs</command> command installed during the
287 <application>Apache HTTPD</application> installation as
288 <command>apxs</command> might not be in an unprivileged user's
289 <envar>PATH</envar> and won't be properly discovered.</para>
290
291 <!-- <para><parameter>-with-installbuilddir=/usr/lib/apr-0</parameter>:
292 This parameter is used (and only has an effect if you used the
293 <application>Subversion dependencies</application> package) to force the
294 installation of some APR-related support programs to
295 <filename class="directory">/usr/lib/apr-0</filename> instead of
296 <filename class="directory">/usr/build</filename>.</para> -->
297
298 </sect2>
299
300 <sect2 role="configuration">
301 <title>Configuring Subversion</title>
302
303 <sect3 id="subversion-config">
304 <title>Config Files</title>
305
306 <para><filename>~/.subversion/config</filename> and
307 <filename>/etc/subversion/config</filename></para>
308
309 <indexterm zone="subversion subversion-config">
310 <primary sortas="e-AA.subversion/config">~/.subversion/config</primary>
311 </indexterm>
312
313 <indexterm zone="subversion subversion-config">
314 <primary sortas="e-etc-subversion-config">/etc/subversion/config</primary>
315 </indexterm>
316
317 </sect3>
318
319 <sect3>
320 <title>Configuration Information</title>
321
322 <para><filename>/etc/subversion/config</filename> is the
323 <application>Subversion</application> system-wide configuration file.
324 This file is used to specify defaults for different
325 <command>svn</command> commands.</para>
326
327 <para><filename>~/.subversion/config</filename> is the user's personal
328 configuration file. It is used to override the system-wide defaults
329 set in <filename>/etc/subversion/config</filename>.</para>
330
331 </sect3>
332
333 </sect2>
334
335 <sect2 role="content">
336 <title>Contents</title>
337
338 <segmentedlist>
339 <segtitle>Installed Programs</segtitle>
340 <segtitle>Installed Libraries</segtitle>
341 <segtitle>Installed Directories</segtitle>
342
343 <seglistitem>
344 <seg>svn, svnadmin, svndumpfilter, svnlook, svnserve, svnsync and
345 svnversion</seg>
346 <seg>libsvn*.{so,a} and optionally, a Java library, the mod_dav_svn.so,
347 and mod_authz_svn.so <application>Apache HTTP</application>
348 DSO modules and various <application>Perl</application>,
349 <application>Python</application> and <application>Ruby</application>
350 modules</seg>
351 <seg>/usr/include/subversion-1,
352 /usr/lib/perl5/site_perl/&lfs-perl-version;/i686-linux/auto/SVN (optional),
353 /usr/lib/perl5/site_perl/&lfs-perl-version;/i686-linux/SVN (optional),
354 /usr/lib/ruby/site_ruby/x.x/i686-linux/svn,
355 /usr/lib/svn-javahl (optional),
356 /usr/lib/svn-python (optional) and
357 /usr/share/doc/subversion-&subversion-version;</seg>
358 </seglistitem>
359 </segmentedlist>
360
361 <variablelist>
362 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
363 <?dbfo list-presentation="list"?>
364 <?dbhtml list-presentation="table"?>
365
366 <varlistentry id="svn">
367 <term><command>svn</command></term>
368 <listitem>
369 <para>is a command-line client program used to access
370 <application>Subversion</application> repositories.</para>
371 <indexterm zone="subversion svn">
372 <primary sortas="b-svn">svn</primary>
373 </indexterm>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry id="svnadmin">
378 <term><command>svnadmin</command></term>
379 <listitem>
380 <para>is a tool for creating, tweaking or repairing a
381 <application>Subversion</application> repository.</para>
382 <indexterm zone="subversion svnadmin">
383 <primary sortas="b-svnadmin">svnadmin</primary>
384 </indexterm>
385 </listitem>
386 </varlistentry>
387
388 <varlistentry id="svndumpfilter">
389 <term><command>svndumpfilter</command></term>
390 <listitem>
391 <para>is a program for filtering <application>Subversion</application>
392 repository dumpfile format streams.</para>
393 <indexterm zone="subversion svndumpfilter">
394 <primary sortas="b-svndumpfilter">svndumpfilter</primary>
395 </indexterm>
396 </listitem>
397 </varlistentry>
398
399 <varlistentry id="svnlook">
400 <term><command>svnlook</command></term>
401 <listitem>
402 <para>is a tool for inspecting a
403 <application>Subversion</application> repository.</para>
404 <indexterm zone="subversion svnlook">
405 <primary sortas="b-svnlook">svnlook</primary>
406 </indexterm>
407 </listitem>
408 </varlistentry>
409
410 <varlistentry id="svnserve">
411 <term><command>svnserve</command></term>
412 <listitem>
413 <para>is a custom standalone server program, able to run as a
414 daemon process or invoked by SSH.</para>
415 <indexterm zone="subversion svnserve">
416 <primary sortas="b-svnserve">svnserve</primary>
417 </indexterm>
418 </listitem>
419 </varlistentry>
420
421 <varlistentry id="svnversion">
422 <term><command>svnversion</command></term>
423 <listitem>
424 <para>is used to report the version number and state of a
425 working <application>Subversion</application> repository copy.</para>
426 <indexterm zone="subversion svnversion">
427 <primary sortas="b-svnversion">svnversion</primary>
428 </indexterm>
429 </listitem>
430 </varlistentry>
431
432 <varlistentry id="neon-config">
433 <term><command>neon-config</command></term>
434 <listitem>
435 <para>is a script which provides information about an installed
436 copy of the <application>neon</application> library.</para>
437 <indexterm zone="subversion neon-config">
438 <primary sortas="b-neon-config">neon-config</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="libsvn_star">
444 <term><filename class='libraryfile'>libsvn_*.{so,a}</filename></term>
445 <listitem>
446 <para>are the support libraries used by the
447 <application>Subversion</application> programs.</para>
448 <indexterm zone="subversion libsvn_star">
449 <primary sortas="c-libsvn_star">libsvn_*.{so,a}</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
453
454 <varlistentry id="libneon">
455 <term><filename class='libraryfile'>libneon.{so,a}</filename></term>
456 <listitem>
457 <para>is used as a high-level interface to common
458 HTTP and WebDAV methods.</para>
459 <indexterm zone="subversion libneon">
460 <primary sortas="c-libneon">libneon.{so,a}</primary>
461 </indexterm>
462 </listitem>
463 </varlistentry>
464
465 <varlistentry id="mod_authz_svn">
466 <term><filename class='libraryfile'>mod_authz_svn.so</filename></term>
467 <listitem>
468 <para>is a plug-in module for the <application>Apache</application>
469 HTTP server, used to authenticate users to a
470 <application>Subversion</application> repository over the Internet or an
471 intranet.</para>
472 <indexterm zone="subversion mod_authz_svn">
473 <primary sortas="c-mod_authz_svn">mod_authz_svn.so</primary>
474 </indexterm>
475 </listitem>
476 </varlistentry>
477
478 <varlistentry id="mod_dav_svn">
479 <term><filename class='libraryfile'>mod_dav_svn.so</filename></term>
480 <listitem>
481 <para>is a plug-in module for the <application>Apache</application>
482 HTTP server, used to make a
483 <application>Subversion</application> repository available to others over the
484 Internet or an intranet.</para>
485 <indexterm zone="subversion mod_dav_svn">
486 <primary sortas="c-mod_authz_svn">mod_dav_svn.so</primary>
487 </indexterm>
488 </listitem>
489 </varlistentry>
490
491 </variablelist>
492
493 </sect2>
494
495</sect1>
Note: See TracBrowser for help on using the repository browser.