Skip to content

Commit

Permalink
csmock --use-ldpwrap: experimental replacement of csexec-loader
Browse files Browse the repository at this point in the history
  • Loading branch information
kdudka committed Nov 29, 2021
1 parent b083a1e commit 74fe693
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions py/csmock
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,7 @@ class ScanProps:
self.path = []
self.env = {}
self.copy_out_files = []
self.use_ldpwrap = False
self.csexec_enabled = False
self.cswrap_enabled = False
self.cswrap_filters = DEFAULT_CSWRAP_FILTERS
Expand Down Expand Up @@ -459,7 +460,18 @@ class ScanProps:
self.env["CSWRAP_TIMEOUT_FOR"] = ":"
self.copy_out_files += ["/builddir/cswrap-capture.err"]

def enable_ldpwrap(self):
assert "ldpwrap" not in self.install_pkgs
self.install_pkgs += ["ldpwrap"]
self.add_repos += ["https://download.copr.fedorainfracloud.org/results/@aufover/ldpwrap/fedora-$releasever-$basearch/"]
self.rpm_opts += ["--define", "__spec_check_pre export LD_PRELOAD=/usr/lib64/ldpwrap.so %{___build_pre}"]

def enable_csexec(self):
if self.use_ldpwrap:
# we are asked to use ldpwrap rather than csexec-loader
self.enable_ldpwrap()
return

if self.csexec_enabled:
# already enabled
return
Expand Down Expand Up @@ -833,6 +845,10 @@ key event (defaults to 3).")
"--skip-build", action="store_true",
help="do not run %%build and %%install sections [EXPERIMENTAL]")

parser.add_argument(
"--use-ldpwrap", action="store_true",
help="use ldpwrap instead of csexec-loader [EXPERIMENTAL]")

parser.add_argument(
"--no-clean", action="store_true",
help="do not clean chroot when it becomes unused")
Expand Down Expand Up @@ -954,6 +970,7 @@ key event (defaults to 3).")
props.skip_patches = args.skip_patches
props.skip_mock_init = args.skip_init
props.skip_build = args.skip_build
props.use_ldpwrap = args.use_ldpwrap
props.skip_mock_clean = args.no_clean

if props.embed_context > 0:
Expand Down

0 comments on commit 74fe693

Please sign in to comment.