2 commits - pykolab/setup
Jeroen van Meeuwen
vanmeeuwen at kolabsys.com
Fri Oct 5 17:04:36 CEST 2012
pykolab/setup/setup_mta.py | 47 ++++++++++++++++++++++++++-------------------
pykolab/setup/setup_php.py | 28 ++++++++++++++++++++++++--
2 files changed, 54 insertions(+), 21 deletions(-)
New commits:
commit 62d644556aceaf3eca504800adc97a702997df1e
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Fri Oct 5 16:02:47 2012 +0100
Allow the specification of a php.ini location, and attempt the two known locations (#1084)
diff --git a/pykolab/setup/setup_php.py b/pykolab/setup/setup_php.py
index 1d06b74..54915a5 100644
--- a/pykolab/setup/setup_php.py
+++ b/pykolab/setup/setup_php.py
@@ -49,6 +49,14 @@ def cli_options():
help = _("Specify the timezone for PHP.")
)
+ php_group.add_option(
+ "--with-php-ini",
+ dest = "php_ini_path",
+ action = "store",
+ default = None,
+ help = _("Specify the path to the php.ini file used with the webserver.")
+ )
+
def description():
return _("Setup PHP.")
@@ -67,15 +75,31 @@ def execute(*args, **kw):
default="UTC"
)
+ if not conf.php_ini_path == None:
+ if not os.path.isfile(conf.php_ini_path):
+ log.error(_("Cannot configure PHP through %r (No such file or directory)") % (conf.php_ini_path))
+ return
+ php_ini = conf.php_ini_path
+
+ else:
+ # Search and destroy
+ php_ini = "/etc/php.ini"
+ if not os.path.isfile(php_ini):
+ php_ini = "/etc/php5/apache2/php.ini"
+
+ if not os.path.isfile(php_ini):
+ log.error(_("Could not find PHP configuration file php.ini"))
+ return
+
myaugeas = Augeas()
- setting_base = '/files/etc/php.ini/'
+ setting_base = '/files%s/' % (php_ini)
setting = os.path.join(setting_base, 'Date', 'date.timezone')
current_value = myaugeas.get(setting)
if current_value == None:
- insert_paths = myaugeas.match('/files/etc/php.ini/Date/*')
+ insert_paths = myaugeas.match('/files%s/Date/*' % (php_ini))
insert_path = insert_paths[(len(insert_paths)-1)]
myaugeas.insert(insert_path, 'date.timezone', False)
commit 5fb311256b22d9ae05d9398de1ae706d996a8fb3
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Fri Oct 5 15:51:46 2012 +0100
Skip Amavis configuration if no file /etc/amavisd/amavisd.conf exists
diff --git a/pykolab/setup/setup_mta.py b/pykolab/setup/setup_mta.py
index f9202d3..e6a019c 100644
--- a/pykolab/setup/setup_mta.py
+++ b/pykolab/setup/setup_mta.py
@@ -266,26 +266,35 @@ result_attribute = mail
template_file = None
- if os.path.isfile('/etc/kolab/templates/amavisd.conf.tpl'):
- template_file = '/etc/kolab/templates/amavisd.conf.tpl'
- elif os.path.isfile('/usr/share/kolab/templates/amavisd.conf.tpl'):
- template_file = '/usr/share/kolab/templates/amavisd.conf.tpl'
- elif os.path.isfile(os.path.abspath(os.path.join(__file__, '..', '..', '..', 'share', 'templates', 'amavisd.conf.tpl'))):
- template_file = os.path.abspath(os.path.join(__file__, '..', '..', '..', 'share', 'templates', 'amavisd.conf.tpl'))
-
- if not template_file == None:
- fp = open(template_file, 'r')
- template_definition = fp.read()
- fp.close()
-
- t = Template(template_definition, searchList=[amavisd_settings])
- fp = open('/etc/amavisd/amavisd.conf', 'w')
- fp.write(t.__str__())
- fp.close()
-
+ # On RPM installations, Amavis configuration is contained within a single file.
+ if os.path.isfile("/etc/amavsid/amavisd.conf"):
+ if os.path.isfile('/etc/kolab/templates/amavisd.conf.tpl'):
+ template_file = '/etc/kolab/templates/amavisd.conf.tpl'
+ elif os.path.isfile('/usr/share/kolab/templates/amavisd.conf.tpl'):
+ template_file = '/usr/share/kolab/templates/amavisd.conf.tpl'
+ elif os.path.isfile(os.path.abspath(os.path.join(__file__, '..', '..', '..', 'share', 'templates', 'amavisd.conf.tpl'))):
+ template_file = os.path.abspath(os.path.join(__file__, '..', '..', '..', 'share', 'templates', 'amavisd.conf.tpl'))
+
+ if not template_file == None:
+ fp = open(template_file, 'r')
+ template_definition = fp.read()
+ fp.close()
+
+ t = Template(template_definition, searchList=[amavisd_settings])
+ fp = open('/etc/amavisd/amavisd.conf', 'w')
+ fp.write(t.__str__())
+ fp.close()
+
+ else:
+ log.error(_("Could not write out Amavis configuration file /etc/amavisd/amavisd.conf"))
+ return
+
+ # On APT installations, /etc/amavis/conf.d/ is a directory with many more files.
+ #
+ # Somebody could work on enhancement request #1080 to configure LDAP lookups,
+ # while really it isn't required.
else:
- log.error(_("Could not write out Amavis configuration file /etc/amavisd/amavisd.conf"))
- return
+ log.info(_("Not writing out any configuration for Amavis."))
if os.path.isfile('/bin/systemctl'):
subprocess.call(['systemctl', 'restart', 'postfix.service'])
More information about the commits
mailing list