mirror of
https://github.com/clearlinux/autospec.git
synced 2026-08-25 17:45:49 +00:00
build: use lists to define mock invocations
The two mock invocations are becoming lengthy, and it's difficult to spot problems with these calls due to the way in which they are written. For better maintainability, use formatted string literals, and define all mock command line arguments in a list. We can then convert the list to a string with space-separated arguments and pass it to util.call(). Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
This commit is contained in:
committed by
William Douglas
parent
e283a7f24f
commit
274de4d028
+32
-12
@@ -331,29 +331,49 @@ def package(filemanager, mockconfig, mockopts, cleanup=False):
|
||||
shutil.rmtree('{}/results'.format(download_path), ignore_errors=True)
|
||||
os.makedirs('{}/results'.format(download_path))
|
||||
|
||||
util.call("{} -r {} --buildsrpm --sources=./ --spec={}.spec "
|
||||
"--uniqueext={} --result=results/ {} {}"
|
||||
.format(mock_cmd, mockconfig, tarball.name, uniqueext, cleanup_flag,
|
||||
mockopts),
|
||||
logfile="%s/results/mock_srpm.log" % download_path, cwd=download_path)
|
||||
cmd_args = [
|
||||
mock_cmd,
|
||||
f"--root={mockconfig}",
|
||||
"--buildsrpm",
|
||||
"--sources=./",
|
||||
f"--spec={tarball.name}.spec",
|
||||
f"--uniqueext={uniqueext}",
|
||||
"--result=results/",
|
||||
cleanup_flag,
|
||||
mockopts,
|
||||
]
|
||||
util.call(" ".join(cmd_args),
|
||||
logfile=f"{download_path}/results/mock_srpm.log",
|
||||
cwd=download_path)
|
||||
|
||||
# back up srpm mock logs
|
||||
util.call("mv results/root.log results/srpm-root.log", cwd=download_path)
|
||||
util.call("mv results/build.log results/srpm-build.log", cwd=download_path)
|
||||
|
||||
srcrpm = "results/%s-%s-%s.src.rpm" % (tarball.name, tarball.version, tarball.release)
|
||||
returncode = util.call("{} -r {} --result=results/ {} "
|
||||
"--enable-plugin=ccache --uniqueext={} {}"
|
||||
.format(mock_cmd, mockconfig, srcrpm, uniqueext, cleanup_flag),
|
||||
logfile="%s/results/mock_build.log" % download_path, check=False, cwd=download_path)
|
||||
srcrpm = f"results/{tarball.name}-{tarball.version}-{tarball.release}.src.rpm"
|
||||
|
||||
cmd_args = [
|
||||
mock_cmd,
|
||||
f"--root={mockconfig}",
|
||||
"--result=results/",
|
||||
srcrpm,
|
||||
"--enable-plugin=ccache",
|
||||
f"--uniqueext={uniqueext}",
|
||||
cleanup_flag,
|
||||
]
|
||||
ret = util.call(" ".join(cmd_args),
|
||||
logfile=f"{download_path}/results/mock_build.log",
|
||||
check=False,
|
||||
cwd=download_path)
|
||||
|
||||
# sanity check the build log
|
||||
if not os.path.exists(download_path + "/results/build.log"):
|
||||
util.print_fatal("Mock command failed, results log does not exist. User may not have correct permissions.")
|
||||
exit(1)
|
||||
|
||||
is_clean = parse_buildroot_log(download_path + "/results/root.log", returncode)
|
||||
is_clean = parse_buildroot_log(download_path + "/results/root.log", ret)
|
||||
if is_clean:
|
||||
parse_build_results(download_path + "/results/build.log", returncode, filemanager)
|
||||
parse_build_results(download_path + "/results/build.log", ret, filemanager)
|
||||
if filemanager.has_banned:
|
||||
util.print_fatal("Content in banned paths found, aborting build")
|
||||
exit(1)
|
||||
|
||||
Reference in New Issue
Block a user