From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7075595997826514944 X-Received: by 2002:ac8:5715:0:b0:2f3:da22:a99e with SMTP id 21-20020ac85715000000b002f3da22a99emr16346679qtw.47.1653316603481; Mon, 23 May 2022 07:36:43 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:622a:4298:b0:2f3:e231:bbfc with SMTP id cr24-20020a05622a429800b002f3e231bbfcls6687176qtb.1.gmail; Mon, 23 May 2022 07:36:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwfo4zVdpBTibFaL92mgtGRIpBkBZvYRfKcwO6H/fcCzHmLxC+T++2/C6/+HVkyOI6HcpyO X-Received: by 2002:ac8:5d8a:0:b0:2f3:dcaa:f1c7 with SMTP id d10-20020ac85d8a000000b002f3dcaaf1c7mr16339764qtx.529.1653316603064; Mon, 23 May 2022 07:36:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653316603; cv=none; d=google.com; s=arc-20160816; b=PzXdjTfy+cz8DBScFAzgSDingJcAxXoABfgKlD1MivZFxskGS8cm1hcJRPnVmr996T u3Yr+09+TfCerLjLY0uv5h4F47wFDKH7C+mZXV7kPaWQdOrTCJJIcbD+ivac6hTlWlE2 Trx+CBnceaO3YbGdqwF0Jh4tNvFVSlzAuX+85J8Sw6wm0UaUr/egp06K34mRKwWphJ6w jKriTr48K/tBn0OrzMNSEo+J2d7nXRFl5jPD1m90Rm7ZU7k5Nc7GL+LL0tmqO7kWujop 1DTZeu+gmq9Zp+oIa8L4I5xHgs+0qJRS5WyUlZkilRAUMEhNcJsBqKr04pv4Bo0Uw68a ByPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=y2WK/CnfjA3fFI4tL0Gr3wYmY9+S2S44S+mgCCZarCY=; b=jLgNLzdMxi20f/arL6oafE3dkG/EWmtnaiNsc4CkWmhQSVsWYXUWkRmzaZMxI9G7H5 5lsk3LkZze4zDkgEWlp/txmmpn39arBEQ1LxXDVldPEr4y354g9XQraBQe9GoOkIqjFy P3Ge9l3BqLr7hx0bVI5ietPIx1Z4b5zIFgQLRNd+zhGj9Bw6LXEPLf/nd7FwVwT9svbY LGwo5u05+DG/44kMG5iZBbnTlgEYTB293EnW5exeAUckmtw6U+esRZQaEREPk/o+DU3/ S7D1jegh0QQ3MR5UJJQYbBRbhMCVZJOUuAtHH7PXxd8GDhO8L0afTZl/iCCmdlIvkJEA J0fQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id k18-20020a05620a415200b006a3268e2857si863133qko.3.2022.05.23.07.36.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 23 May 2022 07:36:43 -0700 (PDT) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from localhost.localdomain (mm-40-50-214-37.mgts.dynamic.pppoe.byfly.by [37.214.50.40] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 24NEaO3b024879 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 23 May 2022 16:36:41 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Uladzimir Bely Subject: [PATCH v11 15/21] sbuild: Fix debsrc_download for packages dependencies Date: Mon, 23 May 2022 17:36:11 +0300 Message-Id: <20220523143617.24759-16-amikan@ilbers.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220523143617.24759-1-amikan@ilbers.de> References: <20220523143617.24759-1-amikan@ilbers.de> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: eYj/H6f/h/Ei From: Uladzimir Bely With sbuild, build deps are internally installed in temporary sbuild environment,so they don't appear in any external dpkg.log files. With "cache-deb-src" base repo feature enabled, these such packages are considered not to belong to current build, so their src packages are not downloaded at image postprocess stage. The patch fixes this by extracting dpkg.log files from the sbuild environment to one common log file. This consolidated log is then used at rootfs_postprocess to get source packages. Signed-off-by: Uladzimir Bely --- meta/classes/deb-dl-dir.bbclass | 4 ++++ meta/classes/dpkg.bbclass | 6 +++++- meta/classes/sbuild.bbclass | 9 +++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/meta/classes/deb-dl-dir.bbclass b/meta/classes/deb-dl-dir.bbclass index 4780228..f479b29 100644 --- a/meta/classes/deb-dl-dir.bbclass +++ b/meta/classes/deb-dl-dir.bbclass @@ -14,6 +14,10 @@ is_not_part_of_current_build() { # build using the below method. local output="$( grep -xhs ".* status installed ${package}:${arch} ${version}" \ "${IMAGE_ROOTFS}"/var/log/dpkg.log \ + "${SCHROOT_HOST_DIR}"/var/log/dpkg.log \ + "${SCHROOT_TARGET_DIR}"/var/log/dpkg.log \ + "${SCHROOT_HOST_DIR}"/tmp/dpkg_common.log \ + "${SCHROOT_TARGET_DIR}"/tmp/dpkg_common.log \ "${BUILDCHROOT_HOST_DIR}"/var/log/dpkg.log \ "${BUILDCHROOT_TARGET_DIR}"/var/log/dpkg.log | head -1 )" diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index d8c4dd8..a0544d5 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -55,7 +55,8 @@ dpkg_runbuild() { deb_dl_dir_import "${WORKDIR}/rootfs" "${distro}" deb_dir="/var/cache/apt/archives" - ext_deb_dir="${PP}/rootfs/${deb_dir}" + ext_root="${PP}/rootfs" + ext_deb_dir="${ext_root}${deb_dir}" if [ ${USE_CCACHE} -eq 1 ]; then schroot_configure_ccache @@ -82,12 +83,15 @@ dpkg_runbuild() { sbuild -A -n -c ${SBUILD_CHROOT} --extra-repository="${ISAR_APT_REPO}" \ --host=${PACKAGE_ARCH} --build=${SBUILD_HOST_ARCH} ${profiles} \ --no-run-lintian --no-run-piuparts --no-run-autopkgtest \ + --chroot-setup-commands="rm -f /var/log/dpkg.log" \ --chroot-setup-commands="cp -n --no-preserve=owner ${ext_deb_dir}/*.deb -t ${deb_dir}/ || :" \ --finished-build-commands="rm -f ${deb_dir}/sbuild-build-depends-main-dummy_*.deb" \ --finished-build-commands="cp -n --no-preserve=owner ${deb_dir}/*.deb -t ${ext_deb_dir}/ || :" \ + --finished-build-commands="cp /var/log/dpkg.log ${ext_root}/dpkg_partial.log" \ --debbuildopts="--source-option=-I" \ --build-dir=${WORKDIR} --dist="isar" ${WORKDIR}/${DSC} + sbuild_dpkg_log_export "${WORKDIR}/rootfs/dpkg_partial.log" deb_dl_dir_export "${WORKDIR}/rootfs" "${distro}" # Cleanup apt artifacts diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass index 7d24c47..a78b15b 100644 --- a/meta/classes/sbuild.bbclass +++ b/meta/classes/sbuild.bbclass @@ -148,3 +148,12 @@ END echo "command-prefix=/ccache/sbuild-setup" >> "${SCHROOT_CONF_FILE}" EOSUDO } + +sbuild_dpkg_log_export() { + export dpkg_partial_log="${1}" + + ( flock 9 + set -e + cat ${dpkg_partial_log} >> ${SCHROOT_DIR}/tmp/dpkg_common.log + ) 9>"${SCHROOT_DIR}/tmp/dpkg_common.log.lock" +} -- 2.17.1