Just finished a SVN standalone server setup post yesterday. I got an assignment from boss. There exists a problem for a long time. Our build server is old. CentOS 4.x or something like that since 2009. The svn client version is 1.4.2
The latest tortoiseSVN on Windows always complain that the workspace is too old to use. So, it will upgrade it while we operate source in Windows. But this will impact the build server old svn client. It can’t identify the workspace version. So, you need to remove the entire workspace and re-checkout.
As a comproise, we use Windows SVN to examine code difference and Linux svn to check-in code.
Eventually, team lead decides to fix this and give the task to me. There are two solutions.
First, downgrade tortoiseSVN. Unfortunately, old tortoiseSVN doesn’t work for Win7. So, we need to proceed the 2nd, upgrade svn on Linux.
After some study, we realize that there is nothing to do with svn server. What we need to to upgrade svn client.
Since the distribution is too old to have newer svn update, we need to build it from source. “configure;make” itself in subversion package is nothing special. Most time is spent on figuring out the dependency.
I come out a Makefile to download source, extract source, and make them into binary files. Share it here~ Hope this helps.
You should remember to convert the spaces to tabs. This is a makefile.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
export PRE=/tmp/svn/build all: download extract apr apr-util serf sqlite-amalgamation subversion mkdir -p $(PRE) cd /tmp/svn ubuntu-package: apt-get install scons zlib1g-dev download: wget http://apache.spinellicreations.com/apr/apr-1.5.1.tar.gz wget http://apache.spinellicreations.com/apr/apr-util-1.5.3.tar.gz wget http://archive.apache.org/dist/subversion/subversion-1.8.8.tar.gz wget http://serf.googlecode.com/svn/src_releases/serf-1.3.5.zip wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip extract: tar zvfx apr-1.5.1.tar.gz tar zvfx apr-util-1.5.3.tar.gz tar zvfx subversion-1.8.8.tar.gz unzip serf-1.3.5.zip unzip sqlite-amalgamation-3071501.zip apr: cd apr-1.5.1 &&\ ./configure --prefix=$(PRE) &&\ make &&\ make install apr-util: cd apr-util-1.5.3 &&\ ./configure --prefix=$(PRE) --with-apr=../apr-1.5.1 &&\ make &&\ make install serf: cd serf-1.3.5/ &&\ scons PREFIX=$(PRE) APR=$(PRE)/bin/apr-1-config APU=$(PRE)/bin/apu-1-config &&\ scons install sqlite-amalgamation: mv sqlite-amalgamation-3071501 sqlite-amalgamation mv sqlite-amalgamation subversion-1.8.8 subversion: cd subversion-1.8.8 &&\ ./configure --with-serf=$(PRE) --prefix=$(PRE)/svn --with-apr=$(PRE) --with-apr-util=$(PRE) &&\ make &&\ make install clean: rm -rf apr* subversion* serf* build sqlite* |