Browse Source

Merge branch 'python' of https://github.com/rtCamp/easyengine into python

bugfixes
shital.rtcamp 10 years ago
parent
commit
fbf6f8adc1
  1. 2
      .travis.yml
  2. 57
      ee/cli/plugins/debug.py
  3. 82
      ee/cli/plugins/stack.py
  4. 2
      ee/cli/templates/50-user.mustache
  5. 4
      ee/cli/templates/vimbadmin.mustache
  6. 11
      ee/core/apt_repo.py
  7. 16
      ee/core/aptget.py
  8. 22
      ee/core/checkfqdn.py

2
.travis.yml

@ -13,6 +13,8 @@ before_install:
- rm -rf ~/.gnupg - rm -rf ~/.gnupg
before_script: before_script:
- sudo bash -c 'echo example.com > /etc/hostname'
- sudo service hostname restart
- sudo apt-get -qq purge mysql* graphviz* - sudo apt-get -qq purge mysql* graphviz*
- sudo apt-get -qq autoremove - sudo apt-get -qq autoremove

57
ee/cli/plugins/debug.py

@ -6,8 +6,11 @@ from ee.core.shellexec import EEShellExec
from ee.core.mysql import EEMysql from ee.core.mysql import EEMysql
from ee.core.services import EEService from ee.core.services import EEService
from ee.core.logging import Log from ee.core.logging import Log
from ee.cli.plugins.site_functions import logwatch
import os import os
import configparser import configparser
import glob
import signal
def debug_plugin_hook(app): def debug_plugin_hook(app):
@ -70,7 +73,7 @@ class EEDebugController(CementBaseController):
if not self.trigger_nginx: if not self.trigger_nginx:
Log.info(self, "Nginx debug connection already enabled") Log.info(self, "Nginx debug connection already enabled")
self.msg = self.msg + [" /var/log/nginx/*.error.log"] self.msg = self.msg + ["/var/log/nginx/*.error.log"]
# stop global debug # stop global debug
elif not self.start and not self.app.pargs.site_name: elif not self.start and not self.app.pargs.site_name:
@ -99,7 +102,7 @@ class EEDebugController(CementBaseController):
else: else:
Log.info(self, "Debug for site allready enabled") Log.info(self, "Debug for site allready enabled")
self.msg = self.msg + ['/var/www//logs/error.log' self.msg = self.msg + ['/var/www/{0}/logs/error.log'
.format(self.app.pargs.site_name)] .format(self.app.pargs.site_name)]
else: else:
@ -143,6 +146,7 @@ class EEDebugController(CementBaseController):
self.app.render((data), 'upstream.mustache', out=ee_nginx) self.app.render((data), 'upstream.mustache', out=ee_nginx)
ee_nginx.close() ee_nginx.close()
self.trigger_php = True self.trigger_php = True
self.trigger_nginx = True
else: else:
Log.info(self, "PHP debug is allready enabled") Log.info(self, "PHP debug is allready enabled")
@ -161,6 +165,7 @@ class EEDebugController(CementBaseController):
self.app.render((data), 'upstream.mustache', out=ee_nginx) self.app.render((data), 'upstream.mustache', out=ee_nginx)
ee_nginx.close() ee_nginx.close()
self.trigger_php = True self.trigger_php = True
self.trigger_nginx = True
else: else:
Log.info(self, "PHP debug is allready disabled") Log.info(self, "PHP debug is allready disabled")
@ -185,6 +190,7 @@ class EEDebugController(CementBaseController):
Log.info(self, "PHP5-FPM log_level = debug already setup") Log.info(self, "PHP5-FPM log_level = debug already setup")
self.msg = self.msg + ['/var/log/php5/fpm.log'] self.msg = self.msg + ['/var/log/php5/fpm.log']
# PHP5-FPM stop global debug # PHP5-FPM stop global debug
else: else:
if EEShellExec.cmd_exec(self, "grep \"log_level = debug\" " if EEShellExec.cmd_exec(self, "grep \"log_level = debug\" "
@ -280,6 +286,11 @@ class EEDebugController(CementBaseController):
.format(webroot)) .format(webroot))
else: else:
Log.info(self, "WordPress debug log already enabled") Log.info(self, "WordPress debug log already enabled")
self.msg = self.msg + ['/var/www/{0}/htdocs/wp-content'
'/debug.log'
.format(self.app.pargs.site_name)]
else: else:
Log.info(self, "{0} domain not valid" Log.info(self, "{0} domain not valid"
.format(self.app.pargs.site_name)) .format(self.app.pargs.site_name))
@ -374,6 +385,31 @@ class EEDebugController(CementBaseController):
Log.info(self, "Nginx rewrite logs for {0} allready " Log.info(self, "Nginx rewrite logs for {0} allready "
" disabled".format(self.app.pargs.site_name)) " disabled".format(self.app.pargs.site_name))
@expose(hide=True)
def signal_handler(self, signal, frame):
self.start = False
if self.app.pargs.nginx:
self.debug_nginx()
if self.app.pargs.php:
self.debug_php()
if self.app.pargs.fpm:
self.debug_fpm()
if self.app.pargs.mysql:
self.debug_mysql()
if self.app.pargs.wp:
self.debug_wp()
if self.app.pargs.rewrite:
self.debug_rewrite()
# Reload Nginx
if self.trigger_nginx:
EEService.reload_service(self, 'nginx')
# Reload PHP
if self.trigger_php:
EEService.reload_service(self, 'php5-fpm')
self.app.close(0)
@expose(hide=True) @expose(hide=True)
def default(self): def default(self):
self.start = True self.start = True
@ -425,10 +461,19 @@ class EEDebugController(CementBaseController):
# Reload PHP # Reload PHP
if self.trigger_php: if self.trigger_php:
EEService.reload_service(self, 'php5-fpm') EEService.reload_service(self, 'php5-fpm')
#
# if len(self.msg) > 0: if len(self.msg) > 0:
# self.app.log.info("Use following command to check debug logs:" if not self.app.pargs.interactive:
# "\n{0}".format(self.msg.join())) disp_msg = ' '.join(self.msg)
Log.info(self, "Use following command to check debug logs:\n"
+ Log.ENDC + "tail -f {0}".format(disp_msg))
else:
signal.signal(signal.SIGINT, self.signal_handler)
watch_list = []
for w_list in self.msg:
watch_list = watch_list + glob.glob(w_list)
logwatch(self, watch_list)
def load(app): def load(app):

