[PLUGIN] SVN Plugin

Ok. Still working on the problem with expat in configure command when installing apache subversion 1.7.x

I did this to lookup the expat locations:
Code:
rpm -ql expat
rpm -ql expat-devel

Wich gave this result:
Code:
[root@server ~]# rpm -ql expat
/lib64/libexpat.so.1
/lib64/libexpat.so.1.5.2
/usr/bin/xmlwf
/usr/share/doc/expat-2.0.1
/usr/share/doc/expat-2.0.1/COPYING
/usr/share/doc/expat-2.0.1/README
/usr/share/man/man1/xmlwf.1.gz
[root@server ~]# rpm -ql expat-devel
/usr/include/expat.h
/usr/include/expat_external.h
/usr/lib64/libexpat.a
/usr/lib64/libexpat.so
/usr/share/doc/expat-devel-2.0.1
/usr/share/doc/expat-devel-2.0.1/Changes
/usr/share/doc/expat-devel-2.0.1/doc
/usr/share/doc/expat-devel-2.0.1/doc/expat.png
/usr/share/doc/expat-devel-2.0.1/doc/reference.html
/usr/share/doc/expat-devel-2.0.1/doc/style.css
/usr/share/doc/expat-devel-2.0.1/doc/valid-xhtml10.png
/usr/share/doc/expat-devel-2.0.1/doc/xmlwf.1
/usr/share/doc/expat-devel-2.0.1/doc/xmlwf.sgml
/usr/share/doc/expat-devel-2.0.1/examples
/usr/share/doc/expat-devel-2.0.1/examples/elements.c
/usr/share/doc/expat-devel-2.0.1/examples/outline.c
[root@server ~]#

So I tried to use that to change the expat option used by the FreeBSD user here http://subversion.tigris.org/issues/show_bug.cgi?id=3997

So I changed this:
Code:
--with-expat=/usr/local/include:/usr/local/lib:expat

To be like this:
Code:
--with-expat=/usr/include:/usr/lib64:expat

Then I tried installing Apache Subversion 1.7.7 again using this configure command:
Code:
./configure --prefix=/usr --with-ssl --with-expat=/usr/include:/usr/lib64:expat --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config

And then doing the command "make" there is no errors! However there now is a warning after doing "make", wich say this:
Code:
/usr/bin/ld: warning: libexpat.so.0, needed by /etc/httpd/lib/libaprutil-1.so, may conflict with libexpat.so.1

I feel I am soo close now ... But need help.
 
I almost give up upgrading from Apache Subversion 1.6.19 to 1.7, after upgrade I now get this error when restarting httpd:

Code:
Starting httpd: httpd: Syntax error on line 18 of /etc/httpd/conf/httpd.conf: Cannot load /usr/lib/apache/mod_dav_svn.so into server: /usr/lib/apache/mod_dav_svn.so: undefined symbol: svn_error_purge_tracing

