Hi,

sometime ago I've written a shell-script which sets up everything 4 you:
* perl
* apache1 + mp1
* libxml
* libxslt
* CPAN-Modules

It's written to setup XIMS but you can omitt this step easily, the CPAN-Shell thing is not working completely. My original version simply installed the modules by downloading in front (see commented lines).

GruÃ

Tom


[EMAIL PROTECTED] wrote:
Ack.
So you think it's best to compile absolutely everything by hand? Apache, perl, and all the dependencies mentioned here?:
http://www.axkit.org/wiki/view/AxKit/AxKitRedHat9#
I was kinda hoping I could use gentoo to avoid some of that. :/
ah, well, I guess I should be resigned to that.
I'm not sure I followed what you were saying about gentoo requiring the libxml stuff. Surely if gentoo requires it, I can't remove it and replace it with my own version?
Many thanks for your response - even if it did confirm what I was hoping to avoid!
Sam


-----Original Message----- From: Garrett Goebel [mailto:[EMAIL PROTECTED] Sent: Wed 6/16/2004 7:30 PM To: Edwards,PR,Peter,XJG4 R; [EMAIL PROTECTED] Cc: Subject: RE: AxKit 1.6.1 on gentoo linux - simplest way to install?



        peter dot 3 dot edwards at bt dot com wrote:
        >
        > Does anyone else out there use AxKit under gentoo?
        
        I have.
        
        
        > What's the simplest way to install it?  Having previously
        > set it up by hand under SuSE 9.0, I'm aware how sensitive
        > it is to the versions of its underlying dependencies.
        
        By hand.
        
        As you've said, AxKit has version sensitive dependency issues. Using CPAN
        upgrade recommendations can screw things up. There's an even greater
        disconnect with gentoo perl packages. Perhaps some day the gentoo folk will
        figure out how to harness cpan to keep Perl modules up-to-date. But even
        that won't fix the version dependency issues AxKit has today.
        
        Your best bet is to try to avoid gentoo perl packages as much as possible
        for AxKit's dependencies and opt instead to install them by hand. Where this
        is possible, it'll avoid the invitable emerge -uD world upgrading Perl
        modules willy nilly and stomping on AxKit's version dependency issues.
        
        However gentoo requires libxml. So everytime you emerge/upgrade libxml, be
        prepared to reinstall XML::LibXML to the AxKit friendly verison by hand.
        
        
        > I tested the collection of versions stated here:
        >
        > http://www.gentoo.org/doc/en/doc-tipsntricks.xml#doc_chap3
        >
        > emerge -vp =libxml2-2.5.8 =libxslt-1.0.33 =AxKit-1.6.1
        > =XML-XPath-1.13 =XML-LibXML-1.54-r1 =XML-LibXSLT-1.53
        > =XML-Parser-2.31-r1 =apache-1.3.29-r1
        >
        > but it failed due to the ebuild of the particular libxml2
        > version (2.5.8) not being marked as available in gentoo's
        > portage at the moment.
        
        I don't think you'll have much luck finding old ebuilds.
        
        Try the current ebuild and see if it works.
        
        I think AxKit's version sensitivity comes more from the Perl side when
        modules have been modified breaking backward compatiblity. You should be
        able to pull the recommended perl modules from cpan. Of course, now that
        I've said that someone will tell you that I'm wrong.
        
        
        > So, I'm a little concerned that simply typing "emerge AxKit"
        > might install everything but then it won't actually work
        > collectively as it's supposed to. If that happens, I won't
        > have a clue how to debug it.
        
        Sounds like a reasonable fear.
        
        Don't emerge AxKit. Or sign up for the gentoo developers mailing list and
        start a correspondence with the gentoo AxKit package maintainer now to see
        how friendly and responsive he/she is. I only use emerge for the stuff I
        don't actively mess with. You're going to need to mess with AxKit.
        
        Do it yourself. You'll understand it better and have a better chance of
        fixing it when it breaks.
        
        
        > P.S. More of a gentoo question than an AxKit one but, once
        > installed, how do I stop it from messing with the particular
        > config when I later run "emerge --update --upgradeonly world"
        > to keep my system up to date?
        
        I know you can do this, but I can't recall whether you specify config
        directories or files. -Sounds like an issue you'll need to look for an
        answer to on the gentoo forums.
        
        
        cheers,
        
        Garrett
        
        --
        Garrett Goebel
        IS Development Specialist
        
        ScriptPro                   Direct: 913.403.5261
        5828 Reeds Road               Main: 913.384.1008
        Mission, KS 66202              Fax: 913.384.2180
        www.scriptpro.com          [EMAIL PROTECTED]
        


#!/bin/sh

PERL_VERSION=5.8.3
LIBXML2_VERSION=2.6.7
LIBXSLT_VERSION=1.1.4
APACHE_VERSION=1.3.29
MP_VERSION=1.29

## PERL MODULES
LIBWWW_VERSION=5.76
URI_VERSION=1.30
MIME_BASE64_VERSION=3.00
HTML_PARSER_VERSION=3.35
HTML_TAGSET_VERSION=3.03
LIBNET_VERSION=1.18
DIGEST_MD5_VERSION=2.33
APACHE_TEST_VERSION=1.09
APACHE_REQUEST_VERSION=1.3
AXKIT_VERSION=1.62
COMPRESS_ZLIB_VERSION=1.33
ERROR_VERSION=0.15
XML_PARSER_VERSION=2.34
XML_XPATH_VERSION=1.13
XML_LIBXML_VERSION=1.57
XML_LIBXML_COMMON_VERSION=0.13
XML_NAMESPACESUPPORT_VERSION=1.08
XML_SAX_VERSION=0.12
XML_LIBXSLT_VERSION=1.57
PERL_TIDY_VERSION=20031021

function prepareDirectories()
{
    echo "Preparing directory structure"
    rm -rf /opt/xims
    mkdir /opt/xims
    mkdir /opt/xims/bin
    mkdir /opt/xims/lib
    mkdir /opt/xims/man
}

function makePerl()
{
    echo "Creating your xims perl installation:"
    echo "   + untaring perl-distro"
    tar xzf stable.tar.gz
    echo "      done"
    echo "   + building and installing perl"
    cd perl-$PERL_VERSION
    echo "      + configuring"
    sh Configure -Dprefix=/opt/xims/ -des > /tmp/install.log 2>&1  
    echo "         done"
    echo "      + building"
    make >> /tmp/install.log 2>&1
    echo "         done"
    echo "      + testing"
    make test >> /tmp/install.log 2>&1
    echo "         done"
    echo "      + installing into /opt/xims"
    make install >> /tmp/install.log 2>&1 
    echo "        done"
    echo "   + cleaning up"
    cd .. && rm -rf perl-$PERL_VERSION
    echo "     done"
}

function setUpTidy()
{
    tar xzf tidy_src.tgz
    cd tidy
    sh build/gnuauto/setup.sh
    ./configure --prefix=/opt/xims/
    make
    make install
    cd ..
    rm -rf tidy 
}

function makeCPANShell()
{
    perl -MCPAN -eshell
}

function buildLibXML()
{
    echo "Creating your xims libxml2 installation:"
    echo "   + untaring libxml2"
    tar xjf libxml2-$LIBXML2_VERSION.tar.bz2 
    echo "      done"
    cd libxml2-$LIBXML2_VERSION
    echo "   + building and installing libxml2"
    echo "      + configuring"
    ./configure --prefix=/opt/xims/ >> /tmp/install.log 2>&1
    echo "         done"
    echo "      + building"
    make >> /tmp/install.log 2>&1
    echo "         done"
    echo "      + testing"
    make check >> /tmp/install.log 2>&1
    echo "         done"
    echo "      + installing into /opt/xims"
    make install >> /tmp/install.log 2>&1
    echo "         done"
    echo "   + cleaning up"
    cd .. && rm -rf libxml2-$LIBXML2_VERSION 
    echo "     done"
}

function buildLibXSLT()
{
    echo "Creating your xims libxslt installation:"
    echo "   + untaring libxslt"
    tar xjf libxslt-$LIBXSLT_VERSION.tar.bz2
    echo "      done"
    cd libxslt-$LIBXSLT_VERSION  
    echo "   + building and installing libxslt"
    echo "      + configuring"
    ./configure --program-prefix=/opt/xims >> /tmp/install.log 2>&1
    echo "         done"
    echo "      + building"
    make >> /tmp/install.log 2>&1
    echo "         done"
    echo "      + testing"
    make check >> /tmp/install.log 2>&1
    echo "         done"
    echo "      + installing into /opt/xims"
    echo "         done"
    make install >> /tmp/install.log 2>&1
    echo "   + cleaning up"
    cd .. && rm -rf libxslt-$LIBXSLT_VERSION 
    echo "     done"
}

function installPerlMod()
{
    mod_name=$1
    echo "INSTALLING PERL-MODULE '$mod_name'"
    tar xzf $mod_name.tar.gz
    cd $mod_name 
    perl Makefile.PL < /dev/null >> /tmp/install.log 2>&1
    make >> /tmp/install.log 2>&1
    make test < /dev/null >> /tmp/install.log 2>&1
    make install >> /tmp/install.log 2>&1
    cd ..
    rm -rf $mod_name
}

function installViaCPAN()
{
    perl -MCPAN -e "force install $1" < /dev/null >> /tmp/install.log 2>&1
}

function installPerlMods4MP()
{
    installViaCPAN "URI"
    installViaCPAN "MIME::Base64"
    installViaCPAN "HTML::Tagset"
    installViaCPAN "HTML::Parser"
    installViaCPAN "Net::Config"
    installViaCPAN "Digest::MD5"
    installViaCPAN "LWP::UserAgent"

#    installPerlMod "URI-$URI_VERSION"
#    installPerlMod "MIME-Base64-$MIME_BASE64_VERSION"
#    installPerlMod "HTML-Tagset-$HTML_TAGSET_VERSION"
#    installPerlMod "HTML-Parser-$HTML_PARSER_VERSION"
#    installPerlMod "libnet-$LIBNET_VERSION"
#    installPerlMod "Digest-MD5-$DIGEST_MD5_VERSION"
#    installPerlMod "libwww-perl-$LIBWWW_VERSION"
}

function buildApacheAndMP()
{
    tar xzf mod_perl-1.0-current.tar.gz
    tar xzf apache_$APACHE_VERSION.tar.gz
    cd mod_perl-$MP_VERSION
    perl Makefile.PL DO_HTTPD=1 USE_APACI=1 APACHE_PREFIX=/opt/xims/httpd EVERYTHING=1 >> /tmp/install.log 2>&1 
    make >> /tmp/install.log 2>&1
    make install >> /tmp/install.log 2>&1
    cd ..
    rm -rf apache_$APACHE_VERSION
    rm -rf mod_perl-$MP_VERSION 
}

function buildAxKit()
{
   installViaCPAN "Apache::Test"
   installViaCPAN "Apache::Request" 
   installViaCPAN "Compress::Zlib" 
   installViaCPAN "Error" 
   installViaCPAN "XML::Parser" 
   installViaCPAN "XML::XPath" 
   installViaCPAN "XML::NamespaceSupport" 
   installViaCPAN "XML::SAX" 
   installViaCPAN "XML::LibXML::Common" 
   installViaCPAN "XML::LibXML" 
   installViaCPAN "XML::LibXSLT" 
   installViaCPAN "Perl::Tidy" 
   installViaCPAN "AxKit" 

#   installPerlMod "Apache-Test-$APACHE_TEST_VERSION"
#   installPerlMod "libapreq-$APACHE_REQUEST_VERSION" 
#   installPerlMod "Compress-Zlib-$COMPRESS_ZLIB_VERSION" 
#   installPerlMod "Error-$ERROR_VERSION" 
#   installPerlMod "XML-Parser-$XML_PARSER_VERSION" 
#   installPerlMod "XML-XPath-$XML_XPATH_VERSION" 
#   installPerlMod "XML-NamespaceSupport-$XML_NAMESPACESUPPORT_VERSION" 
#   installPerlMod "XML-SAX-$XML_SAX_VERSION" 
#   installPerlMod "XML-LibXML-Common-$XML_LIBXML_COMMON_VERSION" 
#   installPerlMod "XML-LibXML-$XML_LIBXML_VERSION" 
#   installPerlMod "XML-LibXSLT-$XML_LIBXSLT_VERSION" 
#   installPerlMod "Perl-Tidy-$PERL_TIDY_VERSION" 
#   installPerlMod "AxKit-$AXKIT_VERSION" 
   
}

function installXIMSModules()
{
    installViaCPAN "DBI"
    installViaCPAN "AxKit::XSP::Param"
    installViaCPAN "AxKit::XSP::IfParam"
    installViaCPAN "AxKit::XSP::WebUtils"
    installViaCPAN "Apache::AxKit::Plugin::AddXSLParams::Request"
    installViaCPAN "XML::Parser::PerlSAX"
    installViaCPAN "XML::Filter::BufferText"
    installViaCPAN "Text::Iconv"
    installViaCPAN "XML::SAX::Writer"
    installViaCPAN "XML::SAX::Machines"
    installViaCPAN "XML::Generator::PerlData"
    installViaCPAN "XML::Filter::GenericChunk"
    installViaCPAN "CGI::XMLApplication"
    installViaCPAN "Class::MethodMaker"
    installViaCPAN "DBIx::AnyDBD"
    installViaCPAN "Class::MakeMethods"
    installViaCPAN "DBIx::SQLEngine"
    installViaCPAN "Time::Piece"
    installViaCPAN "XML::Schematron"
    installViaCPAN "Apache::DBI"
    installViaCPAN "CSS::Tiny"
    installViaCPAN "Term::ReadKey"
    installViaCPAN "XML::NodeFilter"
    installViaCPAN "XML::LibXML::Iterator"
    installViaCPAN "DBD::Pg"
    
}

export PATH=/opt/xims/bin:$PATH
prepareDirectories
makePerl
makeCPANShell
setUpTidy
buildLibXML
buildLibXSLT

installPerlMods4MP
buildApacheAndMP
buildAxKit

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to