X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=tools%2Fmake-man-rules.py;h=e75bfffba140c6cab9508618acc9d30b358a8c03;hp=0d1ca244c467d0b8bba7fdd85d42bc0f9703eee9;hb=0eb3cc88504b5d8f740764047ac5162b67992386;hpb=3c3e5f4276a893791110b03984735654372aa33a diff --git a/tools/make-man-rules.py b/tools/make-man-rules.py index 0d1ca244c..e75bfffba 100644 --- a/tools/make-man-rules.py +++ b/tools/make-man-rules.py @@ -42,8 +42,14 @@ endif HEADER = '''\ # Do not edit. Generated by make-man-rules.py. -# Regenerate with 'make all update-man-list'. - +# To regenerate: +# 1. Create, update, or remove source .xml files in man/ +# 2. Run 'make update-man-list' +# 3. Run 'make man' to generate manpages +# +# To make a man page conditional on a configure switch add +# attribute conditional="ENABLE_WHAT" or conditional="WITH_WHAT" +# to element. ''' HTML_ALIAS_RULE = '''\ @@ -53,8 +59,10 @@ HTML_ALIAS_RULE = '''\ FOOTER = '''\ +# Really, do not edit this file. + EXTRA_DIST += \\ - {files} + {files} ''' def man(page, number): @@ -66,6 +74,8 @@ def xml(file): def add_rules(rules, name): xml = xml_parse(name) # print('parsing {}'.format(name), file=sys.stderr) + if xml.getroot().tag != 'refentry': + return conditional = xml.getroot().get('conditional') or '' rulegroup = rules[conditional] refmeta = xml.find('./refmeta') @@ -86,7 +96,11 @@ def create_rules(xml_files): " {conditional => {alias-name => source-name}} " rules = collections.defaultdict(dict) for name in xml_files: - add_rules(rules, name) + try: + add_rules(rules, name) + except Exception: + print("Failed to process", name, file=sys.stderr) + raise return rules def mjoin(files):