From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7114179385042665472 X-Received: by 2002:a05:6000:1541:b0:219:c96a:3d3b with SMTP id 1-20020a056000154100b00219c96a3d3bmr16470275wry.393.1656398981239; Mon, 27 Jun 2022 23:49:41 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:34c6:b0:3a0:4f27:977f with SMTP id d6-20020a05600c34c600b003a04f27977fls1424560wmq.2.gmail; Mon, 27 Jun 2022 23:49:40 -0700 (PDT) X-Google-Smtp-Source: AGRyM1u3e1f2xNJbY8/LfMk1GnckIz9nHspKJdOfcm/Jpig/9Rf/fME/K2CRIYtPLpG1T6PKt5f8 X-Received: by 2002:a05:600c:2c42:b0:39c:4597:1f74 with SMTP id r2-20020a05600c2c4200b0039c45971f74mr18989403wmg.13.1656398980333; Mon, 27 Jun 2022 23:49:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656398980; cv=none; d=google.com; s=arc-20160816; b=u+kL6iFjxSjbSflKcgf6q/3u11kcWh4G0DBlcq6XLWFNh8dGFT2nwhpqW1cLQviDsm NzhA+aBwV07Sf7RpoiMSRjmcBwFcgzF3aX0JdvFfmsg97kWTFVnwRZFbEfJpiuB1xXjT pfolO575c+A6lWecogurxRw9l1vAv2olKD5N1AuIib7dnv2Ch5h42WTtWiSkFcV7iyZE gJ8K2baM7q45rGbYtx6QrhzO41ClE8BvuGInrUtSkRH6z/x8L+VF077OcLZnGYmP5fSA E/Gbu4ROfj8/cD1ZC1p6OloX0jOjw6hX1AI4bSn3MVKHk9q63unbCoPti9kRMu0qUDs5 yFQg== 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=g3PxU/BlAIrhyUqLppoAqRfbXBKO9VP9XI/OSjL/DB5u3tswvkehg0ZWORX+tquMpj N4TusBx6fKH8jxCjIjLeS1Onqe6RNE75co1Tqpjx9e7q5FPwLnNmgIYbZCnyX4pTbkMK SwNsTuddrUByimkYnCMoRD3EcKXModyMR2XGHRgj4JcR3efXyhBT8yR+K5AkF6gNHVxc 7CO7wh3xhi61MwxpFjyfEc8aIzfVZusJyhV1VI+i6D32nP53rR75AjV8hRiIZoUJzssW 8EQ+JFpzKkEk8sKGJcoS9lSoiOSWV2LqFMLqiph+tQ+iUuluDsHZ3FjrgQuSXXiD8YyJ ADnw== 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 a1-20020a05600c348100b003a0312d8760si69085wmq.2.2022.06.27.23.49.40 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jun 2022 23:49:40 -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-172-27-214-37.mgts.dynamic.pppoe.byfly.by [37.214.27.172] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 25S6nMSJ030758 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 28 Jun 2022 08:49:39 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Uladzimir Bely Subject: [PATCH v12 15/21] sbuild: Fix debsrc_download for packages dependencies Date: Tue, 28 Jun 2022 09:49:07 +0300 Message-Id: <20220628064913.27938-16-amikan@ilbers.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220628064913.27938-1-amikan@ilbers.de> References: <20220628064913.27938-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: unBlAmEA8Wgw 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