Browse Source

Added HHVM installation

bugfixes
gau1991 10 years ago
parent
commit
afbcc15191
  1. 41
      ee/cli/plugins/stack.py
  2. 14
      ee/core/variables.py

41
ee/cli/plugins/stack.py

@ -58,6 +58,8 @@ class EEStackController(CementBaseController):
dict(help='Install PHP stack', action='store_true')), dict(help='Install PHP stack', action='store_true')),
(['--mysql'], (['--mysql'],
dict(help='Install MySQL stack', action='store_true')), dict(help='Install MySQL stack', action='store_true')),
(['--hhvm'],
dict(help='Install HHVM stack', action='store_true')),
(['--postfix'], (['--postfix'],
dict(help='Install Postfix stack', action='store_true')), dict(help='Install Postfix stack', action='store_true')),
(['--wpcli'], (['--wpcli'],
@ -151,6 +153,16 @@ class EEStackController(CementBaseController):
Log.debug(self, 'Adding ppa for PHP') Log.debug(self, 'Adding ppa for PHP')
EERepo.add(self, ppa=EEVariables.ee_php_repo) EERepo.add(self, ppa=EEVariables.ee_php_repo)
if set(EEVariables.ee_hhvm).issubset(set(apt_packages)):
Log.info(self, "Adding repository for HHVM, please wait ...")
if EEVariables.ee_platform_codename == 'precise':
Log.debug(self, 'Adding PPA for Boost')
EERepo.add(self, ppa_url=EEVariables.ee_boost_repo)
Log.debug(self, 'Adding ppa repo for HHVM')
EERepo.add(self, repo_url=EEVariables.ee_hhvm_repo)
Log.debug(self, 'Adding HHVM GPG Key')
EERepo.add_key(self, '0x5a16e7281be7a449')
if set(EEVariables.ee_mail).issubset(set(apt_packages)): if set(EEVariables.ee_mail).issubset(set(apt_packages)):
if EEVariables.ee_platform_codename == 'squeeze': if EEVariables.ee_platform_codename == 'squeeze':
Log.info(self, "Adding repository for dovecot, " Log.info(self, "Adding repository for dovecot, "
@ -1144,7 +1156,8 @@ class EEStackController(CementBaseController):
(not self.app.pargs.mail) and (not self.app.pargs.nginx) and (not self.app.pargs.mail) and (not self.app.pargs.nginx) and
(not self.app.pargs.php) and (not self.app.pargs.mysql) and (not self.app.pargs.php) and (not self.app.pargs.mysql) and
(not self.app.pargs.postfix) and (not self.app.pargs.wpcli) and (not self.app.pargs.postfix) and (not self.app.pargs.wpcli) and
(not self.app.pargs.phpmyadmin) and (not self.app.pargs.phpmyadmin) and (not self.app.pargs.hhvm)
and
(not self.app.pargs.adminer) and (not self.app.pargs.utils) and (not self.app.pargs.adminer) and (not self.app.pargs.utils) and
(not self.app.pargs.mailscanner) and (not self.app.pargs.all)): (not self.app.pargs.mailscanner) and (not self.app.pargs.all)):
self.app.pargs.web = True self.app.pargs.web = True
@ -1156,13 +1169,12 @@ class EEStackController(CementBaseController):
self.app.pargs.mail = True self.app.pargs.mail = True
if self.app.pargs.web: if self.app.pargs.web:
Log.debug(self, "Setting apt_packages variable for Nginx ,PHP"
" ,MySQL ")
self.app.pargs.nginx = True self.app.pargs.nginx = True
self.app.pargs.php = True self.app.pargs.php = True
self.app.pargs.mysql = True self.app.pargs.mysql = True
self.app.pargs.wpcli = True self.app.pargs.wpcli = True
self.app.pargs.postfix = True self.app.pargs.postfix = True
self.app.pargs.hhvm = True
if self.app.pargs.admin: if self.app.pargs.admin:
self.app.pargs.nginx = True self.app.pargs.nginx = True
@ -1218,6 +1230,15 @@ class EEStackController(CementBaseController):
else: else:
Log.debug(self, "PHP already installed") Log.debug(self, "PHP already installed")
Log.info(self, "PHP already installed") Log.info(self, "PHP already installed")
if self.app.pargs.hhvm:
Log.debug(self, "Setting apt packages variable for HHVM")
if not EEAptGet.is_installed(self, 'hhvm'):
apt_packages = apt_packages + EEVariables.ee_hhvm
else:
Log.debug(self, "HHVM already installed")
Log.info(self, "HHVM already installed")
if self.app.pargs.mysql: if self.app.pargs.mysql:
Log.debug(self, "Setting apt_packages variable for MySQL") Log.debug(self, "Setting apt_packages variable for MySQL")
if not EEShellExec.cmd_exec(self, "mysqladmin ping"): if not EEShellExec.cmd_exec(self, "mysqladmin ping"):
@ -1353,7 +1374,7 @@ class EEStackController(CementBaseController):
(not self.app.pargs.mail) and (not self.app.pargs.nginx) and (not self.app.pargs.mail) and (not self.app.pargs.nginx) and
(not self.app.pargs.php) and (not self.app.pargs.mysql) and (not self.app.pargs.php) and (not self.app.pargs.mysql) and
(not self.app.pargs.postfix) and (not self.app.pargs.wpcli) and (not self.app.pargs.postfix) and (not self.app.pargs.wpcli) and
(not self.app.pargs.phpmyadmin) and (not self.app.pargs.phpmyadmin) and (not self.app.pargs.hhvm) and
(not self.app.pargs.adminer) and (not self.app.pargs.utils) and (not self.app.pargs.adminer) and (not self.app.pargs.utils) and
(not self.app.pargs.mailscanner) and (not self.app.pargs.all)): (not self.app.pargs.mailscanner) and (not self.app.pargs.all)):
self.app.pargs.web = True self.app.pargs.web = True
@ -1367,6 +1388,7 @@ class EEStackController(CementBaseController):
if self.app.pargs.web: if self.app.pargs.web:
self.app.pargs.nginx = True self.app.pargs.nginx = True
self.app.pargs.php = True self.app.pargs.php = True
self.app.pargs.hhvm = True
self.app.pargs.mysql = True self.app.pargs.mysql = True
self.app.pargs.wpcli = True self.app.pargs.wpcli = True
self.app.pargs.postfix = True self.app.pargs.postfix = True
@ -1397,6 +1419,11 @@ class EEStackController(CementBaseController):
if self.app.pargs.php: if self.app.pargs.php:
Log.debug(self, "Removing apt_packages variable of PHP") Log.debug(self, "Removing apt_packages variable of PHP")
apt_packages = apt_packages + EEVariables.ee_php apt_packages = apt_packages + EEVariables.ee_php
if self.app.pargs.hhvm:
Log.debug(self, "Removing apt_packages varible of HHVM")
apt_packages = apt_packages + EEVariables.ee_hhvm
if self.app.pargs.mysql: if self.app.pargs.mysql:
Log.debug(self, "Removing apt_packages variable of MySQL") Log.debug(self, "Removing apt_packages variable of MySQL")
apt_packages = apt_packages + EEVariables.ee_mysql apt_packages = apt_packages + EEVariables.ee_mysql
@ -1449,7 +1476,7 @@ class EEStackController(CementBaseController):
(not self.app.pargs.mail) and (not self.app.pargs.nginx) and (not self.app.pargs.mail) and (not self.app.pargs.nginx) and
(not self.app.pargs.php) and (not self.app.pargs.mysql) and (not self.app.pargs.php) and (not self.app.pargs.mysql) and
(not self.app.pargs.postfix) and (not self.app.pargs.wpcli) and (not self.app.pargs.postfix) and (not self.app.pargs.wpcli) and
(not self.app.pargs.phpmyadmin) and (not self.app.pargs.phpmyadmin) and (not self.app.pargs.hhvm) and
(not self.app.pargs.adminer) and (not self.app.pargs.utils) and (not self.app.pargs.adminer) and (not self.app.pargs.utils) and
(not self.app.pargs.mailscanner) and (not self.app.pargs.all)): (not self.app.pargs.mailscanner) and (not self.app.pargs.all)):
self.app.pargs.web = True self.app.pargs.web = True
@ -1466,6 +1493,7 @@ class EEStackController(CementBaseController):
self.app.pargs.mysql = True self.app.pargs.mysql = True
self.app.pargs.wpcli = True self.app.pargs.wpcli = True
self.app.pargs.postfix = True self.app.pargs.postfix = True
self.app.pargs.hhvm = True
if self.app.pargs.admin: if self.app.pargs.admin:
self.app.pargs.adminer = True self.app.pargs.adminer = True
@ -1493,6 +1521,9 @@ class EEStackController(CementBaseController):
if self.app.pargs.php: if self.app.pargs.php:
Log.debug(self, "Purge apt_packages variable PHP") Log.debug(self, "Purge apt_packages variable PHP")
apt_packages = apt_packages + EEVariables.ee_php apt_packages = apt_packages + EEVariables.ee_php
if self.app.pargs.hhvm:
Log.debug(self, "Removing apt_packages varible of HHVM")
apt_packages = apt_packages + EEVariables.ee_hhvm
if self.app.pargs.mysql: if self.app.pargs.mysql:
Log.debug(self, "Purge apt_packages variable MySQL") Log.debug(self, "Purge apt_packages variable MySQL")
apt_packages = apt_packages + EEVariables.ee_mysql apt_packages = apt_packages + EEVariables.ee_mysql

14
ee/core/variables.py

@ -116,6 +116,20 @@ class EEVariables():
"arj", "zoo", "nomarch", "lzop", "cabextract", "p7zip", "arj", "zoo", "nomarch", "lzop", "cabextract", "p7zip",
"rpm", "unrar-free"] "rpm", "unrar-free"]
# HHVM repo details
# 12.04 requires boot repository
if ee_platform_distro == 'Ubuntu':
if ee_platform_codename == "precise":
ee_boost_repo = ("ppa:mapnik/boost")
ee_hhvm_repo = ("deb http://dl.hhvm.com/ubuntu {codename} main"
.format(codename=ee_platform_codename))
else:
ee_hhvm_repo = ("deb http://dl.hhvm.com/debian {codename} main"
.format(codename=ee_platform_codename))
ee_hhvm = ["hhvm"]
# Repo path # Repo path
ee_repo_file = "ee-repo.list" ee_repo_file = "ee-repo.list"
ee_repo_file_path = ("/etc/apt/sources.list.d/" + ee_repo_file) ee_repo_file_path = ("/etc/apt/sources.list.d/" + ee_repo_file)

Loading…
Cancel
Save