Difference between revisions of "Subversion"

From CBLFS
Jump to navigationJump to search
(I added the package description.)
 
(30 intermediate revisions by 7 users not shown)
Line 2: Line 2:
 
|-valign="top"
 
|-valign="top"
 
!Download Source:
 
!Download Source:
| http://subversion.tigris.org/downloads/subversion-deps-{{Subversion-Version}}.tar.bz2
+
| http://mirrors.sonic.net/apache/subversion/subversion-{{Subversion-Version}}.tar.bz2
|-valign="top"
 
!Download Source:
 
| http://subversion.tigris.org/downloads/subversion-{{Subversion-Version}}.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 [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.
+
{{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/}}
  
'''Project Home Page''': http://subversion.tigris.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 (If not using the subversion-deps package) ===
+
=== Required ===
 
* [[APR]]
 
* [[APR]]
 
* [[APR-util]]
 
* [[APR-util]]
* [[neon]]
+
* [[Serf]]
 +
* [[SQLite3]]
  
 
=== Optional ===
 
=== Optional ===
 
* [[Python]]
 
* [[Python]]
* [[Apache]]
+
* [[Apache]]   Required for mod_dav_svn
 
* [[JDK]]
 
* [[JDK]]
 
* [[JUnit]]
 
* [[JUnit]]
Line 32: Line 29:
 
* [[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 \
+
  ./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
find doc -type d -exec chmod 755 {} \; &&
 
find doc -type f -exec chmod 644 {} \; &&
 
install -v -m755 -d /usr/share/doc/subversion-{{Subversion-Version}} &&
 
cp -v -R doc/* /usr/share/doc/subversion-{{Subversion-Version}}
 
  
 
== Multilib ==
 
== Multilib ==
 
 
First, extract two tarballs into one directory.
 
  
 
=== 32Bit ===
 
=== 32Bit ===
Line 67: 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.
 
 
If you built Subversion with the included apr and apr-util then remove previous links to the multiarch_wrapper if they exist because the install will over-write the multiarch_wrapper with the contents of apu-config instead of replacing apu-config:
 
 
rm -fv /usr/bin/ap{r,u}-config
 
  
 
Install the package
 
Install the package
  
 
  make install
 
  make install
 
If you built Subversion with the included apr and apr-util 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 95: 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/lib32/apr-0 --with-ssl &&
+
     --libdir=/usr/lib32 &&
 +
sed -i 's@/usr/lib/@/usr/lib32/@g' Makefile &&
 
  make
 
  make
 
If you built Subversion with the included apr and apr-util then remove previous links to the multiarch_wrapper if they exist because the install will over-write the multiarch_wrapper with the contents of apu-config instead of replacing apu-config:
 
 
rm -fv /usr/bin/ap{r,u}-config
 
  
 
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{,-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 121: 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/lib64/apr-0 --with-ssl &&
+
     --libdir=/usr/lib64 &&
 +
sed -i 's@/usr/lib/@/usr/lib64/@g' Makefile &&
 
  make
 
  make
 
If you built Subversion with the included apr and apr-util then remove previous links to the multiarch_wrapper if they exist because the install will over-write the multiarch_wrapper with the contents of apu-config instead of replacing apu-config:
 
 
rm -fv /usr/bin/ap{r,u}-config
 
  
 
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{,-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 160: Line 106:
 
|-valign="top"
 
|-valign="top"
 
! Installed Programs:
 
! Installed Programs:
| svn, svnadmin, svndumpfilter, svnlook, svnserve, svnversion, and optionally, neon-config and apr-config
+
| svn, svnadmin, svndumpfilter, svnlook, svnserve, and svnversion
 
|-valign="top"
 
|-valign="top"
 
! Installed Libraries:
 
! Installed Libraries:
| libsvn*.{so,a} and optionally, libneon.{so,a} and the mod_dav_svn.so, and mod_authz_svn.so Apache HTTP DSO modules
+
| libsvn*.{so,a} and optionally, mod_dav_svn.so, and mod_authz_svn.so Apache HTTP DSO modules
 
|-valign="top"
 
|-valign="top"
 
! Installed Directories:
 
! Installed Directories:
|  /etc/subversion, /usr/include/neon (optional), /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 (optional), /usr/share/doc/neon-0.25.5 (optional), and /usr/share/doc/subversion-1.3.1
+
|  /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}}
 
|}
 
|}
  
Line 189: Line 135:
 
! svnversion
 
! svnversion
 
| is used to report the version number and state of a working Subversion repository copy.
 
| is used to report the version number and state of a working Subversion repository copy.
|-valign="top"
 
! neon-config
 
| is a script which provides information about an installed copy of the neon library.
 
|-valign="top"
 
! apr-config
 
| ???
 
 
|-valign="top"
 
|-valign="top"
 
! libsvn_*.{so,a}
 
! libsvn_*.{so,a}
 
| are the support libraries used by the Subversion programs.
 
| are the support libraries used by the Subversion programs.
 
|-valign="top"
 
|-valign="top"
! libneon.{so,a}
 
| is used as a high-level interface to common HTTP and WebDAV methods.
 
 
|-valign="top"
 
|-valign="top"
 
! mod_authz_svn.so
 
! mod_authz_svn.so
Line 208: Line 146:
 
| 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.
 
| 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 13: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.