Skip to content

Commit

Permalink
sepolicy: generate man pages in parallel
Browse files Browse the repository at this point in the history
Generating man pages takes a lot of time. Do it in parallel to speed up
the process.

Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
  • Loading branch information
WOnder93 committed Oct 14, 2019
1 parent 711fe60 commit 878eb1e
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions python/sepolicy/sepolicy.py
Expand Up @@ -25,6 +25,7 @@
import sys
import selinux
import sepolicy
from concurrent.futures import ProcessPoolExecutor
from sepolicy import get_os_version, get_conditionals, get_conditionals_format_text
import argparse
PROGNAME = "policycoreutils"
Expand Down Expand Up @@ -326,8 +327,13 @@ def gen_gui_args(parser):
gui.set_defaults(func=gui_run)


def manpage_work(domain, path, root, source_files, web):
from sepolicy.manpage import ManPage
m = ManPage(domain, path, root, source_files, web)
print(m.get_man_page_path())

def manpage(args):
from sepolicy.manpage import ManPage, HTMLManPages, manpage_domains, manpage_roles, gen_domains
from sepolicy.manpage import HTMLManPages, manpage_domains, manpage_roles, gen_domains

path = args.path
if not args.policy and args.root != "/":
Expand All @@ -340,9 +346,9 @@ def manpage(args):
else:
test_domains = args.domain

for domain in test_domains:
m = ManPage(domain, path, args.root, args.source_files, args.web)
print(m.get_man_page_path())
with ProcessPoolExecutor() as e:
for domain in test_domains:
e.submit(manpage_work, domain, path, args.root, args.source_files, args.web)

if args.web:
HTMLManPages(manpage_roles, manpage_domains, path, args.os)
Expand Down

0 comments on commit 878eb1e

Please sign in to comment.