{"id":1620,"date":"2014-09-13T18:13:30","date_gmt":"2014-09-13T22:13:30","guid":{"rendered":"http:\/\/blogs.sungeek.net\/unixwiz\/?p=1620"},"modified":"2014-09-13T18:13:30","modified_gmt":"2014-09-13T22:13:30","slug":"subversion-on-solaris","status":"publish","type":"post","link":"https:\/\/blogs.sungeek.net\/unixwiz\/2014\/09\/13\/subversion-on-solaris\/","title":{"rendered":"Subversion on Solaris"},"content":{"rendered":"<p>So I have been trying to find the &#8220;definitive&#8221; guide on compiling and installing Subverison on Solaris. There are random sites over the interwebs that have a spattering of different tips, so I thought I would write one how how I did it and what all was done. When you finish this, you will have a basic Subversion system up and running to which you can then further lock down&#8230; Requirements: I downloaded the following:<\/p>\n<ol>\n<li>Subversion 1.8.10 (<a title=\"Subversion 1.8.10\" href=\"http:\/\/mirror.metrocast.net\/apache\/subversion\/subversion-1.8.10.tar.gz\" target=\"_blank\">http:\/\/mirror.metrocast.net\/apache\/subversion\/subversion-1.8.10.tar.gz<\/a>)<\/li>\n<li>APR 1.5.1 (<a title=\"APR 1.5.1\" href=\"http:\/\/mirror.metrocast.net\/apache\/apr\/apr-1.5.1.tar.gz\" target=\"_blank\">http:\/\/mirror.metrocast.net\/apache\/apr\/apr-1.5.1.tar.gz<\/a>)<\/li>\n<li>APR Util 1.5.3 (<a title=\"APR Util 1.5.3\" href=\"http:\/\/mirror.metrocast.net\/apache\/apr\/apr-util-1.5.3.tar.gz\" target=\"_blank\">http:\/\/mirror.metrocast.net\/apache\/apr\/apr-util-1.5.3.tar.gz<\/a>)<\/li>\n<li>scons 2.3.0 (<a title=\"scons 2.3.0\" href=\"http:\/\/prdownloads.sourceforge.net\/scons\/scons-local-2.3.0.tar.gz\" target=\"_blank\">http:\/\/prdownloads.sourceforge.net\/scons\/scons-local-2.3.0.tar.gz<\/a>)<\/li>\n<li>Serf 1.3.7 (<a title=\"Serf 1.3.7\" href=\"http:\/\/serf.googlecode.com\/svn\/src_releases\/serf-1.3.7.tar.bz2\" target=\"_blank\">http:\/\/serf.googlecode.com\/svn\/src_releases\/serf-1.3.7.tar.bz2<\/a>)<\/li>\n<li>Apache HTTPD 2.2.27 (<a title=\"Apache HTTPd 2.2.27\" href=\"http:\/\/mirror.metrocast.net\/apache\/httpd\/httpd-2.2.27.tar.bz2\" target=\"_blank\">http:\/\/mirror.metrocast.net\/apache\/httpd\/httpd-2.2.27.tar.bz2<\/a>)<\/li>\n<li>SQLite 3.8.6 (<a title=\"SQLite 3.8.6\" href=\"http:\/\/www.sqlite.org\/2014\/sqlite-autoconf-3080600.tar.gz\" target=\"_blank\">http:\/\/www.sqlite.org\/2014\/sqlite-autoconf-3080600.tar.gz<\/a>)<\/li>\n<li>ViewVC 1.1.22 (<a title=\"ViewVC 1.1.22\" href=\"http:\/\/viewvc.tigris.org\/files\/documents\/3330\/49347\/viewvc-1.1.22.tar.gz\" target=\"_blank\">http:\/\/viewvc.tigris.org\/files\/documents\/3330\/49347\/viewvc-1.1.22.tar.gz<\/a>)<\/li>\n<li>diffutils 3.2 (<a title=\"GNU diff 3.2\" href=\"http:\/\/ftp.gnu.org\/gnu\/diffutils\/diffutils-3.2.tar.gz\" target=\"_blank\">http:\/\/ftp.gnu.org\/gnu\/diffutils\/diffutils-3.2.tar.gz<\/a>) [ Needed for ViewVC to work ]<\/li>\n<\/ol>\n<p>Next up is compiling the software. This is the order I did things:<\/p>\n<ol>\n<li>Apache HTTP Server<\/li>\n<li>APR<\/li>\n<li>APR-Util<\/li>\n<li>SQLite<\/li>\n<li>scons<\/li>\n<li>serf<\/li>\n<li>subversion<\/li>\n<li>viewvc<\/li>\n<li>diffutils<\/li>\n<\/ol>\n<p>I put all the tar balls in a directory called svn in my home directory. So all the instructions below are relative to it.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Apache HTTP Server <\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncd httpd-2.2.27\r\n.\/configure --prefix=\/opt\/svnweb --with-ssl=\/usr\/sfw --with-ldap --enable-mods-shared=&quot;ssl deflate rewrite ldap authnz-ldap dav dav-fs dav-lock&quot;\r\nmake\r\nmake install\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>APR<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncd apr-1.5.1\r\n.\/configure --prefix=\/opt\/sungeek\r\nmake\r\nmake install\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>APR-Util<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncd apr-util-1.5.3\r\n.\/configure --prefix=\/opt\/sungeek --with-apr=\/opt\/sungeek\r\nmake\r\nmake install\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>SQLite<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncd sqlite-autoconf-3080500\r\n.\/configure --prefix=\/opt\/sungeek\r\nmake\r\nmake install\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>scons<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\r\nmkdir \/home\/unixwiz\/scons\r\ncd scons\r\ntar -xvf ..\/scons-local-2.3.0.tar\r\nln -s \/home\/unixwiz\/scons\/scons.py \/home\/unixwiz\/bin\/scons\r\n<\/pre>\n<p>(made sure the link points to a directory in your path)<\/p>\n<p>&nbsp;<\/p>\n<p><strong>serf<\/strong><\/p>\n<p>At line 251 of SConstruct add the following (this is needed to get it to work on Solaris):<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">env[&#039;PLATFORM&#039;] = &#039;posix&#039;<\/pre>\n<p>(it should be directly below the line that says env.Append(LIBS=&#8217;m&#8217;) in the sunos if statement)<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncd serf-1.3.7\r\nvi SConstruct   (edit as above noted)\r\nscons APR=\/opt\/sungeek APU=\/opt\/sungeek OPENSSL=\/usr PREFIX=\/opt\/sungeek CC=\/usr\/sfw\/bin\/gcc CFLAGS=-D__EXTENSIONS__\r\nscons install\r\n<\/pre>\n<p>The CC and CFLAGS needs to be set otherwise it will try to use CC and will give you some errors about APR_PATH_MAX.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Subversion<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncd subversion-1.8.10\r\nexport CFLAGS=-D__EXTENSIONS__\r\n.\/configure --prefix=\/opt\/sungeek --with-apr=\/opt\/sungeek --with-apr-util=\/opt\/sungeek --with-serf=\/opt\/sungeek --with-apxs=\/opt\/svnweb\/bin --with-openssl --with-sqlite=\/opt\/sungeek\r\nmake\r\nmake install\r\ncd \/opt\/sungeek\/libexec\r\ncp mod* \/opt\/svnweb\/modules\r\n<\/pre>\n<p>Next edit the httpd.conf and add the &#8220;LoadModule dav_svn_module modules\/mod_dav_svn.so&#8221; line after the rewrite_module line.<\/p>\n<p>At the bottom of the httpd.conf add the following: (assuming that \/svn is the location of your svn repository.)<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n&amp;lt;Location \/svn\/repos&amp;gt;\r\nDAV svn\r\nSVNPath \/svn&amp;gt;\r\n&amp;lt;\/Location&amp;gt;\r\n<\/pre>\n<p>Then change the User\/Group from daemon to webservd. Also make sure to change the file systems permissions on \/svn to be owned by webservd:webservd.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>swig-py<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncd subversion-1.8.10\r\nmake swig-py\r\nmake install-swig-py\r\necho \/opt\/sungeek\/lib\/svn-python &amp;gt; \/usr\/lib\/python2.6\/site-packages\/subversion.pth\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>ViewVC<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\"> \r\ncd viewvc-1.1.22\r\n.\/viewvc-install <\/pre>\n<p>Installation path: \/opt\/sungeek\/viewvc-1.1.22<br \/>\nDESTDIR path: empth<\/p>\n<p>Edit the \/opt\/sungeek\/viewvc-1.1.22\/viewvc.conf and change the following:<br \/>\nsvn_roots = svnrepos: \/svn<br \/>\ndefault_root = svn_roots<br \/>\nmime_types_files = \/opt\/svnweb\/conf\/mime.types<br \/>\ndiff = \/opt\/sungeek\/bin\/diff<\/p>\n<p>&nbsp;<\/p>\n<p>Next copy the files form \/opt\/sungeek\/viewvc-1.1.22\/bin\/cgi\/*.cgi to \/opt\/svnweb\/cgi-bin<\/p>\n<p>Add the following to the bottom of the httpd.conf<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">&amp;lt;Directory \/opt\/sungeek\/viewvc-1.1.22&amp;gt;\r\nOrder Allow, Deny\r\nAllow from All\r\n&amp;lt;\/Directory&amp;gt;\r\n<\/pre>\n<p><strong>diffutils<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncd diffutils-3.2\r\n.\/configure --prefix=\/opt\/sungeek\r\nmake\r\nmake install\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So I have been trying to find the &#8220;definitive&#8221; guide on compiling and installing Subverison on Solaris. There are random sites over the interwebs that have a spattering of different tips, so I thought I would write one how how I did it and what all was done. When you finish this, you will have &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blogs.sungeek.net\/unixwiz\/2014\/09\/13\/subversion-on-solaris\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Subversion on Solaris&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[418,421,420,419,444,423,417,422],"class_list":["post-1620","post","type-post","status-publish","format-standard","hentry","category-solaris","tag-apr","tag-diffutils","tag-scons","tag-serf","tag-solaris","tag-sqllite","tag-subversion","tag-viewvc"],"_links":{"self":[{"href":"https:\/\/blogs.sungeek.net\/unixwiz\/wp-json\/wp\/v2\/posts\/1620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sungeek.net\/unixwiz\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sungeek.net\/unixwiz\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sungeek.net\/unixwiz\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sungeek.net\/unixwiz\/wp-json\/wp\/v2\/comments?post=1620"}],"version-history":[{"count":8,"href":"https:\/\/blogs.sungeek.net\/unixwiz\/wp-json\/wp\/v2\/posts\/1620\/revisions"}],"predecessor-version":[{"id":1628,"href":"https:\/\/blogs.sungeek.net\/unixwiz\/wp-json\/wp\/v2\/posts\/1620\/revisions\/1628"}],"wp:attachment":[{"href":"https:\/\/blogs.sungeek.net\/unixwiz\/wp-json\/wp\/v2\/media?parent=1620"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sungeek.net\/unixwiz\/wp-json\/wp\/v2\/categories?post=1620"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sungeek.net\/unixwiz\/wp-json\/wp\/v2\/tags?post=1620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}