Created
September 18, 2013 02:21
-
-
Save artifactsauce/6603640 to your computer and use it in GitHub Desktop.
Setup script for GBrowse2.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
[ -n $LOG_LEVEL ] || declare -i LOG_LEVEL=3 | |
[ -n $DATE_FORMAT ] || DATE_FORMAT="%x %T" | |
[ -n $BUILD_DIR ] || BUILD_DIR="/var/tmp/build" | |
[ -n $PERL_VERSION ] || PERL_VERSION="5.16.3" | |
function logger_fatal() { | |
[ $LOG_LEVEL -ge 0 ] || return 1 | |
echo -e "[`date +"${DATE_FORMAT}"`] [31m[FATAL] $*[m" 1>&2 | |
exit 1 | |
} | |
function logger_error() { | |
[ $LOG_LEVEL -ge 1 ] || return 1 | |
echo -e "[`date +"${DATE_FORMAT}"`] [35m[ERROR] $*[m" 1>&2 | |
exit 1 | |
} | |
function logger_warn() { | |
[ $LOG_LEVEL -ge 2 ] || return 1 | |
echo -e "[`date +"${DATE_FORMAT}"`] [33m[WARN] $*[m" 1>&2 | |
} | |
function logger_info() { | |
[ $LOG_LEVEL -ge 3 ] || return 1 | |
echo -e "[`date +"${DATE_FORMAT}"`] [32m[INFO] $*[m" 1>&2 | |
} | |
function logger_debug() { | |
[ $LOG_LEVEL -ge 4 ] || return 1 | |
echo -e "[`date +"${DATE_FORMAT}"`] [34m[DEBUG] $*[m" 1>&2 | |
} | |
function logger_trace() { | |
[ $LOG_LEVEL -ge 5 ] || return 1 | |
echo -e "[`date +"${DATE_FORMAT}"`] [30m[TRACE] $*[m" 1>&2 | |
} | |
if [ `whoami` != "root" ]; then | |
logger_error "Must be done as root." | |
fi | |
logger_info "Change the environment variable HOME to ${HOME}." | |
HOME=$BUILD_DIR | |
[ -d $HOME ] || mkdir $HOME | |
cd $HOME | |
logger_info "Install required yum packages." | |
/usr/bin/yum -y install httpd mod_fcgid make gcc patch gd-devel mysql-devel db4-devel libxml2-devel libxslt-devel expat-devel sqlite-devel | |
/sbin/chkconfig httpd on | |
logger_info "Install perl v${PERL_VERSION} to /usr/local." | |
curl -O http://www.cpan.org/src/5.0/perl-${PERL_VERSION}.tar.gz | |
tar -xzf perl-${PERL_VERSION}.tar.gz | |
cd perl-${PERL_VERSION} | |
./Configure -Duse64bitall -des | |
make | |
make test && make install | |
PATH=/usr/local/sbin:/usr/local/bin:$PATH | |
if [ `which perl` == "/usr/bin/perl" ]; then | |
logger_error "Failed to install perl." | |
fi | |
curl -L http://cpanmin.us | perl - App::cpanminus | |
if [ -z `which cpanm` ]; then | |
logger_error "Failed to install cpanm." | |
fi | |
logger_info "Install required CPAN packages." | |
cpanm Module::Build GD JSON LWP Storable IO::String Capture::Tiny File::Temp Digest::MD5 CGI::Session Statistics::Descriptive JSON::Any DBD::SQLite DBD::mysql FCGI | |
cpanm Algorithm::Munkres Array::Compare Clone Convert::Binary::C Error Graph GraphViz List::MoreUtils Math::Random PostScript::TextBlock SOAP::Lite SVG SVG::Graph Set::Scalar Sort::Naturally Spreadsheet::ParseExcel XML::DOM::XPath XML::Parser XML::Parser::PerlSAX XML::SAX XML::SAX::Writer XML::Simple XML::Twig XML::Writer YAML | |
cpanm -f Bio::Perl Bio::Graphics | |
cpanm VM::EC2 | |
logger_info "Install GBrowse2" | |
cpanm -v -f Bio::Graphics::Browser2 | |
GBROWSE_CONF=/etc/gbrowse2 | |
[ -d $GBROWSE_CONF ] || logger_error "GBrowse seems not to be installed." | |
service httpd start |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment