Difference between revisions of "Subversion"

From CBLFS
Jump to navigationJump to search
(Multilib)
 
(41 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
{| style="text-align: left; background-color: AliceBlue;"
 
{| style="text-align: left; background-color: AliceBlue;"
|-
+
|-valign="top"
 
!Download Source:
 
!Download Source:
| http://subversion.tigris.org/downloads/subversion-deps-1.4.0.tar.bz2
+
| http://mirrors.sonic.net/apache/subversion/subversion-{{Subversion-Version}}.tar.bz2
|-
 
!Download Source:
 
| http://subversion.tigris.org/downloads/subversion-1.4.0.tar.bz2
 
 
|}
 
|}
  
 
----
 
----
 +
 +
 +
{{Package-Introduction|The goal of the Subversion project is to build a version control system that is a compelling replacement for CVS in the open source community. At the moment, the [http://www.linuxfromscratch.org/lfs/ LFS], [http://www.linuxfromscratch.org/blfs/ BLFS], and [http://trac.cross-lfs.org CLFS] projects all use subversion to maintain their books.|http://subversion.apache.org/}}
  
 
== Dependencies ==
 
== Dependencies ==
 +
 +
{{Note|The Subversion 1.7 releases have a get-deps.sh script in the source directory to download required dependencies as a separate dependency file is not available anymore. Run the script if you do not want to build the required dependencies separately.}}
 +
 +
=== Required ===
 +
* [[APR]]
 +
* [[APR-util]]
 +
* [[Serf]]
 +
* [[SQLite3]]
  
 
=== Optional ===
 
=== Optional ===
*[[Python]]
+
* [[Python]]
*[[Apache]]
+
* [[Apache]]   Required for mod_dav_svn
*[[JDK]]
+
* [[JDK]]
*[[JUnit]]
+
* [[JUnit]]
*[[Dante]]
+
* [[Dante]]
*[[Jikes]]
+
* [[Jikes]]
*[[pkg-config]]
+
* [[pkg-config]]
*[[expat]] or [[libXML2]]
+
* [[expat]] or [[libXML2]]
*[[OpenSSL]]
+
* [[OpenSSL]] Add --with-ssl to configure
*[[MIT krb5]] or [[Heimdal]]
+
* [[MIT krb5]] or [[Heimdal]]
*[[Berkeley DB]] or [[GDBM]]
+
* [[Berkeley DB]] or [[GDBM]] Add --with-berkeley-db or --with-gdbm to configure
*[[SWIG]]
+
* [[SWIG]]
*[[Ruby]]
+
* [[Ruby]]
 +
* [[Neon]]
 +
* [[Unzip]] for the get-deps.sh script for downloading dependencies
 +
 
 +
{{Note|If not using neon you may want to pass --without-neon for configure to work properly.}}
  
 
== Non-Multilib ==
 
== Non-Multilib ==
 
First, extract two tarballs into one directory.
 
  
 
Compile the package:
 
Compile the package:
  
./configure --prefix=/usr --with-berkeley-db --with-installbuilddir=/usr/lib/apr-0 --with-ssl &&
+
  ./configure --prefix=/usr --with-serf=/usr &&
 
  make
 
  make
 
One can safely drop --with-ssl flag to use system neon if exists.
 
  
 
Install the package:
 
Install the package:
  
  make install &&
+
  make install
find doc -type d -exec chmod 755 {} \; &&
 
find doc -type f -exec chmod 644 {} \; &&
 
install -v -m755 -d /usr/share/doc/subversion-1.4.0 &&
 
cp -v -R doc/* /usr/share/doc/subversion-1.4.0
 
  
 
== Multilib ==
 
== Multilib ==
 
 
First, extract two tarballs into one directory.
 
  
 
=== 32Bit ===
 
=== 32Bit ===
Line 55: Line 56:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILD32} -fPIC" CXX="g++ ${BUILD32} -fPIC" USE_ARCH=32 \
+
  CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" USE_ARCH=32 \
  ./configure --prefix=/usr --with-berkeley-db \
+
  ./configure --prefix=/usr --with-serf=/usr &&
    --with-installbuilddir=/usr/lib/apr-0 --with-ssl &&
 
 
  make
 
  make
 
One can safely drop --with-ssl flag to use system neon if exists.
 
  
 
Install the package
 
Install the package
  
 
  make install
 
  make install
 
If you built Subversion with the included apr then run the following command:
 
 
mv -v /usr/bin/apr-config{,-32} &&
 
mv -v /usr/bin/apu-config{,-32}
 
 
If you build Subversion with the included neon the run the following command:
 
 
mv -v /usr/bin/neon-config{,-32}
 
  
 
=== N32 ===
 
=== N32 ===
Line 79: Line 68:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILDN32} -fPIC" CXX="g++ ${BUILDN32} -fPIC" USE_ARCH=n32 \
+
  CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" USE_ARCH=n32 \
  ./configure --prefix=/usr --libdir=/usr/lib32 --with-berkeley-db \
+
  ./configure --prefix=/usr --with-serf=/usr \
     --with-installbuilddir=/usr/lib/apr-0 --with-ssl &&
+
     --libdir=/usr/lib32 &&
 +
sed -i 's@/usr/lib/@/usr/lib32/@g' Makefile &&
 
  make
 
  make
  
Line 87: Line 77:
  
 
  make install
 
  make install
 
If you built Subversion with the included apr then run the following command:
 
 
mv -v /usr/bin/apr-config{,-n32} &&
 
mv -v /usr/bin/apu-config{,-n32}
 
 
If you build Subversion with the included neon the run the following command:
 
 
mv -v /usr/bin/neon-config{,-n32}
 
  
 
=== 64Bit ===
 
=== 64Bit ===
Line 101: Line 82:
 
Compile the package:
 
Compile the package:
  
  CC="gcc ${BUILD64} -fPIC" CXX="g++ ${BUILD64} -fPIC" USE_ARCH=64 \
+
  CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" USE_ARCH=64 \
  ./configure --prefix=/usr --libdir=/usr/lib64 --with-berkeley-db \
+
  ./configure --prefix=/usr --with-serf=/usr \
     --with-installbuilddir=/usr/lib/apr-0 --with-ssl &&
+
     --libdir=/usr/lib64 &&
 +
sed -i 's@/usr/lib/@/usr/lib64/@g' Makefile &&
 
  make
 
  make
  
Line 109: Line 91:
  
 
  make install
 
  make install
 
mv -v /usr/bin/apr-config{,-64} &&
 
mv -v /usr/bin/apu-config{,-64} &&
 
ln -sfv multiarch_wrapper /usr/bin/apr-config &&
 
ln -sfv multiarch_wrapper /usr/bin/apu-config
 
 
If you build Subversion with the included neon the run the following command:
 
 
mv -v /usr/bin/neon-config{,-64} &&
 
ln -sfv multiarch_wrapper /usr/bin/neon-config
 
  
 
=== Install Documents ===
 
=== Install Documents ===
Line 126: Line 98:
 
  find doc -type d -exec chmod 755 {} \; &&
 
  find doc -type d -exec chmod 755 {} \; &&
 
  find doc -type f -exec chmod 644 {} \; &&
 
  find doc -type f -exec chmod 644 {} \; &&
  install -v -m755 -d /usr/share/doc/subversion-1.4.0 &&
+
  install -v -m755 -d /usr/share/doc/subversion-{{Subversion-Version}} &&
  cp -v -R doc/* /usr/share/doc/subversion-1.4.0
+
  cp -v -R doc/* /usr/share/doc/subversion-{{Subversion-Version}}
  
 
==  Contents ==
 
==  Contents ==
  
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.
+
{| style="text-align: left;"
 +
|-valign="top"
 +
! Installed Programs:
 +
| svn, svnadmin, svndumpfilter, svnlook, svnserve, and svnversion
 +
|-valign="top"
 +
! Installed Libraries:
 +
| libsvn*.{so,a} and optionally, mod_dav_svn.so, and mod_authz_svn.so Apache HTTP DSO modules
 +
|-valign="top"
 +
! Installed Directories:
 +
|  /etc/subversion, /usr/include/subversion-1, /usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/SVN (optional), /usr/lib/perl5/site_perl/5.8.8/i686-linux/SVN (optional), /usr/lib/svn-javahl (optional), /usr/lib/svn-python and /usr/share/doc/subversion-{{Subversion-Version}}
 +
|}
  
 
=== Short Description ===
 
=== Short Description ===
  
svn: is a command-line client program used to access Subversion repositories.
+
{| style="text-align: left;"
 
+
! svn
svnadmin: is a tool for creating, tweaking or repairing a Subversion repository.
+
| is a command-line client program used to access Subversion repositories.
 
+
|-valign="top"
svndumpfilter: is a program for filtering Subversion repository dumpfile format streams.
+
! svnadmin
 
+
| is a tool for creating, tweaking or repairing a Subversion repository.
svnlook: is a tool for inspecting a Subversion repository.
+
|-valign="top"
 
+
! svndumpfilter
svnserve: is a custom standalone server program, able to run as a daemon process or invoked by SSH.
+
| is a program for filtering Subversion repository dumpfile format streams.
 
+
|-valign="top"
svnversion: is used to report the version number and state of a working Subversion repository copy.
+
! svnlook
 
+
| is a tool for inspecting a Subversion repository.
neon-config: is a script which provides information about an installed copy of the neon library.
+
|-valign="top"
 
+
! svnserve
libsvn_*.{so,a}: are the support libraries used by the Subversion programs.
+
| is a custom standalone server program, able to run as a daemon process or invoked by SSH.
 
+
|-valign="top"
libneon.{so,a}: is used as a high-level interface to common HTTP and WebDAV methods.
+
! svnversion
 
+
| is used to report the version number and state of a working Subversion repository copy.
mod_authz_svn.so: is a plug-in module for the Apache HTTP server, used to authenticate users to a Subversion repository over the Internet or an intranet.
+
|-valign="top"
 +
! libsvn_*.{so,a}
 +
| are the support libraries used by the Subversion programs.
 +
|-valign="top"
 +
|-valign="top"
 +
! mod_authz_svn.so
 +
| is a plug-in module for the Apache HTTP server, used to authenticate users to a Subversion repository over the Internet or an intranet.
 +
|-valign="top"
 +
! mod_dav_svn.so
 +
| is a plug-in module for the Apache HTTP server, used to make a Subversion repository available to others over the Internet or an intranet.
 +
|}
  
mod_dav_svn.so: is a plug-in module for the Apache HTTP server, used to make a Subversion repository available to others over the Internet or an intranet.
+
[[Category:Source Code Management]]

Latest revision as of 14:27, 17 October 2012

Download Source: http://mirrors.sonic.net/apache/subversion/subversion-1.7.8.tar.bz2


Introduction to Subversion

The goal of the Subversion project is to build a version control system that is a compelling replacement for CVS in the open source community. At the moment, the LFS, BLFS, and CLFS projects all use subversion to maintain their books.

Project Homepage: http://subversion.apache.org/

Dependencies

Caution.png

Note

The Subversion 1.7 releases have a get-deps.sh script in the source directory to download required dependencies as a separate dependency file is not available anymore. Run the script if you do not want to build the required dependencies separately.

Required

Optional

Caution.png

Note

If not using neon you may want to pass --without-neon for configure to work properly.

Non-Multilib

Compile the package:

 ./configure --prefix=/usr --with-serf=/usr &&
make

Install the package:

make install

Multilib

32Bit

Compile the package:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" USE_ARCH=32 \
./configure --prefix=/usr --with-serf=/usr &&
make

Install the package

make install

N32

Compile the package:

CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" USE_ARCH=n32 \
./configure --prefix=/usr --with-serf=/usr \
    --libdir=/usr/lib32 &&
sed -i 's@/usr/lib/@/usr/lib32/@g' Makefile &&
make

Install the package

make install

64Bit

Compile the package:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" USE_ARCH=64 \
./configure --prefix=/usr --with-serf=/usr \
    --libdir=/usr/lib64 &&
sed -i 's@/usr/lib/@/usr/lib64/@g' Makefile &&
make

Install the package

make install

Install Documents

Install the documents

find doc -type d -exec chmod 755 {} \; &&
find doc -type f -exec chmod 644 {} \; &&
install -v -m755 -d /usr/share/doc/subversion-1.7.8 &&
cp -v -R doc/* /usr/share/doc/subversion-1.7.8

Contents

Installed Programs: svn, svnadmin, svndumpfilter, svnlook, svnserve, and svnversion
Installed Libraries: libsvn*.{so,a} and optionally, mod_dav_svn.so, and mod_authz_svn.so Apache HTTP DSO modules
Installed Directories: /etc/subversion, /usr/include/subversion-1, /usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/SVN (optional), /usr/lib/perl5/site_perl/5.8.8/i686-linux/SVN (optional), /usr/lib/svn-javahl (optional), /usr/lib/svn-python and /usr/share/doc/subversion-1.7.8

Short Description

svn is a command-line client program used to access Subversion repositories.
svnadmin is a tool for creating, tweaking or repairing a Subversion repository.
svndumpfilter is a program for filtering Subversion repository dumpfile format streams.
svnlook is a tool for inspecting a Subversion repository.
svnserve is a custom standalone server program, able to run as a daemon process or invoked by SSH.
svnversion is used to report the version number and state of a working Subversion repository copy.
libsvn_*.{so,a} are the support libraries used by the Subversion programs.
mod_authz_svn.so is a plug-in module for the Apache HTTP server, used to authenticate users to a Subversion repository over the Internet or an intranet.
mod_dav_svn.so is a plug-in module for the Apache HTTP server, used to make a Subversion repository available to others over the Internet or an intranet.