diff options
Diffstat (limited to 'www/wiki/extensions/SemanticMediaWiki/tests/travis/install-services.sh')
-rw-r--r-- | www/wiki/extensions/SemanticMediaWiki/tests/travis/install-services.sh | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/www/wiki/extensions/SemanticMediaWiki/tests/travis/install-services.sh b/www/wiki/extensions/SemanticMediaWiki/tests/travis/install-services.sh new file mode 100644 index 00000000..eaba78e5 --- /dev/null +++ b/www/wiki/extensions/SemanticMediaWiki/tests/travis/install-services.sh @@ -0,0 +1,239 @@ +#!/bin/bash +set -ex +BASE_PATH=$(pwd) +E_UNREACHABLE=86 + +if [ "$FOURSTORE" != "" ] || [ "$VIRTUOSO" != "" ] || [ "$SESAME" != "" ] || [[ "$FUSEKI" == "2."* ]] +then + sudo apt-get update -qq +fi + +# Version 1.1.0 is available and testable on Travis/SMW +if [ "$FUSEKI" != "" ] +then + # Archive + # http://archive.apache.org/dist/jena/binaries/jena-fuseki-$FUSEKI-distribution.tar.gz + # http://www.eu.apache.org/dist/jena/binaries/jena-fuseki-$FUSEKI-distribution.tar.gz + + # Avoid ERROR 503: Service Unavailable + # wget http://archive.apache.org/dist/jena/binaries/jena-fuseki-$FUSEKI-distribution.tar.gz + + if [[ "$FUSEKI" == "2."* ]] + then + + # Fuseki requires Java8 for Fuseki2 v2.3.0 onwards + #sudo apt-get install oracle-java8-installer + + #export JAVA_HOME="/usr/lib/jvm/java-8-oracle"; + #export PATH="$PATH:/usr/lib/jvm/java-8-oracle/bin"; + #export java_path="/usr/lib/jvm/java-8-oracle/jre/bin/java"; + + wget https://github.com/mwjames/travis-support/raw/master/fuseki/$FUSEKI/apache-jena-fuseki-$FUSEKI.tar.gz + + # option z caused "gzip: stdin: not in gzip format" + tar -xf apache-jena-fuseki-$FUSEKI.tar.gz + mv apache-jena-fuseki-$FUSEKI fuseki + else + wget https://github.com/mwjames/travis-support/raw/master/fuseki/$FUSEKI/jena-fuseki-$FUSEKI-distribution.tar.gz + + tar -zxf jena-fuseki-$FUSEKI-distribution.tar.gz + mv jena-fuseki-$FUSEKI fuseki + fi + + cd fuseki + + ## Start fuseki in-memory as background + bash fuseki-server --update --mem /db &>/dev/null & +fi + +if [ "$SESAME" != "" ] +then + TOMCAT_VERSION=tomcat6 + sudo java -version + + sudo apt-get install $TOMCAT_VERSION + + CATALINA_BASE=/var/lib/$TOMCAT_VERSION + CATALINA_HOME=/usr/share/$TOMCAT_VERSION + + sudo chown $USER -R $CATALINA_BASE/ + sudo chmod g+rw -R $CATALINA_BASE/ + + sudo mkdir -p $CATALINA_HOME/.aduna + sudo chown -R $TOMCAT_VERSION:$TOMCAT_VERSION $CATALINA_HOME + + # One method to get the war files + # wget http://search.maven.org/remotecontent?filepath=org/openrdf/sesame/sesame-http-server/$SESAME/sesame-http-server-$SESAME.war -O openrdf-sesame.war + # wget http://search.maven.org/remotecontent?filepath=org/openrdf/sesame/sesame-http-workbench/$SESAME/sesame-http-workbench-$SESAME.war -O openrdf-workbench.war + # cp *.war /var/lib/tomcat6/webapps/ + + # http://sourceforge.net/projects/sesame/ + # Unreliable sourceforge.net download + # wget http://downloads.sourceforge.net/project/sesame/Sesame%202/$SESAME/openrdf-sesame-$SESAME-sdk.zip + wget https://github.com/mwjames/travis-support/raw/master/sesame/$SESAME/openrdf-sesame-$SESAME-sdk.zip + + # tar caused a lone zero block, using zip instead + unzip -q openrdf-sesame-$SESAME-sdk.zip + cp openrdf-sesame-$SESAME/war/*.war $CATALINA_BASE/webapps/ + + sudo service $TOMCAT_VERSION restart + ps -ef | grep tomcat + + sleep 5 + + if curl --output /dev/null --silent --head --fail "http://localhost:8080/openrdf-sesame" + #if curl --output /dev/null --silent --head --fail "http://localhost:8080/openrdf-sesame/home/overview.view" + then + echo "openrdf-sesame service url is reachable" + else + echo "openrdf-sesame service url is not reachable" + sudo cat $CATALINA_BASE/logs/*.log & + sudo cat $CATALINA_BASE/logs/catalina.out & + exit $E_UNREACHABLE + fi + + ./openrdf-sesame-$SESAME/bin/console.sh < $BASE_PATH/tests/travis/openrdf-sesame-memory-repository.txt +fi + +# Version 1.1.4-1 is available but has a problem +# https://github.com/garlik/4store/issues/110 +# 4STORE can not be used as variable name therefore FOURSTORE +if [ "$FOURSTORE" != "" ] +then + + sudo mkdir /var/lib/4store/ + sudo mkdir /var/lib/4store/db + sudo chown $USER -R /var/lib/4store/ + sudo chmod g+rw -R /var/lib/4store/ + + sudo apt-get install 4store=$FOURSTORE + + ## Disabling the firewall + sudo iptables -F + + 4s-backend-setup db + 4s-backend db + + ## Output the current process table + ps auwwx | grep 4s- + + ## -D only used to check the status of the 4store instance + ## 4s-httpd -D -p 8088 db + + 4s-httpd -p 8088 db +fi + +# Version 6.1 is available +if [[ "$VIRTUOSO" == "6."* ]] +then + sudo apt-get install -qq virtuoso-opensource + echo "RUN=yes" | sudo tee -a /etc/default/virtuoso-opensource-$VIRTUOSO + sudo service virtuoso-opensource-$VIRTUOSO start + + isql-vt 1111 dba dba $BASE_PATH/tests/travis/virtuoso-sparql-permission.sql +fi + +# Version 7 is not available as deb package so we have to build it from scratch +if [[ "$VIRTUOSO" == "7."* ]] +then + sudo apt-get install libssl-dev -q + sudo apt-get install autoconf automake bison flex gawk gperf libtool -q + + #git clone git://github.com/openlink/virtuoso-opensource.git + #cd virtuoso-opensource + #git pull origin stable/7 + wget --no-check-certificate -q https://github.com/openlink/virtuoso-opensource/archive/v$VIRTUOSO.zip -O virtuoso-opensource.zip + + unzip -q virtuoso-opensource.zip + mv virtuoso-opensource-$VIRTUOSO virtuoso-opensource + + cd virtuoso-opensource + ./autogen.sh + + # --disable-all-vads: This parameter disables building all the VAD packages (tutorials, demos, etc.). + # --with-readline: This parameter is used so that the system Readline library is used + # --program-transform-name: Both Virtuoso and unixODBC install a program named isql. Use this parameter to rename virtuosos program to isql-v + + ./configure --program-transform-name="s/isql/isql-v/" --with-readline --disable-all-vads |& tee #configure.log + + # Only output error and warnings + make > /dev/null + + # Build tree to start the automated test suite + # make check + + sudo make install + + ## For Virtuoso + #export PATH=$PATH:/usr/local/virtuoso-opensource/bin + + sudo /usr/local/virtuoso-opensource/bin/virtuoso-t -f -c /usr/local/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.ini & + #sudo /usr/local/virtuoso-opensource/bin/virtuoso-t -f & + + sleep 10 + + sudo /usr/local/virtuoso-opensource/bin/isql-v 1111 dba dba $BASE_PATH/tests/travis/virtuoso-sparql-permission.sql +fi + +#@see http://wiki.blazegraph.com/wiki/index.php/NanoSparqlServer +if [ "$BLAZEGRAPH" != "" ] +then + #sudo apt-get install tomcat6 + + #sudo chown $USER -R /var/lib/tomcat6/ + #sudo chmod g+rw -R /var/lib/tomcat6/ + + #sudo mkdir -p /usr/share/tomcat6/.aduna + #sudo chown -R tomcat6:tomcat6 /usr/share/tomcat6 + + # http://sourceforge.net/projects/bigdata/ + #wget http://downloads.sourceforge.net/project/bigdata/bigdata/$BLAZEGRAPH/bigdata.war + + #cp bigdata.war /var/lib/tomcat6/webapps/ + #export JAVA_OPTS="-server -Xmx2g -Dcom.bigdata.rdf.sail.webapp.ConfigParams.propertyFile="$BASE_PATH/tests/travis/blazegraph-store.properties + + #sudo service tomcat6 restart + #sleep 3 + + #Using the jar + # Unreliable sourceforge.net download + # wget http://downloads.sourceforge.net/project/bigdata/bigdata/$BLAZEGRAPH/bigdata-bundled.jar + wget https://github.com/mwjames/travis-support/raw/master/blazegraph/$BLAZEGRAPH/bigdata-bundled.jar + + java -server -Xmx4g -Dbigdata.propertyFile=$BASE_PATH/tests/travis/blazegraph-store.properties -jar bigdata-bundled.jar &>/dev/null & + sleep 5 + + if curl --output /dev/null --silent --head --fail "http://localhost:9999/bigdata" + then + echo "blazegraph service url is reachable" + else + echo "blazegraph service url is not reachable" + exit $E_UNREACHABLE + fi + +fi + +if [ "$ES" != "" ] +then + + # Configure a specific version of Elasticsearch + # See: https://docs.travis-ci.com/user/database-setup/#Installing-ElasticSearch-on-trusty-container-based-infrastructure + + if [[ "$ES" == "5."* ]] + then + + sudo apt-get install oracle-java8-installer + + export JAVA_HOME="/usr/lib/jvm/java-8-oracle"; + export PATH="$PATH:/usr/lib/jvm/java-8-oracle/bin"; + export java_path="/usr/lib/jvm/java-8-oracle/jre/bin/java"; + + wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES}.tar.gz + + tar -xzf elasticsearch-${ES}.tar.gz + fi + + ./elasticsearch-${ES}/bin/elasticsearch &>/dev/null & + + wget -q --waitretry=1 --retry-connrefused -T 10 -O - http://127.0.0.1:9200 +fi |