diff mbox series

tools/update-documentation-conf: remove

Message ID 20260701-drop-update-documentation-conf-v1-1-23e88cea8808@bootlin.com
State New
Headers show
Series tools/update-documentation-conf: remove | expand

Commit Message

Antonin Godard July 1, 2026, 11:42 a.m. UTC
This script was previously used to update the documenation.conf file in
openembedded-core, but this was based on the Docbook documentation. This
script does not work anymore with Sphinx. Remove it.

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
---
 documentation/tools/update-documentation-conf | 158 --------------------------
 1 file changed, 158 deletions(-)


---
base-commit: 4562ba19f36e54099bcae82cec8a70deb1c23aa7
change-id: 20260701-drop-update-documentation-conf-4b3d03579ac7
diff mbox series

Patch

diff --git a/documentation/tools/update-documentation-conf b/documentation/tools/update-documentation-conf
deleted file mode 100644
index adfca3ca5..000000000
--- a/documentation/tools/update-documentation-conf
+++ /dev/null
@@ -1,158 +0,0 @@ 
-#!/usr/bin/env python
-#
-# SPDX-License-Identifier: GPL-2.0-only
-#
-# documentation.conf update script
-#
-# Author: Paul Eggleton <paul.eggleton@linux.intel.com>
-#
-# Copyright (C) 2015 Intel Corporation
-#
-
-
-import sys
-import os
-import argparse
-import re
-from lxml import etree
-import logging
-
-def logger_create(name):
-    logger = logging.getLogger(name)
-    loggerhandler = logging.StreamHandler()
-    loggerhandler.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))
-    logger.addHandler(loggerhandler)
-    logger.setLevel(logging.INFO)
-    return logger
-logger = logger_create('docconfupdater')
-
-def main():
-    parser = argparse.ArgumentParser(description="documentation.conf updater")
-    parser.add_argument('basepath', help='Path to OE-Core base directory')
-    parser.add_argument('-q', '--quiet', help='Print only warnings/errors', action='store_true')
-
-    args = parser.parse_args()
-
-    if args.quiet:
-        logger.setLevel(logging.WARN)
-
-    if not os.path.isdir(args.basepath):
-        logger.error('Specified base path %s not found')
-        return 1
-
-    doc_conf = os.path.join(args.basepath, 'meta', 'conf', 'documentation.conf')
-    if not os.path.exists(doc_conf):
-        logger.error('Unable to find %s' % doc_conf)
-        return 1
-
-    allowed_flags = ['doc']
-    flag_re = re.compile(r'\[(.+?)\]')
-
-    infos = {}
-    tree = etree.parse('ref-manual/ref-variables.xml')
-    root = tree.getroot()
-    for glossary in root.findall('glossary'):
-        for glossdiv in glossary.findall('glossdiv'):
-            for glossentry in glossdiv.findall('glossentry'):
-                info = glossentry.find('info')
-                if info is not None:
-                    infoline = ' '.join(info.text.split())
-                    infolinesplit = infoline.split('=', 1)
-                    if len(infoline) < 2:
-                        logger.warn('Invalid info line (no = character), ignoring: %s' % infoline)
-                        continue
-                    flags = flag_re.findall(infolinesplit[0])
-                    if not flags:
-                        logger.warn('Invalid info line (no varflag), ignoring: %s' % infoline)
-                        continue
-                    for flag in flags:
-                        if flag not in allowed_flags:
-                            logger.warn('Invalid info line (varflag %s not in allowed list), ignoring: %s' % (flag, infoline))
-                            continue
-                    infos[infolinesplit[0].rstrip()] = infolinesplit[1].lstrip()
-
-    if not infos:
-        logger.error('ERROR: Unable to find any info tags in the glossary')
-        return 1
-
-    def sortkey(key):
-        # Underscores sort undesirably, so replace them
-        return key.split('[')[0].replace('_', '-')
-
-    changed = False
-    lines = []
-    invars = False
-    lastletter = None
-    added = []
-    with open(doc_conf, 'r') as dcf:
-        for line in dcf:
-            if not invars:
-                if line.startswith('#') and 'DESCRIPTIONS FOR VARIABLES' in line:
-                    invars = True
-            elif not line.startswith('#'):
-                linesplit = line.split('=', 1)
-                if len(linesplit) > 1:
-                    key = linesplit[0].rstrip()
-                    lastletter = key[0]
-                    # Find anything in the dict that should come before the current key
-                    for dkey in sorted(infos.keys()):
-                        if sortkey(dkey) < sortkey(key):
-                            lines.append('%s = %s\n' % (dkey, infos[dkey]))
-                            added.append(dkey)
-                            del infos[dkey]
-                            changed = True
-                    newvalue = infos.get(key, None)
-                    if newvalue:
-                        del infos[key]
-                        if newvalue != linesplit[1].strip():
-                            lines.append('%s = %s\n' % (key, newvalue))
-                            changed = True
-                            continue
-                    elif key in added:
-                        # We already added a new value for this key, so skip it
-                        continue
-                elif lastletter:
-                    # Ensure we write out anything anything left over for this letter
-                    for dkey in sorted(infos.keys()):
-                        if dkey[0] == lastletter:
-                            lines.append('%s = %s\n' % (dkey, infos[dkey]))
-                            del infos[dkey]
-                            changed = True
-                        elif dkey[0] > lastletter:
-                            # List is sorted, so we're done
-                            break
-                    lastletter = None
-            lines.append(line)
-
-    if not invars:
-        logger.error('ERROR: Unable to find variables section in documentation.conf')
-        return 1
-
-    if infos:
-        changed = True
-        # Write out anything left over
-        lines.append('\n\n')
-        for key in sorted(infos.keys()):
-            lines.append('%s = %s\n' % (key, infos[key]))
-
-    if changed:
-        logger.info('Updating %s' % doc_conf)
-        with open(doc_conf, 'w') as dcf:
-            for line in lines:
-                dcf.write(line)
-    else:
-        logger.info('No changes required')
-
-    return 0
-
-
-if __name__ == "__main__":
-    try:
-        ret = main()
-    except Exception:
-        ret = 1
-        import traceback
-        traceback.print_exc(5)
-    sys.exit(ret)
-
-