osmith has submitted this change. (
https://gerrit.osmocom.org/c/osmo-ci/+/37173?usp=email
)
Change subject: OBS: add --configure-append
......................................................................
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
---
M scripts/obs/lib/__init__.py
M scripts/obs/lib/debian.py
M scripts/obs/lib/srcpkg.py
3 files changed, 52 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
daniel: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
diff --git a/scripts/obs/lib/__init__.py b/scripts/obs/lib/__init__.py
index 2cb8a40..2e59806 100644
--- a/scripts/obs/lib/__init__.py
+++ b/scripts/obs/lib/__init__.py
@@ -45,6 +45,9 @@
group_pkg.add_argument("-e", "--version-append",
help="add a string at the end of the version, e.g."
" '~osmocom' for the wireshark
package")
+ group_pkg.add_argument("-C", "--configure-append",
+ help="add these parameters to the ./configure line"
+ " (e.g. ' --enable-sanitize')")
group_git = parser.add_argument_group("git options")
group_git.add_argument("-b", "--git-branch", help="instead
of using a"
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 @@
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")
diff --git a/scripts/obs/lib/srcpkg.py b/scripts/obs/lib/srcpkg.py
index aef7732..7701a83 100644
--- a/scripts/obs/lib/srcpkg.py
+++ b/scripts/obs/lib/srcpkg.py
@@ -204,6 +204,9 @@
if project in lib.config.projects_osmocom:
run_generate_build_dep(project)
+ if lib.args.configure_append:
+ lib.debian.configure_append(project, lib.args.configure_append)
+
lib.debian.build_source_package(project)
lib.debian.move_files_to_output(project)
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ci/+/37173?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I5ae396cc190559eb9c6a1671db374a91f03924e7
Gerrit-Change-Number: 37173
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged