NSLU2-Linux
view · edit · print · history

Subversion (svn) is a version control system, meant to be a compelling replacement for CVS.

Subversion (currently Vers.1.4.5-1) is available via ipkg.

You may set up as a inetd service by adding following line to /etc/inetd.conf

svn stream tcp nowait svnowner /opt/bin/svnserve -i -r /home/svnowner/repos

And adding this two lines in /etc/services if they are not already there

svn 3690/tcp # Subversion
svn 3690/udp # Subversion

Then use "/etc/rc.d/rc.xinetd restart" command

NOTE: I had problems using space in the repository path with inetd (even if I use "" around the path), so I had to set up my repository in a path without space or to not use the -r option.

Or as a xinetd service by creating svn file in /etc/xined.d/ with the following content:

service svn {

        port                    = 3690
        socket_type             = stream
        protocol                = tcp
        wait                    = no
        user                    = svn
        server                  = /opt/bin/svnserve
        server_args             = -i -r /svn/repositories

}

Then use "/etc/initd.d/xinetd restart" command

Subversion (Vers.1.2.0) is available via ipkg.

progress:

  • creating of repository with svnadmin create svnrepository works
  • the following tests all use the local access via file://
  • svn import complains that no EDITOR environment is set -> export EDITOR=vi
  • import works
  • checkout edit commit diff update cycle works
  • move and add works
  • running svnserve in demon mode works
  • accessing from a windows box via TortoiseSVN and ssh works

Josh Parsons created a package of Version 1.2 which you can find in the feeds. It also has WebDAV (mod_dav_svn and mod_dav_authz) support.

If svn complains about openldap-libs missing, install unslung-feeds (seems to add an ipkg repository to the ipkg configuration with natively compiled packages). After that install openldap-libs. After that I also ran into the following problem (and solved it as described). --jsilence

I had some issues installing it. After updating svn to the new package it complained about problems with the expat library. What I did is updated Apache to the most recent version. Then I removed the expat package with "ipkg remove expat --force-depends" and reinstalled it. After that svn worked okay.

The package installs the WebDAV Apache modules in /opt/libexec. Configuration files are located in /opt/etc/apache2/conf.d/mod_dav_svn.conf.

Interesting Trick

If you want to know everytime someone accesses your repository, you can create a script called, say, launchsvn.sh as I did whose contents are as follows...

launchsvn.sh

Set_Led beep1
Set_Led beep1
/opt/bin/svnserve -i -r /path_to_root_of_repositories

Then, in your inetd.conf (usually in /etc)...

svn stream tcp nowait root /path_to_script/launchsvn.sh

Now your NSLU2 will beep twice everytime the svn service is invoked. =)


Some people reported svnserve has problem starting

 svnserve: error while loading shared libraries: libuuid.so.1: cannot open shared object file: No such file or directory

As a work around

 ipkg install e2fsprogs

Turns out the problem is a missing dependency in apr-util. And it has been fixed starting apr-util 1.2.10-4.


Problem "svn: Final line in revision file longer than 64 characters" occurs when checkout

SVN has dependency with APR, which needs grep that supports long line search. Default grep of NSLU2 doesn't support, so you have to install standard grep package.

 ipkg install grep

Problem with SVN 1.5.x

On my slug (Unslung 6.10 beta) when upgrading from SVN 1.4.x to 1.5.0-4 I got two library dependency problems. I solved them by installing the "neon" and "apache" package (since Subversion seems to need their libs now), although I didn't want to use these packages themself.

If anyone has a more "clean" solution please write it down here, I'm probably not the only one having this problem. -GreenBear?, 26.08.2008


I just followed the following instructions http://www.spikesoft.ch/?p=314(approve sites) and it all worked within 10 minutes. It's installing the latest 1.5.x version. I'm running the latest unslung version.

view · edit · print · history · Last edited by Rolf.
Based on work by GreenBear, won, BrianZhou, fcarolo, Reedy Boy, thinman_fr, Alex Revetchi, Kip, Mike, jsilence, jp30, and Gregor Zurowski.
Originally by jsilence.
Page last modified on October 21, 2008, at 09:57 AM