I downgraded to Apache Subversion 1.6.19 and everything is working again. :(

Here is the steps I did do upgrade to 1.7.7 wich give the above error:

Code:
cd /root
wget http://apache.uib.no/subversion/subversion-1.7.7.tar.gz
tar xzf subversion-1.7.7.tar.gz
cd subversion-1.7.7
mkdir sqlite-amalgamation
cd sqlite-amalgamation
wget http://www.sqlite.org/sqlite-autoconf-3071401.tar.gz
tar xzf sqlite-autoconf-3071401.tar.gz
mv sqlite-autoconf-3071401/sqlite3.c .
rm -rf sqlite-*
cd ..
./configure --prefix=/usr --with-ssl --with-expat=/usr/include:/usr/lib64:expat --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config
make
make install
ldconfig
service httpd restart

Then I get this error:
Code:
Starting httpd: httpd: Syntax error on line 18 of /etc/httpd/conf/httpd.conf: Cannot load /usr/lib/apache/mod_dav_svn.so into server: /usr/lib/apache/mod_dav_svn.so: undefined symbol: svn_error_purge_tracing
 
I have now solved my problems, and have upgraded one of my servers from Apache Subversion 1.6.19 to Apache Subversion 1.7.7

The problem was solved by removing some old libsvn files by doing this: rm /usr/local/lib/libsvn*

Other problem was solved by adding this in the ./configure command: --with-expat=/usr/include:/usr/lib64:expat

And also I used the command "make clean"

If you want to install Apache Subversion 1.7.7 on a CentOS 6.x server, then first do this:

Code:
yum remove subversion
yum install expat-devel
yum install neon-devel

If you want to upgrade from Apache Subversion 1.6.x to Apache Subversion 1.7.7, then this is what worked for me on CentOS 6.x 64bit:

Find the path to download the newest version from here http://subversion.apache.org/download/ Also find the path to download the newest sqlite-autoconf from here http://www.sqlite.org/download.html - replace those path and versions numbers in my commands below:

Code:
cd /root
wget http://apache.uib.no/subversion/subversion-1.7.7.tar.gz
tar xzf subversion-1.7.7.tar.gz
cd subversion-1.7.7
mkdir sqlite-amalgamation
cd sqlite-amalgamation
wget http://www.sqlite.org/sqlite-autoconf-3071401.tar.gz
tar xzf sqlite-autoconf-3071401.tar.gz
mv sqlite-autoconf-3071401/sqlite3.c .
rm -rf sqlite-*
cd ..
rm /usr/local/lib/libsvn*
./configure --prefix=/usr --with-ssl --with-expat=/usr/include:/usr/lib64:expat --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config
make clean
make
make install
ldconfig
service httpd restart
cd /root
rm -rf subversion-*

Here are some test you can do after you have upgraded/installed to see that you get correct versions numbers:

Code:
httpd -t -D DUMP_MODULES | grep svn
svnadmin --version
svn --version
which svn

I also recompiled apache afterwords, but it seems it was not needed.

Wow! This was a lot of work putting together, and no help searching Google - but I finally did it! Enjoy if this helps you!
 
You are welcome. Please note that I still get this warning after doing "make":

Code:
/usr/bin/ld: warning: libexpat.so.0, needed by /etc/httpd/lib/libaprutil-1.so, may conflict with libexpat.so.1

Maybe it is related to the this in my ./configure command:

Code:
--with-expat=/usr/include:/usr/lib64:expat

Because I was not able to find any information about how to write the correct locations in above code. So I created that myself by experimenting with the locations.

However, I have tested Apache Subversion 1.7.7 after upgrade, and I do not find any problems at all when using it.
 
This problem is caused by building apache incorrectly. To solve it you need to add "--with-expat=builtin" to the configure for building apache. I'm using custombuild 2.0 and it is located here for me:

/usr/local/directadmin/custombuild/configure/ap2/configure.apache

In that file you need to add "--with-expat=builtin", e.g

.....
"--with-ssl=/usr" \
"--enable-headers" \
"--with-expat=builtin"
 
kannibal, thank you for your great work on the plugin! :) I've found huge security holes in plugin, so I rewrote the critical parts of it (leaving most of the coding/functionality untouched).

Download URL: http://www.custombuild.eu/svn_plugin/svn.tar.gz

I'm not sure if this plugin is still popular, but if it is, I could write a script for automatic SVN installation on the system.
 
Thanks smtalk for your interest and update :)

I do not actually use the plugin but i should had wrote somewhere a script for the installation, want me to post it and you can fix/improove in case?

Regards
 
I don't have Apache Subversion on any of my servers anymore. I don't think many do, I think it was only me and maybe one or two others. At this time, I don't think it is used by anyone anymore, but of course I could be wrong. :)
 
I was offering Apache Subversion on my shared hosting servers, I have removed this, and don't offer any versioning system.

As for myself personally I use Apache Subversion installed only locally on my desktop, it is not needed to have it on a server to use it. I use it locally using Tortoise SVN. :)
 
Personally I use Github for windows, xampp installed on my desktop and a repo at bitbucket, and I upload files to a DA server after a few commits (from me and the team and/or when relevant).
 
Back
Top