INSTALL: Adapted pgsql configuration steps to that in the wiki.
(Closes: #2922030)
#!/usr/bin/env python# -*- coding: UTF-8 -*-# Copyright (c) 2008 - 2010, Pascal Volk# See COPYING for distribution information.importosos.sys.path.remove(os.sys.path[0])fromtimeimporttimefromConfigParserimportConfigParserfromshutilimportcopy2fromVirtualMailManager.constants.VERSIONimportVERSIONdefget_config_file():f=Nonefordin('/root','/usr/local/etc','/etc'):tmp=os.path.join(d,'vmm.cfg')ifos.path.isfile(tmp):f=tmpbreakiff:returnfelse:os.sys.stderr.write('error: vmm.cfg not found\n')os.sys.exit(2)defupdate(cp):ifVERSION=='0.4':upd_040(cp)elifVERSION=='0.5':upd_050(cp)elifVERSION=='0.5.1':upd_051(cp)elifVERSION=='0.5.2':os.sys.stdout.write('info: nothing to do for version %s\n'%VERSION)os.sys.exit(0)else:os.sys.stderr.write('error: the version %s is not supported by this script\n'%VERSION)os.sys.exit(3)defget_cfg_parser(cf):fh=file(cf,'r')cp=ConfigParser()cp.readfp(fh)fh.close()returncpdefupdate_cfg_file(cp,cf):copy2(cf,cf+'.bak.'+str(time()))fh=file(cf,'w')cp.write(fh)fh.close()defupd_040(cp):ifnotcp.has_option('maildir','name')ornotcp.has_option('maildir','folders')orcp.has_option('maildir','folder'):ifnotcp.has_option('maildir','name'):ifcp.has_option('maildir','folder'):cp.set('maildir','name',cp.get('maildir','folder'))cp.remove_option('maildir','folder')sect_opt.append(('maildir','name'))else:cp.set('maildir','name','Maildir')sect_opt.append(('maildir','name'))ifnotcp.has_option('maildir','folders'):cp.set('maildir','folders','Drafts:Sent:Templates:Trash')sect_opt.append(('maildir','folders'))ifcp.has_option('maildir','folder'):cp.remove_option('maildir','folder')upd_050(cp)defupd_050(cp):ifnotcp.has_option('bin','postconf'):try:postconf=os.sys.argv[1].strip()iflen(postconf):cp.set('bin','postconf',postconf)sect_opt.append(('bin','postconf'))else:# possible?cp.set('bin','postconf','/usr/sbin/postconf')sect_opt.append(('bin','postconf'))exceptIndexError:cp.set('bin','postconf','/usr/sbin/postconf')sect_opt.append(('bin','postconf'))upd_051(cp)defupd_051(cp):ifnotcp.has_option('misc','dovecotvers')orcp.has_option('services','managesieve'):ifnotcp.has_option('misc','dovecotvers'):cp.set('misc','dovecotvers',os.sys.argv[2].strip())sect_opt.append(('misc','dovecotvers'))ifcp.has_option('services','managesieve'):cp.set('services','sieve',cp.getboolean('services','managesieve'))cp.remove_option('services','managesieve')sect_opt.append(('services','sieve'))# def main():if__name__=='__main__':sect_opt=[]cf=get_config_file()cp=get_cfg_parser(cf)update(cp)iflen(sect_opt):update_cfg_file(cp,cf)print'Please have a look at your configuration: %s'%cfprint'and verify the value from:'fors_oinsect_opt:print' [%s] %s'%s_oprint