Difference between revisions of "Subversion"

From CBLFS
Jump to navigationJump to search
Line 3: Line 3:
 
!Download Source:
 
!Download Source:
 
| http://subversion.tigris.org/downloads/subversion-deps-{{Subversion-Version}}.tar.bz2
 
| http://subversion.tigris.org/downloads/subversion-deps-{{Subversion-Version}}.tar.bz2
|-valign="top"
+
|-
!Download Source:
+
!Required Patch:
| http://subversion.tigris.org/downloads/subversion-{{Subversion-Version}}.tar.bz2
+
| http://svn.cross-lfs.org/svn/repos/patches/subversion/subversion-{{Subversion-Version}}-build_fix-1.patch
 +
|-
 
|}
 
|}
  
Line 15: Line 16:
 
== Dependencies ==
 
== Dependencies ==
  
=== Required (If not using the subversion-deps package) ===
+
=== Required ===
 
* [[APR]]
 
* [[APR]]
 
* [[APR-util]]
 
* [[APR-util]]
* [[neon]]
+
* [[Serf]]
  
 
=== Optional ===
 
=== Optional ===
Line 29: Line 30:
 
* [[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]]
  
 
== 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-ssl &&
+
  make local-all
  make
 
 
 
One can safely drop --with-ssl flag to use system neon if exists.
 
  
 
Install the package:
 
Install the package:
  
  make install &&
+
  make local-install &&
 
  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 {} \; &&
Line 56: Line 52:
  
 
== Multilib ==
 
== Multilib ==
 
 
First, extract two tarballs into one directory.
 
  
 
=== 32Bit ===
 
=== 32Bit ===
Line 64: Line 57:
 
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-ssl &&
+
  make local-all
  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 local-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 92: Line 69:
 
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-ssl &&
+
  sed -i 's@/usr/lib/@/usr/lib32/@g' Makefile &&
  make
+
make local-all
 
 
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 local-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 118: 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-ssl &&
+
  sed -i 's@/usr/lib/@/usr/lib64/@g' Makefile &&
  make
+
make local-all
 
 
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 local-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 ===

Revision as of 16:40, 22 January 2009

Download Source: http://subversion.tigris.org/downloads/subversion-deps-1.7.8.tar.bz2
Required Patch: http://svn.cross-lfs.org/svn/repos/patches/subversion/subversion-1.7.8-build_fix-1.patch


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.tigris.org/

Dependencies

Required

Optional

Non-Multilib

Compile the package:

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

Install the package:

make local-install &&
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

Multilib

32Bit

Compile the package:

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

Install the package

make local-install

N32

Compile the package:

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

Install the package

make local-install

64Bit

Compile the package:

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

Install the package

make local-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, svnversion, and optionally, neon-config and apr-config
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
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

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.
neon-config is a script which provides information about an installed copy of the neon library.
apr-config ???
libsvn_*.{so,a} are the support libraries used by the Subversion programs.
libneon.{so,a} is used as a high-level interface to common HTTP and WebDAV methods.
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.