Package: debspawn Version: 0.4.2-2 Severity: normal Tags: patch Right now, when a build fails, debspan does not save the build log. Having the build log is extremely useful in either case.
-- System Information: Debian Release: 11.0 APT prefers testing APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-updates'), (500, 'unstable'), (500, 'stable'), (100, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.10.0-7-amd64 (SMP w/8 CPU threads) Kernel taint flags: TAINT_USER Locale: LANG=en_IN.UTF-8, LC_CTYPE=en_IN.UTF-8 (charmap=UTF-8), LANGUAGE=en_US Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages debspawn depends on: ii debootstrap 1.0.123 ii python3 3.9.2-3 ii python3-toml 0.10.1-1 ii systemd-container 247.3-5 ii zstd 1.4.8+dfsg-2.1 Versions of packages debspawn recommends: ii build-essential 12.9 ii devscripts 2.21.2 Versions of packages debspawn suggests: ii sudo 1.9.5p2-3 -- no debconf information
>From 29051a0a2c5c4a10fc58c9a1f7d4017c9897bc93 Mon Sep 17 00:00:00 2001 From: Ritesh Raj Sarraf <r...@debian.org> Date: Fri, 28 May 2021 15:04:08 +0530 Subject: [PATCH] Save build log under all conditions The build log is always useful, whether the package build passes or fails. Infact, during a failure, it is more important. So, save the build log in either case. Signed-off-by: Ritesh Raj Sarraf <r...@debian.org> --- debspawn/build.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/debspawn/build.py b/debspawn/build.py index ae190f5..dc034e9 100644 --- a/debspawn/build.py +++ b/debspawn/build.py @@ -432,18 +432,19 @@ def build_from_directory(osbase, pkg_dir, *, source_pkg_dir=pkg_dir, buildflags=buildflags, build_env=build_env) + + # save buildlog, if we generated one + log_fname = os.path.join(osbase.results_dir, '{}_{}_{}.buildlog'.format(pkg_sourcename, + version_noepoch(pkg_version), + osbase.arch)) + save_captured_console_output(log_fname) + if not ret: return False # copy build results _retrieve_artifacts(osbase, pkg_tmp_dir) - # save buildlog, if we generated one - log_fname = os.path.join(osbase.results_dir, '{}_{}_{}.buildlog'.format(pkg_sourcename, - version_noepoch(pkg_version), - osbase.arch)) - save_captured_console_output(log_fname) - # sign the resulting package if sign: r = _sign_result(osbase.results_dir, pkg_sourcename, pkg_version, osbase.arch) @@ -512,18 +513,19 @@ def build_from_dsc(osbase, dsc_fname, *, interact=interact, buildflags=buildflags, build_env=build_env) + + # save buildlog, if we generated one + log_fname = os.path.join(osbase.results_dir, '{}_{}_{}.buildlog'.format(pkg_sourcename, + version_noepoch(pkg_version), + osbase.arch)) + save_captured_console_output(log_fname) + if not ret: return False # copy build results _retrieve_artifacts(osbase, pkg_tmp_dir) - # save buildlog, if we generated one - log_fname = os.path.join(osbase.results_dir, '{}_{}_{}.buildlog'.format(pkg_sourcename, - version_noepoch(pkg_version), - osbase.arch)) - save_captured_console_output(log_fname) - # sign the resulting package if sign: r = _sign_result(osbase.results_dir, pkg_sourcename, pkg_version, osbase.arch) -- 2.32.0.rc0