Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:jamirocake
myrpm
postinstall
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File postinstall of Package myrpm
#!/bin/ksh #------------------------------------------------------------------------------- # # scmtomcat server postinstall script. # # $Log: postinstall,v $ # Revision 1.1 2009-02-10 14:08:57-08 pszczepa # *** empty log message *** # # #------------------------------------------------------------------------------- # -------------------------------------------------------------------------- # Utility to expand the specified input file into the specified output file. # -------------------------------------------------------------------------- mkconfig() { typeset INFILE=$1 typeset OUTFILE=$2 if [[ ! -r ${INFILE} ]] ; then print "ERROR : ${PROGNAME}, \"${INFILE}\" does not exist or is not readable." >&2 exit 1 fi [[ -f ${OUTFILE} ]] && rm -f ${OUTFILE} print "TRACE : ${PROGNAME}, creating ${OUTFILE}" >&2 ${ET_ROOT}/bin/etexpand < ${INFILE} > ${OUTFILE} etcmd -s chown $ET_APPLICATION:etrade $OUTFILE } PROGNAME=`basename $0` if [[ $ET_APPLICATION = hudson && $ET_INSTANCE = master ]] ; then # Fix the permissions on the home directory, we'll need this for ssh key installation etcmd -s chown $ET_APPLICATION:etrade $ET_ROOT/home/$ET_APPLICATION # Create all the directories needed by Tomcat if [[ ! -d ${ET_INSTANCE_ROOT}/data ]] ; then etcmd mkdir ${ET_INSTANCE_ROOT}/data fi if [[ ! -d ${ET_INSTANCE_ROOT}/webapps ]] ; then etcmd mkdir ${ET_INSTANCE_ROOT}/webapps fi if [[ ! -d ${ET_INSTANCE_ROOT}/temp ]] ; then etcmd mkdir ${ET_INSTANCE_ROOT}/temp fi # We are only running the Hudson container in this tomcat, # so let's make this the ROOT container to avoid /hudson in URLs, i.e.: hudson.etrade.com/hudson etcmd cp -pv ${ET_HUDSON_ROOT}/hudson.war ${ET_INSTANCE_ROOT}/webapps/ROOT.war # Set the ports. for PORT in $(${ET_ROOT}/bin/etports | /bin/cut -f2) ; do export ${PORT}=$(${ET_ROOT}/bin/etports -n ${PORT}) print "TRACE : ${PROGNAME}, ${PORT} = $(eval print \$$(print ${PORT}))" >&2 done # Expand Tomcat config files with EM variable like HTTP_PORT mkconfig ${ET_INSTANCE_ROOT}/config/server.xml.template ${ET_INSTANCE_ROOT}/config/server.xml mkconfig ${ET_INSTANCE_ROOT}/config/web.xml.template ${ET_INSTANCE_ROOT}/config/web.xml # Set up ssh keys which can be later installed on the clients ID_DSA_FILE=$ET_ROOT/home/$ET_APPLICATION/.ssh/id_dsa if ! etcmd stat $ID_DSA_FILE > /dev/null ; then etcmd ssh-keygen -t dsa -f $ID_DSA_FILE fi fi if [[ $ET_APPLICATION = nexus ]] ; then if [[ ! -d ${ET_INSTANCE_ROOT}/webapps ]] ; then etcmd mkdir ${ET_INSTANCE_ROOT}/webapps fi if [[ ! -d ${ET_INSTANCE_ROOT}/temp ]] ; then etcmd mkdir ${ET_INSTANCE_ROOT}/temp fi # We are only running the Nexus container in this tomcat, # so let's make this the ROOT container to avoid /nexus in URLs, i.e.: nexus.etrade.com/nexus etcmd cp -pv ${ET_NEXUS_WEBAPP_ROOT}/nexus-webapp*.war ${ET_INSTANCE_ROOT}/webapps/ROOT.war # Set the ports. for PORT in $(${ET_ROOT}/bin/etports | /bin/cut -f2) ; do export ${PORT}=$(${ET_ROOT}/bin/etports -n ${PORT}) print "TRACE : ${PROGNAME}, ${PORT} = $(eval print \$$(print ${PORT}))" >&2 done # Expand Tomcat config files with EM variable like HTTP_PORT mkconfig ${ET_INSTANCE_ROOT}/config/server.xml.template ${ET_INSTANCE_ROOT}/config/server.xml mkconfig ${ET_INSTANCE_ROOT}/config/web.xml.template ${ET_INSTANCE_ROOT}/config/web.xml # Create sonatpe-work for Nexus etcmd mkdir -p ${ET_INSTANCE_ROOT}/sonatype-work fi # # OpenGrok (Source Code Search Engine) # if [[ $ET_APPLICATION = opengrok ]] ; then if [[ ! -d ${ET_INSTANCE_ROOT}/webapps ]] ; then echo "TRACE : ${PROGNAME}, Creating webapps directory" etcmd mkdir ${ET_INSTANCE_ROOT}/webapps fi if [[ ! -d ${ET_INSTANCE_ROOT}/source ]] ; then echo "TRACE : ${PROGNAME}, Creating source directories" etcmd mkdir -p ${ET_INSTANCE_ROOT}/stage1/source etcmd mkdir -p ${ET_INSTANCE_ROOT}/stage2/source fi if [[ ! -d ${ET_INSTANCE_ROOT}/data ]] ; then echo "TRACE : ${PROGNAME}, Creating data directories" etcmd mkdir -p ${ET_INSTANCE_ROOT}/stage1/data etcmd mkdir -p ${ET_INSTANCE_ROOT}/stage2/data fi if [[ ! -d ${ET_INSTANCE_ROOT}/bin ]] ; then echo "TRACE : ${PROGNAME}, Creating bin directory" etcmd mkdir ${ET_INSTANCE_ROOT}/bin fi echo "TRACE : ${PROGNAME}, Copying OpenGrok binaries" etcmd cp -r ${ET_OPENGROK_ROOT}/OpenGrok ${ET_OPENGROK_ROOT}/opengrok.jar ${ET_OPENGROK_ROOT}/lib ${ET_INSTANCE_ROOT}/bin # Set the ports. echo "TRACE : ${PROGNAME}, Expanding ports" for PORT in $(${ET_ROOT}/bin/etports | /bin/cut -f2) ; do export ${PORT}=$(${ET_ROOT}/bin/etports -n ${PORT}) print "TRACE : ${PROGNAME}, ${PORT} = $(eval print \$$(print ${PORT}))" >&2 done # We are only running the Opengrok container in this tomcat, # so let's make this the ROOT container to avoid extra charcters in URLs. echo "TRACE : ${PROGNAME}, Configuring OpenGrok" etcmd mkdir -p /tmp/opengrok_install etcmd cp ${ET_OPENGROK_ROOT}/source.war /tmp/opengrok_install/ cd /tmp/opengrok_install/ etcmd ${ET_UNZIP_ROOT}/bin/unzip source.war >> ${ET_INSTANCE_ROOT}/logs/postinstall.log 2>&1 etcmd mkconfig ${ET_INSTANCE_ROOT}/config/opengrok_web.xml.template /tmp/opengrok_install/WEB-INF/web.xml #Make sure we are in the correct dir cd /tmp/opengrok_install/ etcmd ${ET_ZIP_ROOT}/bin/zip -r ROOT.war * >> ${ET_INSTANCE_ROOT}/logs/postinstall.log 2>&1 etcmd cp /tmp/opengrok_install/ROOT.war ${ET_INSTANCE_ROOT}/webapps/ROOT.war # Expand Tomcat config files with EM variable like HTTP_PORT mkconfig ${ET_INSTANCE_ROOT}/config/server.xml.template ${ET_INSTANCE_ROOT}/config/server.xml mkconfig ${ET_INSTANCE_ROOT}/config/web.xml.template ${ET_INSTANCE_ROOT}/config/web.xml echo "TRACE : ${PROGNAME}, Checking out sources (may take a few hours, check: ${ET_INSTANCE_ROOT}/logs/postinstall.log" cd ${ET_INSTANCE_ROOT}/stage1/data # TODO Move repos to config file etcmd ${ET_SCM_TOOLS_ROOT}/bin/smart_co.sh -u http://svn.etrade.com/svn/services/trunk -d ${ET_INSTANCE_ROOT}/stage1/source/services_trunk >> ${ET_INSTANCE_ROOT}/logs/postinstall.log 2>&1 etcmd ${ET_SCM_TOOLS_ROOT}/bin/smart_co.sh -u http://svn.etrade.com/svn/services/branches/prd_gold -d ${ET_INSTANCE_ROOT}/stage1/source/services_prd_gold >> ${ET_INSTANCE_ROOT}/logs/postinstall.log 2>&1 etcmd ${ET_SCM_TOOLS_ROOT}/bin/smart_co.sh -u http://svn.etrade.com/svn/af/trunk -d ${ET_INSTANCE_ROOT}/stage1/source/af_trunk >> ${ET_INSTANCE_ROOT}/logs/postinstall.log 2>&1 etcmd ${ET_SCM_TOOLS_ROOT}/bin/smart_co.sh -u http://svn.etrade.com/svn/af/branches/prd_gold -d ${ET_INSTANCE_ROOT}/stage1/source/af_prd_gold >> ${ET_INSTANCE_ROOT}/logs/postinstall.log 2>&1 echo "TRACE : ${PROGNAME}, Copying sources to stage2" etcmd cp -rv ${ET_INSTANCE_ROOT}/stage1/source/* ${ET_INSTANCE_ROOT}/stage2/source/ >> ${ET_INSTANCE_ROOT}/logs/postinstall.log 2>&1 echo "TRACE : ${PROGNAME}, Generating OpenGrok XML configuration file" ${ET_SUNJAVA2_ROOT}/bin/java -jar ${ET_INSTANCE_ROOT}/bin/opengrok.jar \ -W ${ET_INSTANCE_ROOT}/stage1/configuration.xml \ -c ${ET_CTAGS_ROOT} -P -S -v \ -s ${ET_INSTANCE_ROOT}/stage1/source \ -d ${ET_INSTANCE_ROOT}/stage1/data fi # Create conf symlink. if [[ ! -h ${ET_INSTANCE_ROOT}/conf ]] ; then etcmd ln -s ${ET_INSTANCE_ROOT}/config ${ET_INSTANCE_ROOT}/conf fi
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor