[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