diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:26:19 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:26:19 +0000 |
commit | 3fb3e62dbd16f2599087719648dca10596b2bb3f (patch) | |
tree | 129fe1962b84672a0d6df4c5edf28e0547071409 /debian/lib | |
parent | Adding upstream version 20230210. (diff) | |
download | firmware-nonfree-debian.tar.xz firmware-nonfree-debian.zip |
Adding debian version 20230210-5.debian/20230210-5debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/lib')
-rw-r--r-- | debian/lib/python/config.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/debian/lib/python/config.py b/debian/lib/python/config.py new file mode 100644 index 0000000..46cc324 --- /dev/null +++ b/debian/lib/python/config.py @@ -0,0 +1,46 @@ +from debian_linux.config import ConfigParser, SchemaItemList + +class Config(dict): + config_name = "defines" + + top_schemas = { + 'base': { + 'packages': SchemaItemList(), + }, + } + + package_schemas = { + 'base': { + 'files': SchemaItemList(), + 'support': SchemaItemList(), + } + } + + def __init__(self): + self._read_base() + + def _read_base(self): + config = ConfigParser(self.top_schemas) + config.read("debian/config/%s" % self.config_name) + + packages = config['base',]['packages'] + + for section in iter(config): + real = (section[-1],) + section[:-1] + self[real] = config[section] + + for package in packages: + self._read_package(package) + + def _read_package(self, package): + config = ConfigParser(self.package_schemas) + config.read("debian/config/%s/%s" % (package, self.config_name)) + + for section in iter(config): + if len(section) > 1: + real = (section[-1], package, '_'.join(section[:-1])) + else: + real = (section[-1], package) + s = self.get(real, {}) + s.update(config[section]) + self[real] = s |