From 7ff1d7f1c2a141a24a2af5db01fff07754ba18bc Mon Sep 17 00:00:00 2001 From: Petr Lautrbach Date: Mon, 12 Dec 2022 18:43:49 +0100 Subject: [PATCH] sepolicy: Call os.makedirs() with exist_ok=True Since commit 7494bb1298b3 ("sepolicy: generate man pages in parallel") man pages are generated in parallel and there's a race between os.path.exists() and os.makedirs(). The check os.path.exists() is not necessary when os.makedirs() is called with exist_ok=True. Fixes: /usr/bin/sepolicy manpage -a -p /__w/usr/share/man/man8/ -w -r /__w/ FileExistsError: [Errno 17] File exists: '/__w/usr/share/man/man8/' Signed-off-by: Petr Lautrbach Acked-by: James Carter --- python/sepolicy/sepolicy/manpage.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/python/sepolicy/sepolicy/manpage.py b/python/sepolicy/sepolicy/manpage.py index edeb3b77..1bff8f9a 100755 --- a/python/sepolicy/sepolicy/manpage.py +++ b/python/sepolicy/sepolicy/manpage.py @@ -376,8 +376,7 @@ class ManPage: self.fcdict = sepolicy.get_fcdict(self.fcpath) - if not os.path.exists(path): - os.makedirs(path) + os.makedirs(path, exist_ok=True) self.path = path -- 2.27.0