From afd1ba56e1d5d1f5fccb13ca41fda7e19c08f65e Mon Sep 17 00:00:00 2001
From: Magnus Ahltorp <map@kth.se>
Date: Mon, 3 Jul 2017 00:21:02 +0200
Subject: Automatic generation of config man page skeleton

---
 tools/compileconfig.py | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

(limited to 'tools/compileconfig.py')

diff --git a/tools/compileconfig.py b/tools/compileconfig.py
index 10fc3d6..d6d65d4 100755
--- a/tools/compileconfig.py
+++ b/tools/compileconfig.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-# Copyright (c) 2014-2016, NORDUnet A/S.
+# Copyright (c) 2014-2017, NORDUnet A/S.
 # See LICENSE for licensing information.
 
 import argparse
@@ -9,6 +9,7 @@ import readconfig
 import re
 import base64
 from datetime import datetime
+import manpage
 
 class Symbol(str):
     pass
@@ -550,6 +551,10 @@ def printnodenames(config):
 
     print " ".join(frontendnodenames|storagenodenames|signingnodenames|mergenodenames|statusservernodenames)
 
+def gen_manpage(manpagedir):
+    manpage.rewrite_manpage(manpagedir + "/catlfish-log.cfg.in.5.adoc", globalconfigschema, "Catlfish", "Catlfish Manual", "CATLFISH-LOG.CFG.IN(5)", "catlfish-log.cfg.in - catlfish log configuration")
+    manpage.rewrite_manpage(manpagedir + "/catlfish-node.cfg.5.adoc", localconfigschema, "Catlfish", "Catlfish Manual", "CATLFISH-NODE.CFG(5)", "catlfish-node.cfg - catlfish node configuration")
+
 localconfigschema = [
     ("nodename", "string", "nodename"),
     ("frontendaddress", "string", "ip address"),
@@ -612,14 +617,19 @@ globalconfigschema = [
 def main():
     parser = argparse.ArgumentParser(description="")
     parser.add_argument('--config', help="System configuration")
+    parser.add_argument("--manpagedir", metavar="file", help="Generate manpages to directory")
     parser.add_argument('--localconfig', help="Local configuration")
     parser.add_argument("--testmakefile", metavar="file", help="Generate makefile variables for test")
     parser.add_argument("--testshellvars", metavar="file", help="Generate shell variable file for test")
     parser.add_argument("--getnodenames", action='store_true', help="Get list of node names")
     args = parser.parse_args()
 
+    if args.manpagedir:
+        gen_manpage(args.manpagedir)
+        sys.exit(0)
+
     if not args.config:
-        print >>sys.stderr, "--config is required"
+        print >>sys.stderr, "either --config or --manpage is required"
         sys.exit(1)
 
     if args.testmakefile:
-- 
cgit v1.1