[PATCH 05/13] UBUNTU: [Packaging] generate: pull out configuration as a library for later use
Andy Whitcroft
apw at canonical.com
Fri Sep 16 11:46:34 UTC 2022
Signed-off-by: Andy Whitcroft <apw at canonical.com>
---
debian/scripts/config.py | 30 ++++++++++++++++++++++++++++++
debian/scripts/generate-control | 32 +++-----------------------------
2 files changed, 33 insertions(+), 29 deletions(-)
create mode 100644 debian/scripts/config.py
diff --git a/debian/scripts/config.py b/debian/scripts/config.py
new file mode 100644
index 0000000..e964e64
--- /dev/null
+++ b/debian/scripts/config.py
@@ -0,0 +1,30 @@
+class Signing:
+
+ def __init__(self):
+ self._flavour_to_arch = {}
+ self._arch_flavour_data = {}
+
+ def add(self, arch, stype, binary, flavours):
+ for flavour in flavours:
+ self._flavour_to_arch.setdefault(flavour, []).append(arch)
+ self._arch_flavour_data[(arch, flavour)] = (stype, binary)
+
+ @property
+ def flavour_archs(self):
+ return sorted(self._flavour_to_arch.items())
+
+ @property
+ def arch_flavour_data(self):
+ return sorted(self._arch_flavour_data.items())
+
+
+ @classmethod
+ def load(cls, config):
+ signing = Signing()
+ with open(config) as cfd:
+ for line in cfd:
+ cmd, *args = line.strip().split()
+ if cmd == "sign":
+ arch, stype, binary, *flavours = args
+ signing.add(arch, stype, binary, flavours)
+ return signing
diff --git a/debian/scripts/generate-control b/debian/scripts/generate-control
index 033b6be..6fd68f6 100755
--- a/debian/scripts/generate-control
+++ b/debian/scripts/generate-control
@@ -1,40 +1,14 @@
#!/usr/bin/python3 -B
-import json
+import os
import sys
from textwrap import dedent
-
-class Signing:
-
- def __init__(self):
- self._flavour_to_arch = {}
- self._arch_flavour_data = {}
-
- def add(self, arch, stype, binary, flavours):
- for flavour in flavours:
- self._flavour_to_arch.setdefault(flavour, []).append(arch)
- self._arch_flavour_data[(arch, flavour)] = (stype, binary)
-
- @property
- def flavour_archs(self):
- return sorted(self._flavour_to_arch.items())
-
- @property
- def arch_flavour_data(self):
- return sorted(self._arch_flavour_data.items())
-
+from config import Signing
(series, source_name, source_version, unsigned_name, unsigned_version, abi_version) = sys.argv[1:]
-signing = Signing()
-
-with open("debian/package.config") as cfd:
- for line in cfd:
- cmd, *args = line.strip().split()
- if cmd == "sign":
- arch, stype, binary, *flavours = args
- signing.add(arch, stype, binary, flavours)
+signing = Signing.load("debian/package.config")
with open("debian/control.stub") as tfd, open("debian/control", "w") as cfd:
for line in tfd:
--
2.36.1
More information about the kernel-team
mailing list