|
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! |
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,62 @@ 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-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 +255,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 +297,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!
