]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
script/build-with-container: fix rpm build step when using an overlay
authorJohn Mulligan <jmulligan@redhat.com>
Thu, 8 May 2025 15:21:32 +0000 (11:21 -0400)
committerDavid Galloway <david.galloway@ibm.com>
Fri, 15 Aug 2025 17:56:56 +0000 (13:56 -0400)
Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit acebfed03cacdef8735c37f68fc1f415b934f68a)

src/script/build-with-container.py

index 2957be27cb55478c01aaa8ca739be9a962a77d34..ab418284a69471f78f93636f035b62c83f4c535e 100755 (executable)
@@ -696,6 +696,11 @@ def bc_make_source_rpm(ctx):
         _run(cmd, check=True, ctx=ctx)
 
 
+def _glob_search(ctx, pattern):
+    overlay = ctx.overlay()
+    return glob.glob(pattern, root_dir=overlay.upper if overlay else None)
+
+
 @Builder.set(Steps.RPM)
 def bc_build_rpm(ctx):
     """Build RPMs from SRPM."""
@@ -716,7 +721,7 @@ def bc_build_rpm(ctx):
                 ctx.cli.ceph_version
             )
             srpm_glob = f"ceph-{srpm_version}.*.src.rpm"
-    paths = glob.glob(srpm_glob)
+    paths = _glob_search(ctx, srpm_glob)
     if len(paths) > 1:
         raise RuntimeError(
             "too many matching source rpms"
@@ -726,7 +731,7 @@ def bc_build_rpm(ctx):
     if not paths:
         # no matches. build a new srpm
         ctx.build.wants(Steps.SOURCE_RPM, ctx)
-        paths = glob.glob(srpm_glob)
+        paths = _glob_search(ctx, srpm_glob)
         assert paths
     srpm_path = pathlib.Path(ctx.cli.homedir) / paths[0]
     topdir = pathlib.Path(ctx.cli.homedir) / "rpmbuild"