osmith has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ci/+/37174?usp=email )

Change subject: OBS: add --disable-manuals
......................................................................

OBS: add --disable-manuals

Allow building binary packages faster by disabling the manuals. We don't
need those for the asan repository.

Related: OS#5301
Change-Id: I3ff84f26ee6aa53cbcbe2275bedc6b724a461adc
---
M scripts/obs/lib/__init__.py
M scripts/obs/lib/debian.py
M scripts/obs/lib/srcpkg.py
3 files changed, 35 insertions(+), 0 deletions(-)

Approvals:
  pespin: Looks good to me, approved
  Jenkins Builder: Verified
  daniel: Looks good to me, but someone else must approve




diff --git a/scripts/obs/lib/__init__.py b/scripts/obs/lib/__init__.py
index 2e59806..66090f2 100644
--- a/scripts/obs/lib/__init__.py
+++ b/scripts/obs/lib/__init__.py
@@ -48,6 +48,10 @@
     group_pkg.add_argument("-C", "--configure-append",
                            help="add these parameters to the ./configure line"
                            " (e.g. ' --enable-sanitize')")
+    group_pkg.add_argument("-D", "--disable-manuals", action="store_true",
+                           help="speed up build by removing the"
+                           " osmo-gsm-manuals dependency and not building"
+                           " asciidoc and doxygen manuals")

     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 dd85729..efe4ff3 100644
--- a/scripts/obs/lib/debian.py
+++ b/scripts/obs/lib/debian.py
@@ -153,6 +153,21 @@
         f.writelines(lines)


+def disable_manuals(project):
+    """ Disabling manuals speeds up the build time significantly, we don't
+        need them for e.g. the asan repository. """
+    print(f"{project}: disabling manuals")
+    debian = f"{lib.git.get_repo_path(project)}/debian"
+    # Remove dependencies
+    lib.run_cmd(["sed", "-i", "/osmo-gsm-manuals-dev/d", f"{debian}/control"])
+    lib.run_cmd(["sed", "-i", "/doxygen/d", f"{debian}/control"])
+    # Remove debian/*-doc.install
+    lib.run_cmd(f"rm -rf {shlex.quote(debian)}/*-doc.install", shell=True)
+    # debian/rules: remove --enable-manuals/doxygen, add --disable-doxygen
+    lib.run_cmd(["sed", "-i", "s/--enable-manuals//g", f"{debian}/rules"])
+    lib.run_cmd(["sed", "-i", "s/--enable-doxygen//g", f"{debian}/rules"])
+
+
 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 7701a83..4da6b70 100644
--- a/scripts/obs/lib/srcpkg.py
+++ b/scripts/obs/lib/srcpkg.py
@@ -207,6 +207,9 @@
     if lib.args.configure_append:
         lib.debian.configure_append(project, lib.args.configure_append)

+    if lib.args.disable_manuals:
+        lib.debian.disable_manuals(project)
+
     lib.debian.build_source_package(project)
     lib.debian.move_files_to_output(project)


--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/37174?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: I3ff84f26ee6aa53cbcbe2275bedc6b724a461adc
Gerrit-Change-Number: 37174
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osm...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillm...@sysmocom.de>
Gerrit-Reviewer: osmith <osm...@sysmocom.de>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>
Gerrit-MessageType: merged

Reply via email to