diff options
author | Oliver Smith <osmith@sysmocom.de> | 2024-06-10 11:19:13 +0200 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2024-06-10 14:57:53 +0200 |
commit | 34c176b2c3acf0506148820340f9e44d1ec0e6cf (patch) | |
tree | a4135dd3657ec2318e058e7b7c36ab29eb3ead2f /scripts/obs/lib/debian.py | |
parent | 1b1d19d197eaec1db3f52732bdd0e6270630b8cd (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.py | 33 |
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") |