From 269db37fac6849c6aed543fe349fe26a7f450fd9 Mon Sep 17 00:00:00 2001 From: William Brown Date: Wed, 1 Nov 2017 17:08:06 +1000 Subject: [PATCH] Ticket 103 - sysconfig not found Bug Description: In a prefix build we don't have a /etc/sysconfig file, so we need to create it. However, if we try to create it multiple times python will raise an exception. Fix Description: Catch and ignore the exception if the directory already exists. https://pagure.io/lib389/issue/103 Author: wibrown Review by: ??? --- src/lib389/lib389/instance/setup.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib389/lib389/instance/setup.py b/src/lib389/lib389/instance/setup.py index 529086a..b031021 100644 --- a/src/lib389/lib389/instance/setup.py +++ b/src/lib389/lib389/instance/setup.py @@ -316,7 +316,10 @@ class SetupDs(object): with open("%s/dirsrv/config/template-initconfig" % slapd['sysconf_dir']) as template_init: for line in template_init.readlines(): initconfig += line.replace('{{', '{', 1).replace('}}', '}', 1).replace('-', '_') - os.makedirs("%s/sysconfig" % slapd['sysconf_dir'], mode=0o775) + try: + os.makedirs("%s/sysconfig" % slapd['sysconf_dir'], mode=0o775) + except FileExistsError: + pass with open("%s/sysconfig/dirsrv-%s" % (slapd['sysconf_dir'], slapd['instance_name']), 'w') as f: f.write(initconfig.format( SERVER_DIR=slapd['lib_dir'], -- 1.8.3.1