Upon testing this patch this morning, I found one perl module missing.  Attached is an updated patch that is tested and working on 64bit RHEL.   An Evergreen patch will follow shortly.

Thanks,
Lee Dickens

Lee Dickens wrote:
Greetings,

I have been working for awhile to get Evergreen ported to Redhat&Centos.  I have successfully patched OpenSRF to properly install on Redhat.  The patch is attached. 

The only file that was modified was Makefile.install.  This patch installs the rpmforge repository.  In addition to providing updated packages, this repository contains every cpan module precompiled.  This patch also installs libtool, automake, and autoconf from source as the default redhat packages are ancient.  The ejabberd binary installation information was also updated. 

To successfully build in redhat after applying the patch do the following:
make -f src/extras/Makefile.install rhel
cat /usr/share/aclocal/libtool.m4 >> aclocal.m4 && mkdir m4
./autogen.sh
export memcached_LIBS=/usr/local/lib/libmemcached

export memcached_CFLAGS=-lmemcached

./configure --prefix=/openils --sysconfdir=/openils/conf --with-apxs=/usr/sbin/apxs
make && make install

I am just getting my feet wet with this and I'm sure that there are plenty of things that I could be doing better.  Let me know what you think.

Thanks,
Lee
Equinox will be at the 2010 Public Library Association
Conference in Portland, Oregon, March 23-27.
Please come by and see us in booth #1407!
  


Equinox will be at the 2010 Public Library Association
Conference in Portland, Oregon, March 23-27.
Please come by and see us in booth #1407!

Index: src/extras/Makefile.install
===================================================================
--- src/extras/Makefile.install (revision 1933)
+++ src/extras/Makefile.install (working copy)
@@ -46,11 +46,23 @@
 
 # ejabberd is not packaged on CentOS/RHEL, so we have to
 # download the installable package from the source
-EJABBERD_VER=2.0.2
-EJABBERD_PKG=ejabberd-2.0.2_2-linux-x86-installer.bin
-EJABBERD_PKG_x64=ejabberd-2.0.2_2-linux-x86_64-installer.bin
+EJABBERD_VER=2.1.2
+EJABBERD_PKG=ejabberd-2.1.2-linux-x86_64-installer.bin
+EJABBERD_PKG_x64=ejabberd-2.1.2-linux-x86_64-installer.bin
 EJABBERD_HOST=http://www.process-one.net/downloads/ejabberd
 
+# Centos and Redhat will require the rpmforge repository mostly for memcache 
and perl modules
+RPMFORGE_PKG=rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
+RPMFORGE_HOST=http://packages.sw.be/rpmforge-release
+
+# need newer libtool, autoconf, and automake on centos
+AUTOCONF_HOST=http://ftp.gnu.org/gnu/autoconf
+AUTOCONF_PKG=autoconf-2.65
+LIBTOOL_HOST=http://ftp.gnu.org/gnu/libtool
+LIBTOOL_PKG=libtool-2.2.6b
+AUTOMAKE_HOST=http://ftp.gnu.org/gnu/automake
+AUTOMAKE_PKG=automake-1.11
+
 # libmemcached is only packaged on newer distros
 LIBMEMCACHED=libmemcached-0.35
 LIBMEMCACHED_HOST=http://download.tangent.org
@@ -111,55 +123,63 @@
        python-setuptools
 
 CENTOS = \
-       apr-util-devel \
+       apr-util-devel.x86_64 \
        autoconf \
        automake \
        gcc \
+       gcc-c++ \
        gdbm-devel \
        httpd-devel \
        less \
+       libmemcache-devel \
        libtool \
        libxml2-devel \
        libxslt-devel \
        make \
+       memcached \
        mod_perl \
        mod_ssl \
        ncurses \
        ncurses-devel \
        ntp \
+       perl-Cache-Memcached \
+       perl-Class-DBI-AbstractSearch \
+       perl-Class-DBI-SQLite \
+       perl-DateTime \
+       perl-DateTime-Format-ISO8601 \
+       perl-DateTime-Format-Mail \
+       perl-DateTime-Set \
+       perl-DateTime-TimeZone \
        perl-DBI \
