From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7075595997826514944 X-Received: by 2002:a05:6512:1690:b0:448:2372:3e3e with SMTP id bu16-20020a056512169000b0044823723e3emr1749634lfb.324.1647492628326; Wed, 16 Mar 2022 21:50:28 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:1693:b0:448:3742:2320 with SMTP id bu19-20020a056512169300b0044837422320ls2950157lfb.1.gmail; Wed, 16 Mar 2022 21:50:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzQlitof2gz9uswlJc5eXtENPLEnVKf4SAGF84uiHx+W6vLDWTUsBzdFo/efiae85cxsg68 X-Received: by 2002:ac2:41c4:0:b0:445:9a7c:b76f with SMTP id d4-20020ac241c4000000b004459a7cb76fmr1622465lfi.497.1647492627414; Wed, 16 Mar 2022 21:50:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647492627; cv=none; d=google.com; s=arc-20160816; b=OQbtSBsjWpWdT17/cd/zKuvjLOe7F8l6+wtauywsZRIfvwybmheyXl3dLHV+8w3ssV I46Y+CMfhBVucI6Y9rJdj1QMQWlcQNB5u2MHwUWqJ3E8O/mRxApVpo1zKXxEcs3H+XTj lP8rS72/umZllOyfemNkZZahsmIGJSGNav/7Jukkh8X17lJBHrW2tckHi50GmeGXD/J2 7QvTz28gTxzDD97s1MDDy6EFgPytBTcIJcw0efV3cI/hlFKusYOkxgxIsYGgraalLrjs KwJSSL5xZ01Fwkl44pINbSBVmgelWvkhoJOG7Y4v29/riEoZ8NL9v/6FQx8aI2tr6EFR fFJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=7HZ0DjSB1Bp+svAB1weiRolQ3vAcJ1RuWru+px4WIBk=; b=W3YztEuMhwcA+2SApC8khWQ3RAf18HkrntmHVSHfC3MVWlU5A9tmYS2FdMfA/Ktdgc 7YhFzdWj5sWJqCpUzd4xSWB7Hvna2+l4/n4Zx91vW4XinMpwYOQBCKOiHAb/3VXUV3gW l36uvizQjK45Lhm3DwrlOto+zQag5tPUEgaMjx3twUqOp+XbGnmMmtDpix7eJjr2N9Wm MU46jIGA+Kec8WuoyuaMxkze6WHi64NwKT7OTj4qh/kXn6WnOnGXoIAVeSi86Qm+gyP8 vCLQ1y6WbI1MuECTMEmcRthDB7VmZ7RsY5/pcRdmNoMLrcqzfqik3Eheihn2u+Rhg16B qBrQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id p16-20020a2e9ad0000000b00247f6f7df5esi266499ljj.7.2022.03.16.21.50.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 16 Mar 2022 21:50:27 -0700 (PDT) Received-SPF: pass (google.com: domain of ubely@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 ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Received: from baighyz.m.ilbers.de (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 22H4oLHm025716 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 17 Mar 2022 05:50:26 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v8 15/16] sbuild: Fix debsrc_download for packages dependencies Date: Thu, 17 Mar 2022 05:50:20 +0100 Message-Id: <20220317045021.4018-16-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20220317045021.4018-1-ubely@ilbers.de> References: <20220317045021.4018-1-ubely@ilbers.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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: ScOjnVq/Fz3G 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 f49f1c2a..484fda69 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 -hs "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 126a4ee4..9b9de236 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="/home/builder/${PN}/rootfs/${deb_dir}" + ext_root="/home/builder/${PN}/rootfs" + ext_deb_dir="${ext_root}/${deb_dir}" if [ ${USE_CCACHE} -eq 1 ]; then schroot_configure_ccache @@ -82,11 +83,14 @@ 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}" } diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass index 7a732da5..760a0203 100644 --- a/meta/classes/sbuild.bbclass +++ b/meta/classes/sbuild.bbclass @@ -200,3 +200,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.20.1