[open-ils-commits] r16798 - trunk/Open-ILS/src/extras (dbs)
svn at svn.open-ils.org
svn at svn.open-ils.org
Wed Jun 23 23:29:05 EDT 2010
Author: dbs
Date: 2010-06-23 23:29:02 -0400 (Wed, 23 Jun 2010)
New Revision: 16798
Modified:
trunk/Open-ILS/src/extras/Makefile.install
Log:
First stab at Fedora 13 support in prerequisite installer
Of possible concern: the use of -JS_THREADSAFE in JavaScript::SpiderMonkey.
Need to test this change on other distros - but it enabled me to avoid
the libperl.so linking hacks used on RHEL and CentOS.
Modified: trunk/Open-ILS/src/extras/Makefile.install
===================================================================
--- trunk/Open-ILS/src/extras/Makefile.install 2010-06-24 03:18:30 UTC (rev 16797)
+++ trunk/Open-ILS/src/extras/Makefile.install 2010-06-24 03:29:02 UTC (rev 16798)
@@ -4,7 +4,7 @@
# Makefile to install prerequisites for OpenSRF and Evergreen
#
# Currently supports Debian (etch/lenny), Ubuntu (hardy/karmic), and Gentoo.
-# Working towards support of CentOS 5 / RHEL 5.
+# Working towards support of CentOS 5 / RHEL 5 / Fedora 13.
# Installs Perl prereqs, libjs with Perl wrapper, libdbi, libdbi-drivers, and libyaz
#
# usage:
@@ -16,6 +16,8 @@
# - or -
# make -f Makefile.install ubuntu-karmic
# - or -
+# make -f Makefile.install fedora-13
+# - or -
# make -f Makefile.install centos
# - or -
# make -f Makefile.install rhel
@@ -25,7 +27,7 @@
# Notes:
#
# This makefile has been tested much more with Debian and Ubuntu than
-# CentOS, Gentoo, or RHEL.
+# Fedora, CentOS, Gentoo, or RHEL.
#
# Gentoo (especially amd64) requires a good bit of masked package
# mangling for some packages. These are not documented here because
@@ -42,17 +44,14 @@
#
# Also, I (think) Gentoo has a javascript::spidermonkey package that does
# not require fetching the sources externally ... needs testing/updating in here
-#
-# Intrepid has libmozjs-dev and spidermonkey-bin - might work
LIBJS=js-1.7.0
-LIBJS_PERL=JavaScript-SpiderMonkey-0.19
+LIBJS_PERL=JavaScript-SpiderMonkey-0.20
LIBJS_URL=ftp://ftp.mozilla.org/pub/mozilla.org/js/$(LIBJS).tar.gz
LIBJS_PERL_URL=ftp://mirror.datapipe.net/pub/CPAN/authors/id/T/TB/TBUSCH/$(LIBJS_PERL).tar.gz
# used for installing libjs lib and header files
JS_INSTALL_PREFIX=/usr/
-
# The libdbi sources can be fetched from sourceforge.net. They are stored on
# the open-ils.org site now for ease of direct linking
LIBDBI=libdbi-0.8.3
@@ -73,6 +72,9 @@
# 64 or 32 bit os?
LBITS=$(shell getconf LONG_BIT)
+# Fedora 64-bit?
+FEDORA_64=$(shell uname -r | grep "fc[0-9][0-9].x86_64")
+
#RHEL/Centos PGSQL
PGSQL_HOST=http://yum.pgsqlrpms.org/reporpms/8.4
PGSQL_CENTOS=pgdg-centos-8.4-2.noarch.rpm
@@ -80,7 +82,7 @@
# Debian dependencies
DEBS = \
- apache2-prefork-dev\
+ apache2-prefork-dev\
aspell\
aspell-en\
libbusiness-creditcard-perl\
@@ -106,7 +108,6 @@
libssh2-1-dev\
libtext-aspell-perl\
libtext-csv-perl\
- libtext-csv-perl\
libuniversal-require-perl\
libunix-syslog-perl
@@ -145,13 +146,6 @@
perl-Text-Aspell \
perl-Text-CSV
-PGSQL_84_RPMS = \
- postgresql-8.4* \
- postgresql-contrib-8.4* \
- postgresql-devel-8.4* \
- postgresql-plp*-8.4* \
- postgresql-server-8.4*
-
CENTOS_PERL = \
Class::DBI \
Class::DBI::Pg \
@@ -163,6 +157,47 @@
Net::XMPP \
Net::Z3950::ZOOM
+FEDORA_13_RPMS = \
+ aspell \
+ aspell-en \
+ js-devel \
+ libdbi \
+ libdbi-dbd-pgsql \
+ libssh2-devel \
+ libyaz \
+ libyaz-devel \
+ ncurses-devel \
+ ncurses-libs \
+ perl-Business-CreditCard \
+ perl-Class-DBI-Pg \
+ perl-Email-Send \
+ perl-GDGraph3d \
+ perl-MARC-Record \
+ perl-Net-SSH2 \
+ perl-OLE-Storage_Lite \
+ perl-Spreadsheet-WriteExcel \
+ perl-Text-Aspell \
+ perl-Text-CSV \
+ perl-Text-CSV_XS \
+ perl-XML-Writer \
+ postgresql-devel \
+ readline-devel \
+ tcp_wrappers-devel \
+ yaz
+
+# Note: B:O:AuthorizeNet 3.21 fails with https://rt.cpan.org/Public/Bug/Display.html?id=55172
+# Should be fixed in 3.22
+FEDORA_13_CPAN = \
+ Business::OnlinePayment \
+ Business::OnlinePayment::AuthorizeNet
+
+PGSQL_84_RPMS = \
+ postgresql-8.4* \
+ postgresql-contrib-8.4* \
+ postgresql-devel-8.4* \
+ postgresql-plp*-8.4* \
+ postgresql-server-8.4*
+
PGSQL_CLIENT_DEBS_81 = \
postgresql-client-8.1
@@ -236,10 +271,13 @@
Net::uFTP \
Net::Z3950::Simple2ZOOM \
UUID::Tiny \
- SRU \
- Safe
+ SRU
-# Intrepid and Lenny have libmarc-charset-perl, libmarc-xml-perl, libnet-z3950-zoom-perl
+# Are we sure most distros don't come with an acceptable version of Safe.pm?
+CPAN_MODULES_SAFE = \
+ Safe
+
+# Recent Debian/Ubuntus have libmarc-charset-perl, libmarc-xml-perl, libnet-z3950-zoom-perl
CPAN_MODULES_MARC = \
MARC::Charset \
MARC::File::XML \
@@ -253,14 +291,16 @@
# these should be the same for any distro
install: install_cpan install_js_sm install_libdbi
-centos: install_centos_pgsql install_centos_rpms install_yaz install_cpan_marc install install_centos_perl create_ld_local
-rhel: install_redhat_pgsql install_centos_rpms install_yaz install_cpan_marc install install_centos_perl create_ld_local
+centos: install_centos_pgsql install_centos_rpms install_yaz install_cpan_marc install install_centos_perl create_ld_local install_cpan_safe
+rhel: install_redhat_pgsql install_centos_rpms install_yaz install_cpan_marc install install_centos_perl create_ld_local install_cpan_safe
+fedora-13: install_fedora_13_rpms install_cpan install_cpan_marc install_cpan_fedora install_spidermonkey
+
debian-etch: etch generic_debian
debian-lenny: lenny generic_debian
etch: install_pgsql_client_debs_81 install_yaz install_cpan_marc install_extra_encode
lenny: install_pgsql_client_debs_83 install_extra_debs
-generic_debian: install_debs install debian_sys_config
+generic_debian: install_debs install debian_sys_config install_cpan_safe
gentoo: install_gentoos install_gentoo_perl install
@@ -268,7 +308,7 @@
ubuntu-karmic: karmic generic_ubuntu
hardy: install_pgsql_client_debs_82 install_yaz install_cpan_marc install_extra_encode
karmic: install_pgsql_client_debs_84 install_extra_debs
-generic_ubuntu: install_debs install debian_sys_config
+generic_ubuntu: install_debs install debian_sys_config install_cpan_safe
# - COMMON TARGETS ---------------------------------------------------------
@@ -280,6 +320,15 @@
install_cpan_marc:
for m in $(CPAN_MODULES_MARC); do perl -MCPAN -e "install \"$$m\";"; done
+# Install the Safe Perl module
+# Is this really unpackaged everywhere except for Fedora?
+install_cpan_safe:
+ for m in $(CPAN_MODULES_SAFE); do perl -MCPAN -e "install \"$$m\";"; done
+
+# Install the CPAN modules for Fedora 13
+install_cpan_fedora:
+ for m in $(FEDORA_13_CPAN); do perl -MCPAN -e "install \"$$m\";"; done
+
# Install a known working version of YAZ
install_yaz:
if [ ! -d $(YAZ) ]; then wget $(YAZ_HOST)/$(YAZ).tar.gz; fi;
@@ -287,20 +336,28 @@
cd $(YAZ) && ./configure && make && make install && ldconfig
# Install the custom spidermonkey libs and JavaScript-SpiderMonkey Perl modules
-install_js_sm:
+install_js_sm: install_libjs install_spidermonkey
+
+install_libjs:
if [ ! -f $(LIBJS).tar.gz ]; then wget $(LIBJS_URL); fi;
- if [ ! -f $(LIBJS_PERL).tar.gz ]; then wget $(LIBJS_PERL_URL); fi;
tar -zxf $(LIBJS).tar.gz
- tar -zxf $(LIBJS_PERL).tar.gz
cd js/src/ && make -f Makefile.ref
mkdir -p $(JS_INSTALL_PREFIX)/include/js/
cp js/src/*.h $(JS_INSTALL_PREFIX)/include/js/
cp js/src/*.tbl $(JS_INSTALL_PREFIX)/include/js/
cp js/src/Linux_All_DBG.OBJ/*.so $(JS_INSTALL_PREFIX)/lib/
cp js/src/Linux_All_DBG.OBJ/*.a $(JS_INSTALL_PREFIX)/lib/
- cd $(LIBJS_PERL) && perl Makefile.PL -E4X && make && make test && make install
+install_spidermonkey:
+ if [ ! -f $(LIBJS_PERL).tar.gz ]; then wget $(LIBJS_PERL_URL); fi;
+ tar -zxf $(LIBJS_PERL).tar.gz
+ if [ ! -z $(FEDORA_64) ]; then \
+ sed -i -e 's/"\/usr\/lib"/"\/usr\/lib64"/' $(LIBJS_PERL)/Makefile.PL ; \
+ sed -i -e 's/js32.dll/libjs.so/' $(LIBJS_PERL)/Makefile.PL ; \
+ fi;
+ cd $(LIBJS_PERL) && perl Makefile.PL -E4X -JS_THREADSAFE && make && make test && make install
+
# Install libdbi and the postgres drivers
install_libdbi:
if [ ! -d $(LIBDBI) ]; then wget $(LIBDBI_HOST)/$(LIBDBI).tar.gz; fi;
@@ -379,8 +436,12 @@
for m in $(GENTOO_PERL); do perl -MCPAN -e "install \"$$m\";"; done
# ------------------------------------------------------------------
-
+# FEDORA 13
+install_fedora_13_rpms:
+ yum -y update
+ yum -y install $(FEDORA_13_RPMS)
+
# CENTOS
install_centos_rpms:
yum -y install $(CENTOS)
More information about the open-ils-commits
mailing list