~ubuntu-branches/debian/sid/subversion/sid

« back to all changes in this revision

Viewing changes to INSTALL

  • Committer: Package Import Robot
  • Author(s): James McCoy, Peter Samuelson, James McCoy
  • Date: 2014-01-12 19:48:33 UTC
  • mfrom: (0.2.10)
  • Revision ID: package-import@ubuntu.com-20140112194833-w3axfwksn296jn5x
Tags: 1.8.5-1
[ Peter Samuelson ]
* New upstream release.  (Closes: #725787) Rediff patches:
  - Remove apr-abi1 (applied upstream), rename apr-abi2 to apr-abi
  - Remove loosen-sqlite-version-check (shouldn't be needed)
  - Remove java-osgi-metadata (applied upstream)
  - svnmucc prompts for a changelog if none is provided. (Closes: #507430)
  - Remove fix-bdb-version-detection, upstream uses "apu-config --dbm-libs"
  - Remove ruby-test-wc (applied upstream)
  - Fix “svn diff -r N file” when file has svn:mime-type set.
    (Closes: #734163)
  - Support specifying an encoding for mod_dav_svn's environment in which
    hooks are run.  (Closes: #601544)
  - Fix ordering of “svnadmin dump” paths with certain APR versions.
    (Closes: #687291)
  - Provide a better error message when authentication fails with an
    svn+ssh:// URL.  (Closes: #273874)
  - Updated Polish translations.  (Closes: #690815)

[ James McCoy ]
* Remove all traces of libneon, replaced by libserf.
* patches/sqlite_3.8.x_workaround: Upstream fix for wc-queries-test test
  failurse.
* Run configure with --with-apache-libexecdir, which allows removing part of
  patches/rpath.
* Re-enable auth-test as upstream has fixed the problem of picking up
  libraries from the environment rather than the build tree.
  (Closes: #654172)
* Point LD_LIBRARY_PATH at the built auth libraries when running the svn
  command during the build.  (Closes: #678224)
* Add a NEWS entry describing how to configure mod_dav_svn to understand
  UTF-8.  (Closes: #566148)
* Remove ancient transitional package, libsvn-ruby.
* Enable compatibility with Sqlite3 versions back to Wheezy.
* Enable hardening flags.  (Closes: #734918)
* patches/build-fixes: Enable verbose build logs.
* Build against the default ruby version.  (Closes: #722393)

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
                          A Quick Guide
4
4
               ======================================
5
5
 
6
 
$LastChangedDate: 2011-10-19 03:51:28 +0000 (Wed, 19 Oct 2011) $
 
6
$LastChangedDate: 2013-09-27 06:57:44 +0000 (Fri, 27 Sep 2013) $
7
7
 
8
8
 
9
9
Contents:
96
96
         These diff streams are used everywhere -- over the network,
97
97
         in the repository, and in the client's working copy.
98
98
 
99
 
      * libserf or libneon  (OPTIONAL for client)
 
99
      * libserf  (OPTIONAL for client)
100
100
 
101
 
         The Serf and Neon libraries both allow the Subversion client
102
 
         to send HTTP requests.  This is necessary if you want your
103
 
         client to access a repository served by the Apache HTTP
104
 
         server.  There is an alternate 'svnserve' server as well,
105
 
         though, and clients automatically know how to speak the
106
 
         svnserve protocol.  Thus it's not strictly necessary for your
107
 
         client to be able to speak HTTP... though we still recommend
108
 
         that your client be built to speak both HTTP and svnserve
109
 
         protocols.  Your client can be compiled against either
110
 
         libserf or libneon (or both), as they offer competing
111
 
         implementations.
 
101
         The Serf library allows the Subversion client to send HTTP
 
102
         requests.  This is necessary if you want your client to access
 
103
         a repository served by the Apache HTTP server.  There is an
 
104
         alternate 'svnserve' server as well, though, and clients
 
105
         automatically know how to speak the svnserve protocol.
 
106
         Thus it's not strictly necessary for your client to be able
 
107
         to speak HTTP... though we still recommend that your client
 
108
         be built to speak both HTTP and svnserve protocols.
112
109
 
113
110
      * OpenSSL (OPTIONAL for client and server)
114
111
 
115
112
         OpenSSL enables your client to access SSL-encrypted https://
116
 
         URLs (using libserf or libneon) in addition to unencrypted
117
 
         http:// URLs.  To use SSL with Subversion's WebDAV server,
118
 
         Apache needs to be compiled with OpenSSL as well.
119
 
 
120
 
         The Neon library can use the GnuTLS library as an alternative
121
 
         to OpenSSL.
 
113
         URLs (using libserf) in addition to unencrypted http:// URLs.
 
114
         To use SSL with Subversion's WebDAV server, Apache needs to be
 
115
         compiled with OpenSSL as well.
122
116
 
123
117
      * Berkeley DB (OPTIONAL for client and server)
124
118
 
177
171
      team has created a script that downloads the minimal prerequisite
178
172
      libraries (Apache Portable Runtime, Sqlite, and Zlib).  The script,
179
173
      'get-deps.sh', is available in the same directory as this file.
180
 
      When run, it will place 'apr', 'apr-util', 'serf', 'neon',
181
 
      'zlib', and 'sqlite-amalgamation' directories directly into your
182
 
      unpacked Subversion distribution, where they will be automatically
183
 
      configured and built by Subversion's build process.
 
174
      When run, it will place 'apr', 'apr-util', 'serf', 'zlib', and
 
175
      'sqlite-amalgamation' directories directly into your unpacked Subversion
 
176
      distribution.  With the exception of sqlite-amalgamation, they will
 
177
      still need to be configured, built and installed explicitly, and
 
178
      Subversion's own configure script may need to be told where to find
 
179
      them, if they were not installed in standard system locations.
184
180
 
185
181
      Note: there are optional dependencies (such as openssl, swig, and httpd)
186
 
      which get-deps.sh does not download and Subversion does not attempt to
187
 
      configure or build.
 
182
      which get-deps.sh does not download.
188
183
 
189
184
      Note: Because previous builds of Subversion may have installed older
190
185
      versions of these libraries, you may want to run some of the cleanup
249
244
      be able to find them.
250
245
 
251
246
      There are a couple of options to "./configure" that tell it where
252
 
      to look for the APR and APR-util libraries. By default, it will first
253
 
      look for bundled versions of APR and APR-util, and then try to locate
254
 
      already installed versions of the libraries using the apr-config and
255
 
      apu-config scripts. These scripts provide all the relevant information
256
 
      for the APR and APR-util installations.
 
247
      to look for the APR and APR-util libraries. By default it will try
 
248
      to locate the libraries using apr-config and apu-config scripts.
 
249
      These scripts provide all the relevant information for the APR and
 
250
      APR-util installations.
257
251
 
258
252
      If you want to specify the location of the APR library, you can use
259
253
      the "--with-apr=" option of "./configure". It should be able to find
270
264
          $ ./configure --with-apr=/usr/local/apache2 \
271
265
            --with-apr-util=/usr/local/apache2  ...
272
266
 
273
 
      If you want Subversion to build the APR libraries from source
274
 
      code as part of the Subversion build process, you can put their
275
 
      source code into the "./apr" and "./apr-util" directories.
276
 
 
277
267
      Be sure to use a native Windows SVN client (as opposed to
278
268
      Cygwin's version) so that the .dsp files get carriage-returns at
279
269
      the ends of their lines.  Otherwise Visual Studio will complain
284
274
      library's directory, to regenerate the configure scripts and
285
275
      other files required for compiling the libraries:
286
276
 
287
 
      $ cd apr; ./buildconf; cd ..
288
 
 
289
 
      $ cd apr-util; ./buildconf; cd ..
 
277
      $ cd apr; ./buildconf; ./configure ...; make; make install; cd ..
 
278
 
 
279
      $ cd apr-util; ./buildconf; ./configure ...; make; make install; cd ..
 
280
 
 
281
      Configure build and install both libraries before running Subversion's
 
282
      configure script.
290
283
 
291
284
 
292
285
      2. Zlib  (REQUIRED)
313
306
      newer. The autogen.sh script knows about that.
314
307
 
315
308
 
316
 
      5.  An HTTP client library:  serf or neon.  (OPTIONAL)
 
309
      5.  Serf library 1.2.1 or newer (OPTIONAL)
317
310
 
318
311
      If you want your client to be able to speak to an Apache
319
312
      server (via a http:// or https:// URL), you must link against
320
 
      at least one of these libraries.  Though optional, we strongly
321
 
      recommend this.
322
 
 
323
 
      (If you link against both, Subversion will use ra_neon by
324
 
      default.  Add "http-library = serf" to the [global] section of
325
 
      your ~/.subversion/servers file to use ra_serf instead.)
326
 
 
327
 
        a. Serf library 0.7.1 or newer (http://code.google.com/p/serf/)
328
 
 
329
 
           In order to use ra_serf, you must install serf, and run
330
 
           Subversion's ./configure with the argument --with-serf.  If
331
 
           serf is installed in a non-standard place, you should use
 
313
      serf.  Though optional, we strongly recommend this.
 
314
 
 
315
      In order to use ra_serf, you must install serf, and run Subversion's
 
316
      ./configure with the argument --with-serf.  If serf is installed in a
 
317
      non-standard place, you should use
332
318
 
333
319
               --with-serf=/path/to/serf/install
334
320
 
335
 
           instead.
336
 
 
337
 
           For more information on serf and Subversion's ra_serf, see
338
 
           the file subversion/libsvn_ra_serf/README.
339
 
 
340
 
        b. Neon library 0.25 through 0.29 (http://www.webdav.org/neon/)
341
 
 
342
 
           In order to use ra_neon, you must install neon, and run
343
 
           Subversion's ./configure with the argument --with-neon.
344
 
           Subversion's configuration mechanism should then detect the
345
 
           installed Neon.  If it does not, you may need to set the
346
 
           LDFLAGS environment variable when you run "./configure", or
347
 
           specify Neon's location by passing the "--with-neon="
348
 
           option to "./configure".  Look for the "neon-config" script
349
 
           in a "bin/" subdirectory of the target of "--with-neon".
350
 
           For example, if you pass "--with-neon=/usr/local/myneon/",
351
 
           then there should be a file
352
 
           "/usr/local/myneon/bin/neon-config".
353
 
 
 
321
      instead.
 
322
 
 
323
      Serf can be obtained via your system's package distribution
 
324
      system or directly from http://code.google.com/p/serf/.
 
325
 
 
326
      For more information on serf and Subversion's ra_serf, see the file
 
327
      subversion/libsvn_ra_serf/README.
354
328
 
355
329
      6. OpenSSL  (OPTIONAL)
356
330
 
358
332
      ### finding OpenSSL, but we may need more docco here. and w.r.t
359
333
      ### zlib.
360
334
 
361
 
      The Serf and Neon libraries have support for SSL encryption by
362
 
      relying on the OpenSSL library.
 
335
      The Serf library has support for SSL encryption by relying on the
 
336
      OpenSSL library.
363
337
 
364
338
        a. Using OpenSSL on the client through Serf
365
339
 
366
 
        b. Using OpenSSL on the client through Neon
367
 
 
368
 
          When Neon is created with this dependency, then the Subversion
369
 
          client inherits the ability to support SSL connections.  Neon
370
 
          also has support for sending compressed data using the zlib
371
 
          library which a Subversion client can take advantage of.
372
 
 
373
 
          On Unix systems, to build Neon with OpenSSL, you need OpenSSL
 
340
          On Unix systems, to build Serf with OpenSSL, you need OpenSSL
374
341
          installed on your system, and you must add "--with-ssl" as a
375
342
          "./configure" parameter.  If your OpenSSL installation is hard
376
 
          for Neon to find, you may need to use "--with-libs=/path/to/lib"
 
343
          for Serf to find, you may need to use "--with-libs=/path/to/lib"
377
344
          in addition.  In particular, on Red Hat (but not Fedora Core) it
378
345
          is necessary to specify "--with-libs=/usr/kerberos" for OpenSSL
379
346
          to be found.  You can also specify a path to the zlib library
380
 
          using "--with-libs".  Consult the Neon documentation for more
381
 
          information on how to use these parameters and versions of
382
 
          libraries you need.
 
347
          using "--with-libs".
383
348
 
384
349
          Under Windows, you can specify the paths to these libraries by
385
350
          passing the options --with-zlib and --with-openssl to gen-make.py.
478
443
      is done: See section III for details.
479
444
 
480
445
 
481
 
      10.  Python 2.4 or newer (http://www.python.org/)  (OPTIONAL)
 
446
      10.  Python 2.5 or newer (http://www.python.org/)  (OPTIONAL)
482
447
 
483
448
      If you want to run "make check" or build from the latest source
484
449
      under Unix as described in section II.B and III.D, install
485
 
      Python 2.4 or higher on your system. The majority of the test
 
450
      Python 2.5 or higher on your system. The majority of the test
486
451
      suite is written in Python, as is part of Subversion's build
487
452
      system.
488
453
 
512
477
 
513
478
      13. SQLite  (REQUIRED)
514
479
 
515
 
      Subversion 1.7 requires SQLite version 3.6.18 or above.  You can meet
 
480
      Subversion 1.8 requires SQLite version 3.7.12 or above.  You can meet
516
481
      this dependency several ways:
517
482
        * Use an SQLite amalgamation file.
518
483
        * Specify an SQLite installation to use.
651
616
          db*.i386.rpm     (Version 4.0.14 or greater; version 4.3.27 or
652
617
                            4.2.52 is preferred however)
653
618
          expat            (Comes with RedHat)
654
 
          neon             (Version 0.25.5)
655
619
 
656
620
      After downloading, install it (as root user):
657
621
 
683
647
          # rm -f /usr/local/lib/libsvn*
684
648
          # rm -f /usr/local/lib/libapr*
685
649
          # rm -f /usr/local/lib/libexpat*
686
 
          # rm -f /usr/local/lib/libneon*
 
650
          # rm -f /usr/local/lib/libserf*
687
651
 
688
652
      Start the process by running "autogen.sh":
689
653
 
733
697
      It probably means that the dynamic loader/linker can't find all
734
698
      of the libsvn_* libraries.
735
699
 
736
 
      Note that if you commonly build with the -jN option to make and
737
 
      have used the get-deps.sh script to fetch dependencies, the make
738
 
      step above may fail, because we don't ensure that third party
739
 
      libraries in our source tree will finish building before
740
 
      subversion itself.  If you want to use -jN, use the following
741
 
      instead:
742
 
 
743
 
          $ ./configure
744
 
          $ make -jN external-all
745
 
          $ make -jN local-all
746
 
          $ make check
747
 
          # make install
748
 
 
749
700
 
750
701
  C.  Building under Unix in Different Directories
751
702
      --------------------------------------------
755
706
 
756
707
          $ svn co https://svn.apache.org/repos/asf/subversion/trunk svn
757
708
          $ cd svn
758
 
          $ # get any dependencies to be built in-tree, if required
 
709
          $ # get SQLite amalgamation if required
759
710
          $ chmod +x autogen.sh
760
711
          $ ./autogen.sh
761
712
          $ mkdir ../obj
842
793
        is compatible with VC6, which is the one from february 2003.
843
794
        You can get it from MSDN:
844
795
        http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
845
 
      * Python 2.4 or higher, downloaded from http://www.python.org/ which is
 
796
      * Python 2.5 or higher, downloaded from http://www.python.org/ which is
846
797
        used to generate the project files.
847
798
      * Perl 5.8 or higher from http://www.activestate.com/
848
 
      * Awk (from http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe) is
 
799
      * Awk (from http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe) is
849
800
        needed to compile Apache or APR.  Note that this is the actual awk
850
801
        program, not an installer - just rename it to awk.exe and it is
851
802
        ready to use.
852
 
      * Neon 0.26.1 or higher, downloaded from
853
 
        http://www.webdav.org/neon/neon-0.26.1.tar.gz which is required
854
 
        for building the client components.  Neon is included in the zip file
855
 
        distribution.  (0.25.0+ compiles, but does not properly support all
856
 
        HTTP auth types.)
857
803
      * Apache apr, apr-util, and optionally apr-iconv libraries, version
858
804
        0.9.12 or later. Included in both the Subversion dependencies ZIP file
859
805
        and the Apache 2 source zip.  If you are building from a Subversion
907
853
 
908
854
  E.2 Notes
909
855
 
910
 
      The Neon library supports secure connections with OpenSSL and
 
856
      The Serf library supports secure connections with OpenSSL and
911
857
      on-the-wire compression with zlib. If you want to use the
912
858
      secure connections feature, you should pass the option
913
859
      "--with-openssl" to the gen-make.py script. See Section I.11 for
955
901
        server dso modules and are using Visual Studio 6.  You must build
956
902
        and install it from source if you are not using Visual Studio 6 and
957
903
        want to build and/or test the server modules.
958
 
      * If you checked out Subversion from the repository then extract neon
959
 
        into SVN\src-trunk\neon, the zip file source distribution includes
960
 
        neon.
 
904
      * If you checked out Subversion from the repository then install the serf
 
905
        sources into SVN\src-trunk\serf.
961
906
      * If you want BDB backend support, extract the Berkeley DB files
962
907
        into SVN\src-trunk\db4-win32. It's a good idea to add
963
908
        SVN\src-trunk\db4-win32\bin to your PATH, so that Subversion can find
1318
1263
 
1319
1264
      After the make install, the Subversion shared libraries are in
1320
1265
      /usr/local/lib/.  mod_dav_svn.so should be installed in
1321
 
      /usr/local/apache2/modules/.
 
1266
      /usr/local/libexec/ (or elsewhere, such as /usr/local/apache2/modules/,
 
1267
      if you passed --with-apache-libexecdir to configure).
1322
1268
 
1323
1269
 
1324
1270
      Section II.E explains how to build the server on Windows.
1342
1288
      http://httpd.apache.org/docs-2.0/
1343
1289
 
1344
1290
      First, your httpd.conf needs to load the mod_dav_svn module.
1345
 
      Subversion's 'make install' target should automatically add this
1346
 
      line for you.  But if apache gives you an error like "Unknown
 
1291
      If you pass --enable-mod-activation to Subversion's configure,
 
1292
      'make install' target should automatically add this line for you.
 
1293
      In any case, if Apache HTTPD gives you an error like "Unknown
1347
1294
      DAV provider: svn", then you may want to verify that this line
1348
1295
      exists in your httpd.conf:
1349
1296