Browse Source

Improve HHVM

Hamilton Turner 11 years ago
parent
commit
c2215b8008

+ 7 - 0
frameworks/PHP/hhvm/bash_profile.sh

@@ -0,0 +1,7 @@
+#!/bin/bash
+
+export PHP_HOME=${IROOT}/php-5.4.13
+
+export PHP_FPM=$PHP_HOME/sbin/php-fpm
+
+export PATH="$PHP_HOME/bin:$PHP_HOME/sbin:$PATH"

+ 6 - 10
frameworks/PHP/hhvm/setup.py

@@ -2,23 +2,19 @@
 import subprocess
 import subprocess
 import setup_util
 import setup_util
 import os
 import os
-from os.path import expanduser
-
-home = expanduser("~")
 
 
 def start(args, logfile, errfile):
 def start(args, logfile, errfile):
   setup_util.replace_text("hhvm/once.php.inc", "host=localhost;", "host=" + args.database_host + ";")
   setup_util.replace_text("hhvm/once.php.inc", "host=localhost;", "host=" + args.database_host + ";")
-  setup_util.replace_text("hhvm/deploy/config.hdf", "SourceRoot = .*\/FrameworkBenchmarks", "SourceRoot = " + home + "/FrameworkBenchmarks")
-  setup_util.replace_text("hhvm/deploy/config.hdf", "Path = .*\/.hhvm.hhbc", "Path = " + home + "/FrameworkBenchmarks/hhvm/.hhvm.bbhc")
-  setup_util.replace_text("hhvm/deploy/config.hdf", "PidFile = .*\/hhvm.pid", "PidFile = " + home + "/FrameworkBenchmarks/hhvm/hhvm.pid")
-  setup_util.replace_text("hhvm/deploy/config.hdf", "File = .*\/error.log", "File = " + home + "/FrameworkBenchmarks/hhvm/error.log")
-
+  setup_util.replace_text("hhvm/deploy/config.hdf", "SourceRoot = .*\/FrameworkBenchmarks/hhvm", "SourceRoot = " + args.troot)
+  setup_util.replace_text("hhvm/deploy/config.hdf", "Path = .*\/.hhvm.hhbc", "Path = " + args.troot "/.hhvm.bbhc")
+  setup_util.replace_text("hhvm/deploy/config.hdf", "PidFile = .*\/hhvm.pid", "PidFile = " + args.troot + "/hhvm.pid")
+  setup_util.replace_text("hhvm/deploy/config.hdf", "File = .*\/error.log", "File = " + args.troot + "/error.log")
 
 
   try:
   try:
     if os.name == 'nt':
     if os.name == 'nt':
       # Not supported !
       # Not supported !
       return 0
       return 0
-    subprocess.check_call("hhvm --config " + home + "/FrameworkBenchmarks/hhvm/deploy/config.hdf -m daemon", shell=True, stderr=errfile, stdout=logfile)
+    subprocess.check_call("hhvm --config $TROOT/deploy/config.hdf -m daemon", shell=True, stderr=errfile, stdout=logfile)
     return 0
     return 0
   except subprocess.CalledProcessError:
   except subprocess.CalledProcessError:
     return 1
     return 1
@@ -30,7 +26,7 @@ def stop(logfile, errfile):
     p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
     p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
     out, err = p.communicate()
     out, err = p.communicate()
     for line in out.splitlines():
     for line in out.splitlines():
-      if 'hhvm' in line and 'toolset' not in line:
+      if 'hhvm' in line and 'toolset' not in line and 'run-ci' not in line and 'run-tests' not in line:
         pid = int(line.split(None,2)[1])
         pid = int(line.split(None,2)[1])
         os.kill(pid,15)
         os.kill(pid,15)
     return 0
     return 0

+ 3 - 1
toolset/setup/linux/languages/hhvm.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 #!/bin/bash
 
 
-RETCODE=$(fw_exists /usr/bin/hhvm)
+RETCODE=$(fw_exists hhvm.installed)
 [ ! "$RETCODE" == 0 ] || { return 0; }
 [ ! "$RETCODE" == 0 ] || { return 0; }
 
 
 sudo add-apt-repository -y ppa:mapnik/v2.2.0
 sudo add-apt-repository -y ppa:mapnik/v2.2.0
@@ -8,3 +8,5 @@ wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add -
 echo deb http://dl.hhvm.com/ubuntu `lsb_release -sc` main | sudo tee /etc/apt/sources.list.d/hhvm.list
 echo deb http://dl.hhvm.com/ubuntu `lsb_release -sc` main | sudo tee /etc/apt/sources.list.d/hhvm.list
 sudo apt-get update
 sudo apt-get update
 sudo apt-get install -y hhvm
 sudo apt-get install -y hhvm
+
+touch hhvm.installed