OpenPkg, Problem Domain: mod_dav_svn.so and mod_authz_svn.so Operating System: Solaris 9 Hardware: Sparc OpenPKG tested: 2.3 Build Parms: subversion::with_cvs2svn = no subversion::with_svn2cvs = no subversion::with_perl = no subversion::with_python = no subversion::with_server = yes subversion::with_included_apr = no subversion::with_included_apr_util = no Resolution: I have included this spec file for others that may want to attempt to get mod_dav_svn working. This works for me. I have an mod_dav_svn.so file mod_authz_svn.so file created for apache2. This took some time. But it works great with subversion 1.2.0. Note that I commented out the APR installation for whatever reason this kept breaking. Use at your own risk. But I have been using mod_dav_svn successfully now for a couple of weeks.
Misc Notes: I encapsulated all of the subversion libs under their own directory structure so that it would not modify any other libraries. Final Note: I know OpenPKG does not support shared libs. But in order to have mod_dav_svn you need to have shared libs. And I wanted mod_dav_svn. Enjoy, :-) -- Best Regards, Frank Torres - UNIX Administrator Portland State University E-mail: [EMAIL PROTECTED] >>>>>>>>>>>>>> Spec File HERE <<<<<<<<<<<<<<<<<<< ## ## subversion.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2005 OpenPKG Foundation e.V. <http://openpkg.net/> ## Copyright (c) 2000-2005 Ralf S. Engelschall <http://engelschall.com/> ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package version %define V_dist 1.2.0 %define V_opkg 1.2.0 %define V_tools 20050525 # package information Name: subversion Summary: Source Revision Control System URL: http://subversion.tigris.org/ Vendor: Tigris Packager: OpenPKG Distribution: OpenPKG Class: BASE Group: SCM License: Apache/BSD Version: %{V_opkg} Release: 20050526 # package options %option with_cvs2svn no %option with_svn2cvs no %option with_perl no %option with_python no %option with_server no %option with_included_apr no %option with_included_apr_util no # list of sources Source0: http://subversion.tigris.org/tarballs/subversion-%{V_dist}.tar.gz Source1: ftp://ftp.openpkg.org/sources/CPY/subversion/subversion-tools-%{V_tools}.tar.gz Source2: subversion.config Source3: subversion.servers Source4: rc.subversion Patch0: subversion.patch # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20040130, make, libtool PreReq: OpenPKG, openpkg >= 20040130 BuildPreReq: diffutils, libxml, db, openssl, zlib, neon PreReq: diffutils, libxml, db, openssl, zlib, neon %if "%{with_cvs2svn}" == "yes" PreReq: rcs, python %endif %if "%{with_svn2cvs}" == "yes" BuildPreReq: perl PreReq: perl, perl-xml, cvs, rcs %endif %if "%{with_perl}" == "yes" || "%{with_python}" == "yes" BuildPreReq: swig %endif %if "%{with_perl}" == "yes" BuildPreReq: perl PreReq: perl %endif %if "%{with_python}" == "yes" BuildPreReq: python, swig PreReq: python %endif AutoReq: no AutoReqProv: no %description Subversion is a modern Version Control System (VCS) providing most current CVS features, versioned directories/renames/meta-data, atomic commits, cheap branching and tagging, native client/server architecture, and the choice of database or plain-file repository implementations. %track prog subversion = { version = %{V_dist} url = http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260 regex = subversion-(\d+\.\d+\.\d+)\.tar\.gz } prog subversion:tools = { version = %{V_tools} url = ftp://ftp.openpkg.org/sources/CPY/subversion/ regex = subversion-tools-(__VER__)\.tar\.gz } %prep %setup -q %setup -q -T -D -a 1 %patch -p0 # substitute path from applied patch %{l_shtool} subst %{l_value -s -a} \ subversion/bindings/swig/perl/native/Makefile.PL.in # patch: correctly pass --disable-shared to sub-directories %{l_shtool} subst \ %if "%{with_server}" == "no" -e 's;\($ac_abs_srcdir/configure\) $ac_configure_args;\1 --disable-shared;' \ %else -e 's;\($ac_abs_srcdir/configure\) $ac_configure_args;\1 --enable-shared --libdir=%{l_prefix}/lib/subversion ;' \ %endif configure # patch: adjust path to configuration directory %{l_shtool} subst \ -e 's;/etc/subversion;%{l_prefix}/etc/subversion;g' \ subversion/libsvn_subr/config_impl.h \ subversion/libsvn_subr/config_file.c # patch: fix installation of APR %{l_shtool} subst \ -e '/^<Layout apr>/,/<\/Layout>/{ s;\(^[ ]*prefix:\).*$;\1 %{l_prefix}; ;s;\(^[ ]*sysconfdir:\).*$;\1 %{l_prefix}/etc/subversion; }' \ apr/config.layout \ apr-util/config.layout %build #libs="%{l_fsl_libs}" #case "%{l_platform -t}" in # sun4*-sunos5.9* ) LIBS="$libs -lrt -liconv -lexpat" \ ;; #esac # configure package %if "%{with_perl}" == "yes" bindings="${bindings}${bindings+,}perl" %endif %if "%{with_python}" == "yes" bindings="${bindings}${bindings+,}python" %endif CC="%{l_cc}" \ CFLAGS="%{l_cflags -O}" \ CPPFLAGS="%{l_cppflags libxml2 .}" \ LDFLAGS="%{l_ldflags}" \ %if "%{with_server}" == "yes" libs="%{l_fsl_libs}" %if "%{l_platform -t}" == "sun4u-sunos5.9" LIBS="$libs -lrt -liconv -lexpat" ./configure \ %endif %else ./configure \ %endif --prefix=%{l_prefix} \ --with-neon=%{l_prefix} \ --with-zlib \ --with-berkeley-db=%{l_prefix} \ %if "%{with_perl}" == "yes" || "%{with_python}" == "yes" --with-swig=%{l_prefix}/bin/swig \ --enable-swig-bindings="$bindings" \ %endif --disable-nls \ %if "%{with_server}" == "no" --enable-static \ --disable-shared \ --enable-static \ --without-apxs %else --disable-static \ --enable-shared \ --with-apxs \ --with-ssl \ --disable-nls \ --disable-dso \ %if "%{with_included_apr}" == "yes" --with-apr=%{l_prefix}/bin/apr-config \ %endif %if "%{with_included_apr_util}" == "yes" --with-apr-util=%{l_prefix}/bin/apu-config \ %endif --disable-mod-activation \ --libdir=%{l_prefix}/lib/subversion %endif # build package %{l_make} %{l_mflags} # build Perl bindings %if "%{with_perl}" == "yes" ( cd apr; ln -s .libs/libapr-0.a . ) || exit $? ( cd apr-util; ln -s .libs/libaprutil-0.a . ) || exit $? %{l_shtool} mkdir -f -p -m 755 \ subversion/bindings/swig/perl/native/blib/arch/auto/SVN/{_Client,_Delta,_Fs,_Ra,_Repos,_Wc} %{l_make} %{l_mflags} swig-pl %endif # build Python bindings %if "%{with_python}" == "yes" mv libtool libtool.orig ln -s %{l_prefix}/bin/libtool . %{l_make} %{l_mflags} swig-py %endif %install # install package rm -rf $RPM_BUILD_ROOT %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT # install Perl bindings %if "%{with_perl}" == "yes" %{l_make} %{l_mflags} install-swig-pl DESTDIR=$RPM_BUILD_ROOT %{l_prefix}/bin/perl-openpkg -F- fixate >/dev/null rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/libsvn_swig_perl* %endif # install Python bindings %if "%{with_python}" == "yes" %{l_make} %{l_mflags} install-swig-py DESTDIR=$RPM_BUILD_ROOT rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/libsvn_swig_py* rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/svn-python/libsvn/_*.a mv $RPM_BUILD_ROOT%{l_prefix}/lib/svn-python \ $RPM_BUILD_ROOT%{l_prefix}/lib/python %endif # adjust APR installation for SVN local namespace # ( cd $RPM_BUILD_ROOT%{l_prefix}/include/apr-0 # for i in *; do # mv $i ../subversion-1/svn_$i # done # ) || exit $? # %{l_shtool} subst \ # -e 's;^\(#include <\)\(apr.*\)$;\1svn_\2;' \ # $RPM_BUILD_ROOT/%{l_prefix}/include/subversion-1/svn*.h # ( cd $RPM_BUILD_ROOT%{l_prefix}/lib # for i in libapr*; do # mv $i `echo "$i" | sed -e 's;^libapr\(.*\)$;libsvn_apr\1;'` # done # ) || exit $? # strip down installation rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/apr-config rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/apr.exp rm -rf $RPM_BUILD_ROOT%{l_prefix}/include/apr-0 rm -f $RPM_BUILD_ROOT %{l_prefix}/include/subversion-1/svn-revision.txt rm -f $RPM_BUILD_ROOT%{l_prefix}/include/subversion-1/mod_dav_svn.h rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc rm -rf $RPM_BUILD_ROOT%{l_prefix}/build rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/neon* strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true # install svn-config(1) tool %{l_shtool} install -c -m 755 \ svn-config $RPM_BUILD_ROOT%{l_prefix}/bin/ # install svn_load_dirs(1) tool %{l_shtool} install -c -m 755 \ -e 's;#!/usr/bin/perl;#!%{l_prefix}/bin/perl;' \ contrib/client-side/svn_load_dirs.pl \ $RPM_BUILD_ROOT%{l_prefix}/bin/svn_load_dirs # install Subversion default global configuration files %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/etc/subversion %{l_shtool} install -c -m 644 \ %{SOURCE subversion.config} \ $RPM_BUILD_ROOT%{l_prefix}/etc/subversion/config %{l_shtool} install -c -m 644 \ %{SOURCE subversion.servers} \ $RPM_BUILD_ROOT%{l_prefix}/etc/subversion/servers # install Subversion Bash command completion %{l_shtool} install -c -m 644 \ tools/client-side/bash_completion \ $RPM_BUILD_ROOT%{l_prefix}/etc/subversion/bashrc # install Subversion book %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/share/subversion %{l_shtool} install -c -m 644 \ doc/book/svn-book.html \ doc/book/svn-book.pdf \ $RPM_BUILD_ROOT%{l_prefix}/share/subversion/ %if "%{with_cvs2svn}" == "yes" # install cvs2svn(1) tool ( cd subversion-tools %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT %{l_prefix}/libexec/subversion/cvs2svn/cvs2svn_rcsparse ( echo "#!/bin/sh" echo "PYTHONPATH=\"%{l_prefix}/libexec/subversion/cvs2svn\"" echo "export PYTHONPATH" echo "%{l_prefix}/bin/python %{l_prefix}/libexec/subversion/cvs2svn/cvs2svn \${1+\"[EMAIL PROTECTED]"}" ) >cvs2svn.sh %{l_shtool} install -c -m 755 \ cvs2svn.sh $RPM_BUILD_ROOT%{l_prefix}/bin/cvs2svn %{l_shtool} install -c -m 644 \ cvs2svn.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/ %{l_bzip2} -d -c cvs2svn.tar.bz2 | %{l_tar} xf - %{l_shtool} install -c -m 644 \ cvs2svn/cvs2svn \ $RPM_BUILD_ROOT%{l_prefix}/libexec/subversion/cvs2svn/ %{l_shtool} install -c -m 644 \ cvs2svn/cvs2svn_rcsparse/*.py \ $RPM_BUILD_ROOT %{l_prefix}/libexec/subversion/cvs2svn/cvs2svn_rcsparse/ ) || exit $? %endif %if "%{with_svn2cvs}" == "yes" # install svn2cvs(1) tool ( cd subversion-tools %{l_shtool} install -c -m 755 \ -e 's;#!/usr/bin/perl;#!%{l_prefix}/bin/perl;' \ svn2cvs.pl $RPM_BUILD_ROOT%{l_prefix}/bin/svn2cvs %{l_prefix}/bin/pod2man svn2cvs.pl >svn2cvs.1 %{l_shtool} install -c -m 644 \ svn2cvs.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/svn2cvs.1 ) || exit $? %endif # install run-command script %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE rc.subversion} \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # create directory for default repository and svnserve pidfile %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/var/subversion # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ '%config %{l_prefix}/etc/subversion/*' \ '%doc %{l_prefix}/share/subversion/svn-book.*' %files -f files %clean rm -rf $RPM_BUILD_ROOT %post # create default repository if [ ! -d $RPM_INSTALL_PREFIX/var/subversion/default ]; then $RPM_INSTALL_PREFIX/bin/svnadmin create \ $RPM_INSTALL_PREFIX/var/subversion/default fi # after upgrade, restart service [ $1 -eq 2 ] || exit 0 eval `%{l_rc} subversion status 2>/dev/null` [ ".$subversion_active" = .yes ] && %{l_rc} subversion restart exit 0 %preun # before erase, stop service [ $1 -eq 0 ] || exit 0 %{l_rc} subversion stop 2>/dev/null exit 0 >>>>>>>>>>>>>>>>>>>>>>>>>>> END Spec File <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
signature.asc
Description: This is a digitally signed message part