Introduction to Subversion
        
        
          Subversion is a version control
          system that is designed to be a compelling replacement for
          CVS in the open source community.
          It extends and enhances CVS'
          feature set, while maintaining a similar interface for those
          already familiar with CVS. These
          instructions install the client and server software used to
          manipulate a Subversion
          repository. Creation of a repository is covered at Running a
          Subversion Server.
        
        
          This package is known to build and work properly using an LFS-7.10
          platform.
        
        
          Package Information
        
        
          
            - 
              
                Download (HTTP): 
                http://www.apache.org/dist/subversion/subversion-1.9.4.tar.bz2
               
- 
              
                Download MD5 sum: 29121a038f87641055a8183f49e9739f
               
- 
              
                Download size: 7.6 MB
               
- 
              
                Estimated disk space required: 165 MB (add 165 MB for
                bindings, 24 MB for docs, reportedly 800 MB for tests)
               
- 
              
                Estimated build time: 1.5 SBU (add 1.7 SBU for bindings,
                reportedly 67 SBU for tests)
               
 
        
          Subversion Dependencies
        
        
          Required
        
        
          Apr-Util-1.5.4 and SQLite-3.14.1
        
        
          Recommended
        
        
          Serf-1.3.8 (for handling http:// and https://
          URLs)
        
        
          Optional
        
        
          Apache-2.4.23, Cyrus
          SASL-2.1.26, D-Bus-1.10.10, Python-2.7.12 (with sqlite
          support for the tests), Ruby-2.3.1, and SWIG-3.0.10 (for building Perl, Python and
          Ruby bindings)
        
        
          Optional (for the Java Bindings)
        
        
          One of OpenJDK-1.8.0.102, Dante or Jikes, and JUnit-4.11 (to test the
          Java bindings)
        
        
          User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/subversion
        
       
      
        
          Installation of Subversion
        
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            This package may fail during the make phase when using multiple
            processors. If this occurs try continuing with make -j1 or redo the entire build
            process with fresh sources using -j1.
          
         
        
          Install Subversion by running the
          following commands:
        
        
sed -i "/seems to be moved/s/^/#/" build/ltmain.sh &&
./configure --prefix=/usr    \
            --disable-static \
            --with-apache-libexecdir &&
make
        
          If you have Doxygen-1.8.11 installed and you wish to build
          the API documentation, issue: doxygen
          doc/doxygen.conf.
        
        
          If you passed the --enable-javahl
          parameter to configure and wish to build the
          Java bindings, issue the following command:
        
        
make javahl
        
          If you want to compile Perl,
          Python2, or Ruby bindings, issue any of the following
          command:
        
        
make swig-pl # for Perl
make swig-py \
     swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
     swig_pydir_extra=/usr/lib/python2.7/site-packages/svn # for Python
make swig-rb # for Ruby
        
          To test the results, issue: make
          check.
        
        
          The Java bindings test, make
          check-javahl, fails due to errors in the test
          suite.
        
        
          To test the results of any of the SWIG bindings, you can use any of the
          following commands: make
          check-swig-pl, make
          check-swig-py, or make check-swig-rb.
        
        
          The Ruby bindings test, make
          check-swig-rb, fails due to errors in the test
          suite.
        
        
          Now, as the root user:
        
        
make install &&
install -v -m755 -d /usr/share/doc/subversion-1.9.4 &&
cp      -v -R       doc/* \
                    /usr/share/doc/subversion-1.9.4
        
          If you built the Java bindings, issue the following command as the
          root user to install them:
        
        
 make install-javahl
        
          If you built the Perl,
          Python2, or Ruby bindings, issue any of the following
          commands as the root user to
          install them:
        
        
make install-swig-pl
make install-swig-py \
      swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
      swig_pydir_extra=/usr/lib/python2.7/site-packages/svn
make install-swig-rb
       
      
        
          Command Explanations
        
        
          sed -i ...
          build/ltmain.sh: This sed silences several annoying
          and useless warnings emitted from libtool.
        
        
          --disable-static: This
          switch prevents installation of static versions of the libraries.
        
        
          --with-apache-libexecdir:
          If Apache-2.4.23 is installed, the shared
          Apache modules are built. This
          switch allows to have those modules installed to Apache's configured module dir instead of
          /usr/libexec. It has no effect if
          Apache is not installed.
        
        
          ---disable-gmock: Do not use the
          Googlemock testing framework.