source: basicnet/netprogs/subversion.xml@ de7f20e

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 de7f20e was de7f20e, checked in by Randy McMurchy <randy@…>, 15 years ago

Added Berkeley DB dependencies as it is no longer built in LFS

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

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