aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/obs/lib/debian.py
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2024-06-10 11:19:13 +0200
committerOliver Smith <osmith@sysmocom.de>2024-06-10 14:57:53 +0200
commit34c176b2c3acf0506148820340f9e44d1ec0e6cf (patch)
treea4135dd3657ec2318e058e7b7c36ab29eb3ead2f /scripts/obs/lib/debian.py
parent1b1d19d197eaec1db3f52732bdd0e6270630b8cd (diff)
OBS: add --configure-append
Add a parameter for appending arguments to the ./configure line as it gets called in the debian package. This will be used for asan packages. Related: OS#5301 Change-Id: I5ae396cc190559eb9c6a1671db374a91f03924e7
Diffstat (limited to 'scripts/obs/lib/debian.py')
-rw-r--r--scripts/obs/lib/debian.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/scripts/obs/lib/debian.py b/scripts/obs/lib/debian.py
index 6703f8b..dd85729 100644
--- a/scripts/obs/lib/debian.py
+++ b/scripts/obs/lib/debian.py
@@ -120,6 +120,39 @@ def changelog_add_entry_if_needed(project, version):
changelog_add_entry(project, version)
+def configure_append(project, parameters):
+ """ Add one or more configure parameters like --enable-sanitize to the
+ dh_auto_configure line, also add the override_dh_auto_configure block
+ if missing. """
+ print(f"{project}: adding configure parameters: {parameters}")
+ rules = f"{lib.git.get_repo_path(project)}/debian/rules"
+ override_found = False
+ replaced = False
+ with open(rules, "r") as f:
+ lines = f.readlines()
+ for i in range(len(lines)):
+ line = lines[i]
+ if line.startswith("override_dh_auto_configure:"):
+ override_found = True
+ continue
+ if "dh_auto_configure" not in line:
+ continue
+ assert override_found
+ if " -- " in line.replace("\t", " "):
+ lines[i] = line.replace(" --", f" -- {parameters}", 1)
+ else:
+ lines[i] = line.replace("dh_auto_configure",
+ f"dh_auto_configure -- {parameters}", 1)
+ replaced = True
+ break
+ if not override_found:
+ lines += ["\n",
+ "override_dh_auto_configure:\n",
+ f"\tdh_auto_configure -- {parameters}\n"]
+ with open(rules, "w") as f:
+ f.writelines(lines)
+
+
def build_source_package(project):
fix_source_format(project)
print(f"{project}: building debian source package")