+       perl-Email-Send \
+       perl-Error \
+       perl-File-Find-Rule \
+       perl-FreezeThaw \
+       perl-JSON-XS \
+       perl-libwww-perl \
+       perl-Log-Log4perl \
+       perl-Memcached-libmemcached \
+       perl-Module-Build \
+       perl-Net-Jabber \
+       perl-Net-Server \
+       perl-RPC-XML \
+       perl-Template-Toolkit \
+       perl-Test-Pod \
+       perl-Tie-IxHash \
+       perl-UNIVERSAL-require \
+       perl-Unix-Syslog \
        perl-XML-LibXML \
+       perl-XML-LibXSLT \
+       perl-XML-Parser \
        perl-XML-Simple \
-       perl-libwww-perl \
+       perl-XML-RPC \
        psmisc \
        python-devel \
        python-setuptools\
        readline-devel \
        wget
 
-# Some of these packages have stupid bugs in their test suites
-# that are simply too painful to workaround
-CENTOS_PERL_NOTEST = \
-       RPC::XML
-
-CENTOS_PERL_LOCAL = \
-       XML-LibXSLT
-
 CENTOS_PERL = \
-       Cache::Memcached \
-       Class::DBI::AbstractSearch \
-       Class::DBI::SQLite \
-       Error \
-       File::Find::Rule \
-       FreezeThaw \
-       Log::Log4perl \
-       Net::Jabber \
-       Template \
-       Test::Pod \
-       Tie::IxHash \
-       Unix::Syslog \
-       UNIVERSAL::require \
-       XML::LibXSLT
 
 GENTOOS = \
        vim\
@@ -236,7 +256,7 @@
        @echo "please specify an OS" && exit 0
 
 
-centos: install_centos_rpms install_ejabberd install_libmemcached 
install_libxml2 install_libxslt install_centos_perl create_ld_local
+centos: install_rpmforge install_centos_rpms install_ejabberd 
install_buildutils install_libmemcached install_libxml2 install_libxslt 
install_centos_perl create_ld_local
 
 debian-etch: generic_debian etch install_libmemcached
 debian-lenny: generic_debian lenny install_libmemcached
@@ -278,6 +298,26 @@
        chmod u+x $(EJABBERD_PKG)
        ./$(EJABBERD_PKG) --mode unattended --prefix /opt/ejabberd --adminpw 
opensrf
 
+# Install rpmforge for redhat and centos
+install_rpmforge:
+       if [ ! -f $(RPMFORGE_PKG).gz ]; then wget 
$(RPMFORGE_HOST)/$(RPMFORGE_PKG); fi;
+       rpm -Uvh --force ./$(RPMFORGE_PKG)
+       yum update -y
+
+# Install automake, autoconf, and libtool
+install_buildutils:
+       if [ ! -f $(LIBTOOL_PKG).tar.gz ]; then wget 
$(LIBTOOL_HOST)/$(LIBTOOL_PKG).tar.gz; fi;
+       tar zxf $(LIBTOOL_PKG).tar.gz
+       cd $(LIBTOOL_PKG) && ./configure --prefix=/usr && make && make install
+
+       if [ ! -f $(AUTOCONF_PKG).tar.gz ]; then wget 
$(AUTOCONF_HOST)/$(AUTOCONF_PKG).tar.gz; fi;
+       tar zxf $(AUTOCONF_PKG).tar.gz
+       cd $(AUTOCONF_PKG) && ./configure --prefix=/usr && make && make install
+       
+       if [ ! -f $(AUTOMAKE_PKG).tar.gz ]; then wget 
$(AUTOMAKE_HOST)/$(AUTOMAKE_PKG).tar.gz; fi;
+       tar zxf $(AUTOMAKE_PKG).tar.gz
+       cd $(AUTOMAKE_PKG) && ./configure --prefix=/usr && make && make install
+
 # Install libmemcached from the official project source
 install_libmemcached:
        if [ ! -d $(LIBMEMCACHED).tar.gz ]; then wget 
$(LIBMEMCACHED_HOST)/$(LIBMEMCACHED).tar.gz; fi;


Equinox will be at the 2010 Public Library Association
Conference in Portland, Oregon, March 23-27.
Please come by and see us in booth #1407!

Reply via email to