From 525921709de171b847e154ecbbc05addfc6040e6 Mon Sep 17 00:00:00 2001 From: dbs Date: Tue, 2 Mar 2010 21:02:33 +0000 Subject: [PATCH] Apply patch from Lee Dickens to add support for RedHat/CentOS Also, remove support for Ubuntu Gutsy while we're in the file git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1934 9efc2488-bf62-4759-914b-345cdb29e865 --- src/extras/Makefile.install | 101 ++++++++++++++++++++++++------------ 1 file changed, 69 insertions(+), 32 deletions(-) diff --git a/src/extras/Makefile.install b/src/extras/Makefile.install index 61a58d6..4614efe 100644 --- a/src/extras/Makefile.install +++ b/src/extras/Makefile.install @@ -3,7 +3,7 @@ # # Makefile to install prerequisites for OpenSRF # -# Currently supports Debian (etch/lenny), Ubuntu (gutsy/hardy/intrepid/karmic), and Gentoo. +# Currently supports Debian (etch/lenny), Ubuntu (hardy/intrepid/karmic), and Gentoo. # Working towards support of CentOS 5 / RHEL 5. # Installs Perl prereqs, libjs with Perl wrapper # @@ -12,8 +12,6 @@ # - or - # make -f Makefile.install debian-lenny # - or - -# make -f Makefile.install ubuntu-gutsy -# - or - # make -f Makefile.install ubuntu-hardy # - or - # make -f Makefile.install ubuntu-intrepid @@ -46,11 +44,23 @@ SHELL=/bin/bash # 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 +121,63 @@ DEBS = \ 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 +254,7 @@ all: @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 @@ -248,7 +266,6 @@ gentoo: install_gentoos install_gentoo_rc install_gentoo_perl install rhel: centos -ubuntu-gutsy: generic_ubuntu install_cpan_xml hardy ubuntu-hardy: generic_ubuntu install_cpan_xml hardy ubuntu-intrepid: generic_ubuntu install_cpan_xml intrepid ubuntu-karmic: generic_ubuntu karmic @@ -278,6 +295,26 @@ install_ejabberd: 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; -- 2.43.2