82
ee/cli/plugins/stack.py

@ -12,6 +12,7 @@ from ee.core.extract import EEExtract
from ee.core.mysql import EEMysql from ee.core.mysql import EEMysql
from ee.core.addswap import EESwap from ee.core.addswap import EESwap
from ee.core.git import EEGit from ee.core.git import EEGit
from ee.core.checkfqdn import check_fqdn
from pynginxconfig import NginxConfig from pynginxconfig import NginxConfig
from ee.core.services import EEService from ee.core.services import EEService
import random import random
@ -44,6 +45,8 @@ class EEStackController(CementBaseController):
dict(help='Install admin tools stack', action='store_true')), dict(help='Install admin tools stack', action='store_true')),
(['--mail'], (['--mail'],
dict(help='Install mail server stack', action='store_true')), dict(help='Install mail server stack', action='store_true')),
(['--mailscanner'],
dict(help='Install mail scanner stack', action='store_true')),
(['--nginx'], (['--nginx'],
dict(help='Install Nginx stack', action='store_true')), dict(help='Install Nginx stack', action='store_true')),
(['--php'], (['--php'],
@ -82,7 +85,8 @@ class EEStackController(CementBaseController):
EERepo.add(self, repo_url=EEVariables.ee_mysql_repo) EERepo.add(self, repo_url=EEVariables.ee_mysql_repo)
Log.debug(self, 'Adding key for {0}' Log.debug(self, 'Adding key for {0}'
.format(EEVariables.ee_mysql_repo)) .format(EEVariables.ee_mysql_repo))
EERepo.add_key(self, '1C4CBDCDCD2EFD2A') EERepo.add_key(self, '1C4CBDCDCD2EFD2A',
keyserver="subkeys.pgp.net")
chars = ''.join(random.sample(string.ascii_letters, 8)) chars = ''.join(random.sample(string.ascii_letters, 8))
Log.info(self, "Pre-seeding MySQL") Log.info(self, "Pre-seeding MySQL")
EEShellExec.cmd_exec(self, "echo \"percona-server-server-5.6 " EEShellExec.cmd_exec(self, "echo \"percona-server-server-5.6 "
@ -466,13 +470,26 @@ class EEStackController(CementBaseController):
"/dovecot.pem") "/dovecot.pem")
# Custom Dovecot configuration by EasyEngine # Custom Dovecot configuration by EasyEngine
data = dict() data = dict(email=EEVariables.ee_email)
Log.debug(self, "Writting configuration into file" Log.debug(self, "Writting configuration into file"
"/etc/dovecot/conf.d/99-ee.conf ") "/etc/dovecot/conf.d/99-ee.conf ")
ee_dovecot = open('/etc/dovecot/conf.d/99-ee.conf', 'w') ee_dovecot = open('/etc/dovecot/conf.d/99-ee.conf', 'w')
self.app.render((data), 'dovecot.mustache', out=ee_dovecot) self.app.render((data), 'dovecot.mustache', out=ee_dovecot)
ee_dovecot.close() ee_dovecot.close()
EEShellExec.cmd_exec(self, "sed -i \"s/\\!include "
"auth-system.conf.ext/#\\!include "
"auth-system.conf.ext/\" "
"/etc/dovecot/conf.d/10-auth.conf")
EEShellExec.cmd_exec(self, "sed -i \"s\'/etc/dovecot/"
"dovecot.pem\'/etc/ssl/certs/dovecot.pem"
"\'\" /etc/dovecot/conf.d/10-ssl.conf")
EEShellExec.cmd_exec(self, "sed -i \"s\'/etc/dovecot/"
"private/dovecot.pem\'/etc/ssl/private"
"/dovecot.pem\'\" /etc/dovecot/conf.d/"
"10-ssl.conf")
# Custom Postfix configuration needed with Dovecot # Custom Postfix configuration needed with Dovecot
# Changes in master.cf # Changes in master.cf
# TODO: Find alternative for sed in Python # TODO: Find alternative for sed in Python
@ -514,14 +531,14 @@ class EEStackController(CementBaseController):
"= static:5000\"") "= static:5000\"")
EEShellExec.cmd_exec(self, "postconf -e \"" EEShellExec.cmd_exec(self, "postconf -e \""
" virtual_mailbox_domains = " " virtual_mailbox_domains = "
" mysql:/etc/postfix/mysql/virtual_" "mysql:/etc/postfix/mysql/virtual_"
" domains_maps.cf\"") "domains_maps.cf\"")
EEShellExec.cmd_exec(self, "postconf -e \"virtual_mailbox_maps" EEShellExec.cmd_exec(self, "postconf -e \"virtual_mailbox_maps"
" = mysql:/etc/postfix/mysql/virtual_" " = mysql:/etc/postfix/mysql/virtual_"
"mailbox_maps.cf\"") "mailbox_maps.cf\"")
EEShellExec.cmd_exec(self, "postconf -e \"virtual_alias_maps " EEShellExec.cmd_exec(self, "postconf -e \"virtual_alias_maps "
"= mysql:/etc/postfix/mysql/virtual_" "= mysql:/etc/postfix/mysql/virtual_"
" alias_maps.cf\"") "alias_maps.cf\"")
EEShellExec.cmd_exec(self, "openssl req -new -x509 -days " EEShellExec.cmd_exec(self, "openssl req -new -x509 -days "
" 3650 -nodes -subj /commonName=" " 3650 -nodes -subj /commonName="
"{HOSTNAME}/emailAddress={EMAIL}" "{HOSTNAME}/emailAddress={EMAIL}"
@ -534,7 +551,7 @@ class EEStackController(CementBaseController):
EEShellExec.cmd_exec(self, "postconf -e \"smtpd_tls_cert_file " EEShellExec.cmd_exec(self, "postconf -e \"smtpd_tls_cert_file "
"= /etc/ssl/certs/postfix.pem\"") "= /etc/ssl/certs/postfix.pem\"")
EEShellExec.cmd_exec(self, "postconf -e \"smtpd_tls_key_file " EEShellExec.cmd_exec(self, "postconf -e \"smtpd_tls_key_file "
" = /etc/ssl/private/postfix.pem\"") "= /etc/ssl/private/postfix.pem\"")
# Sieve configuration # Sieve configuration
if not os.path.exists('/var/lib/dovecot/sieve/'): if not os.path.exists('/var/lib/dovecot/sieve/'):
@ -561,7 +578,7 @@ class EEStackController(CementBaseController):
"default.sieve") "default.sieve")
EEGit.add(self, ["/etc/postfix", "/etc/dovecot"], EEGit.add(self, ["/etc/postfix", "/etc/dovecot"],
msg="Installed mail server") msg="Installed mail server")
EEService.reload_service(self, 'dovecot') EEService.restart_service(self, 'dovecot')
EEService.reload_service(self, 'postfix') EEService.reload_service(self, 'postfix')
if set(EEVariables.ee_mailscanner).issubset(set(apt_packages)): if set(EEVariables.ee_mailscanner).issubset(set(apt_packages)):
@ -575,6 +592,20 @@ class EEStackController(CementBaseController):
out=ee_amavis) out=ee_amavis)
ee_amavis.close() ee_amavis.close()
# Amavis ViMbadmin configuration
if os.path.isfile("/etc/postfix/mysql/virtual_alias_maps.cf"):
vm_host = os.popen("grep hosts /etc/postfix/mysql/virtual_"
"alias_maps.cf | awk \'{ print $3 }\' |"
" tr -d '\\n'").read()
vm_pass = os.popen("grep password /etc/postfix/mysql/"
"virtual_alias_maps.cf | awk \'{ print "
"$3 }\' | tr -d '\\n'").read()
data = dict(host=vm_host, password=vm_pass)
vm_config = open('/etc/amavis/conf.d/50-user', 'w')
self.app.render((data), '50-user.mustache', out=vm_config)
vm_config.close()
# Amavis postfix configuration # Amavis postfix configuration
EEShellExec.cmd_exec(self, "postconf -e \"content_filter = " EEShellExec.cmd_exec(self, "postconf -e \"content_filter = "
"smtp-amavis:[127.0.0.1]:10024\"") "smtp-amavis:[127.0.0.1]:10024\"")
@ -598,7 +629,7 @@ class EEStackController(CementBaseController):
Log.debug(self, "Restarting clamav-daemon service") Log.debug(self, "Restarting clamav-daemon service")
EEShellExec.cmd_exec(self, "service clamav-daemon restart") EEShellExec.cmd_exec(self, "service clamav-daemon restart")
EEGit.add(self, ["/etc/amavis"], msg="Adding Amvis into Git") EEGit.add(self, ["/etc/amavis"], msg="Adding Amvis into Git")
EEService.reload_service(self, 'dovecot') EEService.restart_service(self, 'dovecot')
EEService.reload_service(self, 'postfix') EEService.reload_service(self, 'postfix')
EEService.reload_service(self, 'amavis') EEService.reload_service(self, 'amavis')
@ -776,7 +807,13 @@ class EEStackController(CementBaseController):
Log.debug(self, "Creating directory " Log.debug(self, "Creating directory "
"/etc/postfix/mysql/") "/etc/postfix/mysql/")
os.makedirs('/etc/postfix/mysql/') os.makedirs('/etc/postfix/mysql/')
data = dict(password=vm_passwd, host=EEVariables.ee_mysql)
if EEVariables.ee_mysql_host is "localhost":
data = dict(password=vm_passwd, host="127.0.0.1")
else:
data = dict(password=vm_passwd,
host=EEVariables.ee_mysql_host)
vm_config = open('/etc/postfix/mysql/virtual_alias_maps.cf', vm_config = open('/etc/postfix/mysql/virtual_alias_maps.cf',
'w') 'w')
self.app.render((data), 'virtual_alias_maps.mustache', self.app.render((data), 'virtual_alias_maps.mustache',
@ -817,7 +854,7 @@ class EEStackController(CementBaseController):
self.app.render((data), '50-user.mustache', self.app.render((data), '50-user.mustache',
out=vm_config) out=vm_config)
vm_config.close() vm_config.close()
EEService.reload_service(self, 'dovecot') EEService.restart_service(self, 'dovecot')
EEService.reload_service(self, 'nginx') EEService.reload_service(self, 'nginx')
EEService.reload_service(self, 'php5-fpm') EEService.reload_service(self, 'php5-fpm')
self.msg = (self.msg + ["Configure ViMbAdmin:\thttps://{0}:" self.msg = (self.msg + ["Configure ViMbAdmin:\thttps://{0}:"
@ -870,8 +907,8 @@ class EEStackController(CementBaseController):
EEShellExec.cmd_exec(self, "bash -c \"sed -i \\\"s:\$config\[" EEShellExec.cmd_exec(self, "bash -c \"sed -i \\\"s:\$config\["
"\'plugins\'\] " "\'plugins\'\] "
"= array(:\$config\['plugins'\] = " "= array(:\$config\['plugins'\] = "
"array(\n\'sieverules\',:\\\" /var/www" "array(\\n \'sieverules\',:\\\" "
"/roundcubemail/htdocs/config" "/var/www/roundcubemail/htdocs/config"
"/config.inc.php\"") "/config.inc.php\"")
EEShellExec.cmd_exec(self, "echo \"\$config['sieverules_port']" EEShellExec.cmd_exec(self, "echo \"\$config['sieverules_port']"
"=4190;\" >> /var/www/roundcubemail" "=4190;\" >> /var/www/roundcubemail"
@ -929,7 +966,8 @@ class EEStackController(CementBaseController):
(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.adminer) and (not self.app.pargs.utils)): (not self.app.pargs.adminer) and (not self.app.pargs.utils) and
(not self.app.pargs.mailscanner)):
self.app.pargs.web = True self.app.pargs.web = True
if self.app.pargs.web: if self.app.pargs.web:
@ -956,6 +994,8 @@ class EEStackController(CementBaseController):
self.app.pargs.postfix = True self.app.pargs.postfix = True
if not EEAptGet.is_installed(self, 'dovecot-core'): if not EEAptGet.is_installed(self, 'dovecot-core'):
check_fqdn(self,
os.popen("hostname -f | tr -d '\n'").read())
Log.debug(self, "Setting apt_packages variable for mail") Log.debug(self, "Setting apt_packages variable for mail")
apt_packages = apt_packages + EEVariables.ee_mail apt_packages = apt_packages + EEVariables.ee_mail
packages = packages + [["https://github.com/opensolutions/" packages = packages + [["https://github.com/opensolutions/"
@ -971,8 +1011,11 @@ class EEStackController(CementBaseController):
"Roundcube"]] "Roundcube"]]
if EEVariables.ee_ram > 1024: if EEVariables.ee_ram > 1024:
apt_packages = (apt_packages + self.app.pargs.mailscanner = True
EEVariables.ee_mailscanner) else:
Log.info(self, "System RAM is less than 1GB\nMail "
"scanner packages are not going to install"
" automatically")
else: else:
Log.info(self, "Mail server is already installed") Log.info(self, "Mail server is already installed")
@ -1031,6 +1074,9 @@ class EEStackController(CementBaseController):
"htdocs/db/adminer/index.php", "htdocs/db/adminer/index.php",
"Adminer"]] "Adminer"]]
if self.app.pargs.mailscanner:
apt_packages = (apt_packages + EEVariables.ee_mailscanner)
if self.app.pargs.utils: if self.app.pargs.utils:
Log.debug(self, "Setting packages variable for utils") Log.debug(self, "Setting packages variable for utils")
packages = packages + [["http://phpmemcacheadmin.googlecode" packages = packages + [["http://phpmemcacheadmin.googlecode"
@ -1130,6 +1176,9 @@ class EEStackController(CementBaseController):
EEMysql.execute(self, "drop database IF EXISTS vimbadmin") EEMysql.execute(self, "drop database IF EXISTS vimbadmin")
EEMysql.execute(self, "drop database IF EXISTS roundcubemail") EEMysql.execute(self, "drop database IF EXISTS roundcubemail")
if self.app.pargs.mailscanner:
apt_packages = (apt_packages + EEVariables.ee_mailscanner)
if self.app.pargs.nginx: if self.app.pargs.nginx:
Log.debug(self, "Removing apt_packages variable of Nginx") Log.debug(self, "Removing apt_packages variable of Nginx")
apt_packages = apt_packages + EEVariables.ee_nginx apt_packages = apt_packages + EEVariables.ee_nginx
@ -1206,6 +1255,9 @@ class EEStackController(CementBaseController):
EEMysql.execute(self, "drop database IF EXISTS vimbadmin") EEMysql.execute(self, "drop database IF EXISTS vimbadmin")
EEMysql.execute(self, "drop database IF EXISTS roundcubemail") EEMysql.execute(self, "drop database IF EXISTS roundcubemail")
if self.app.pargs.mailscanner:
apt_packages = (apt_packages + EEVariables.ee_mailscanner)
if self.app.pargs.nginx: if self.app.pargs.nginx:
Log.debug(self, "Purge apt_packages variable of Nginx") Log.debug(self, "Purge apt_packages variable of Nginx")
apt_packages = apt_packages + EEVariables.ee_nginx apt_packages = apt_packages + EEVariables.ee_nginx

2
ee/cli/templates/50-user.mustache

@ -8,7 +8,7 @@ $final_spam_destiny = D_PASS;
# We need to provide list of domains for which filtering need to be done # We need to provide list of domains for which filtering need to be done
@lookup_sql_dsn = ( @lookup_sql_dsn = (
['DBI:mysql:database=vimbadmin;host=127.0.0.1;port=3306', ['DBI:mysql:database=vimbadmin;host={{host}};port=3306',
'vimbadmin', 'vimbadmin',
'{{password}}']); '{{password}}']);

4
ee/cli/templates/vimbadmin.mustache

@ -1,5 +1,5 @@
;; This file is licenesed Under GNU GENERAL PUBLIC LICENSE Version 3 ;; This file is licenesed Under GNU GENERAL PUBLIC LICENSE Version 3
;; © Copyright 2011 - 2014 Open Source Solutions Limited, Dublin, Ireland. ;; © Copyright 2011 - 2014 Open Source Solutions Limited, Dublin, Ireland.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; ViMbAdmin :: Virtual Mailbox Admin ;; ViMbAdmin :: Virtual Mailbox Admin
@ -129,7 +129,7 @@ defaults.mailbox.gid = 5000
; ;
; http://wiki2.dovecot.org/VirtualUsers/Home ; http://wiki2.dovecot.org/VirtualUsers/Home
defaults.mailbox.maildir = "maildir:/var/vmail/%d/%u"" defaults.mailbox.maildir = "maildir:/var/vmail/%d/%u"
defaults.mailbox.homedir = "/var/vmail/" defaults.mailbox.homedir = "/var/vmail/"
;minimum mailbox password length ;minimum mailbox password length

11
ee/core/apt_repo.py

@ -48,11 +48,12 @@ class EERepo():
"--remove '{ppa_name}'" "--remove '{ppa_name}'"
.format(ppa_name=repo_url)) .format(ppa_name=repo_url))
def add_key(keyids, keyserver=None): def add_key(self, keyids, keyserver=None):
if keyserver is None: if keyserver is None:
EEShellExec.cmd_exec("gpg --keyserver {serv}" EEShellExec.cmd_exec(self, "gpg --keyserver {serv}"
.format(serv=(keyserver .format(serv=(keyserver or
or "hkp://keys.gnupg.net")) "hkp://keys.gnupg.net"))
+ " --recv-keys {key}".format(key=keyids)) + " --recv-keys {key}".format(key=keyids))
EEShellExec.cmd_exec("gpg -a --export --armor {0}".format(keyids) EEShellExec.cmd_exec(self, "gpg -a --export --armor {0}"
.format(keyids)
+ " | apt-key add - ") + " | apt-key add - ")

16
ee/core/aptget.py

@ -50,15 +50,25 @@ class EEAptGet():
#apt_cache.close() #apt_cache.close()
return False return False
else: else:
pkg.mark_install() try:
print(pkg.name)
pkg.mark_install()
except Exception as e:
Log.debug(self, str(e))
Log.error(self, str(e))
try: try:
#apt_pkg.PkgSystemUnLock() #apt_pkg.PkgSystemUnLock()
result = apt_cache.commit() result = apt_cache.commit()
#apt_cache.close() #apt_cache.close()
return result return result
except SystemError as e: except SystemError as e:
Log.debug(self, 'SystemError: ' + str(e))
Log.error(self, 'SystemError: ' + str(e)) Log.error(self, 'SystemError: ' + str(e))
#apt_cache.close() #apt_cache.close()
except Exception as e:
Log.debug(self, str(e))
Log.error(self, str(e))
else: else:
#apt_cache.close() #apt_cache.close()
Log.error(self, 'Unknown package selected (' + Log.error(self, 'Unknown package selected (' +
@ -85,6 +95,7 @@ class EEAptGet():
return False return False
else: else:
try: try:
print(pkg.name)
pkg.mark_delete(purge) pkg.mark_delete(purge)
except SystemError as e: except SystemError as e:
Log.debug(self, 'SystemError: ' + str(e)) Log.debug(self, 'SystemError: ' + str(e))
@ -97,6 +108,9 @@ class EEAptGet():
except SystemError as e: except SystemError as e:
Log.debug(self, 'SystemError: ' + str(e)) Log.debug(self, 'SystemError: ' + str(e))
return False return False
except Exception as e:
Log.debug(self, str(e))
Log.error(self, str(e))
# apt_cache.close() # apt_cache.close()
else: else:
# apt_cache.close() # apt_cache.close()

22
ee/core/checkfqdn.py

@ -0,0 +1,22 @@
from ee.core.shellexec import EEShellExec
from ee.core.variables import EEVariables
import os
def check_fqdn(self, ee_host):
#ee_host=os.popen("hostname -f | tr -d '\n'").read()
if '.' in ee_host:
EEVariables.ee_fqdn = ee_host
with open('/etc/hostname', 'w') as hostfile:
hostfile.write(ee_host)
EEShellExec.cmd_exec(self, "sed -i \"1i\\127.0.0.1 {0}\" /etc/hosts"
.format(ee_host))
if EEVariables.ee_platform_distro == 'debian':
EEShellExec.cmd_exec(self, "/etc/init.d/hostname.sh start")
else:
EEShellExec.cmd_exec(self, "service hostname restart")
else:
ee_host = input("Enter hostname [fqdn]:")
check_fqdn(self, ee_host)
Loading…
Cancel
Save