Skip to content

Instantly share code, notes, and snippets.

@artifactsauce
Created September 18, 2013 02:21
Show Gist options
  • Save artifactsauce/6603640 to your computer and use it in GitHub Desktop.
Save artifactsauce/6603640 to your computer and use it in GitHub Desktop.
Setup script for GBrowse2.
#!/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}"`] [FATAL] $*" 1>&2
exit 1
}
function logger_error() {
[ $LOG_LEVEL -ge 1 ] || return 1
echo -e "[`date +"${DATE_FORMAT}"`] [ERROR] $*" 1>&2
exit 1
}
function logger_warn() {
[ $LOG_LEVEL -ge 2 ] || return 1
echo -e "[`date +"${DATE_FORMAT}"`] [WARN] $*" 1>&2
}
function logger_info() {
[ $LOG_LEVEL -ge 3 ] || return 1
echo -e "[`date +"${DATE_FORMAT}"`] [INFO] $*" 1>&2
}
function logger_debug() {
[ $LOG_LEVEL -ge 4 ] || return 1
echo -e "[`date +"${DATE_FORMAT}"`] [DEBUG] $*" 1>&2
}
function logger_trace() {
[ $LOG_LEVEL -ge 5 ] || return 1
echo -e "[`date +"${DATE_FORMAT}"`] [TRACE] $*" 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