From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7075595997826514944 X-Received: by 2002:a05:651c:1a08:b0:247:eb0d:6c0d with SMTP id by8-20020a05651c1a0800b00247eb0d6c0dmr19789254ljb.166.1647415582050; Wed, 16 Mar 2022 00:26:22 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:3f8e:b0:448:2012:773d with SMTP id x14-20020a0565123f8e00b004482012773dls708818lfa.3.gmail; Wed, 16 Mar 2022 00:26:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzj+udsR6qKgc74ANwqq4qJ8zYt38sSt1hKny86l0NsTza5FDgLkx0KVx7G5VeCjLKki8Qq X-Received: by 2002:ac2:44a5:0:b0:448:27fb:f11b with SMTP id c5-20020ac244a5000000b0044827fbf11bmr19857567lfm.72.1647415581130; Wed, 16 Mar 2022 00:26:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647415581; cv=none; d=google.com; s=arc-20160816; b=vWVxx6dJ9gyznNB06xfFCXDcYvGEgcpBrowUVEDrPRMtFVhhbUFnogoPZi7CwVArzo smhY9gvAQZv0DoteGL0HaduNNKE+ImAzmfafnPlPk1lzdd/2tmaNUxmMe3OIpSC38DbQ vcHgP1MCzbOhZvUu1vfOx4rTiR4GHwtuep8YIaZE/4FVJy6L952xXDI13s0WGNmWc4Do +oJ/F4NtIyCFg1UQsu6XdUJzaQJhMXUe0iKmS3hxsSkf6yIhsuKO9NXLNh+XisFDdE6X Njcm+MNWO5OksUdwH+N2vtKIy360E1aHYItxvED2CEvLrNJRPuT1ZBYlUDmpXsa3FG5z N3Ug== 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=BUUxpIB9X/1rE1ZcpKiqbGtp5PO/Xr1dfllgIh9bJXD1HAJ3YA+fqvbwwg/6JvJHVr UUXQ2up+cicx0HgFT8AjlrggxwH3Lq4m+Bf+wW7ECnWx5bBEjYO03lh0nUil1hjD07Ov gB1YUF3jXJ1ryz5KS13OOYnf/dyZFIUz00+KEaji0QYvsTwapocKwibRZ/aAmz0CmhU6 qsMtZ6Wqp+8RilbLadfF7C0oisiBY7U4bxCCrzEzrAisUx7erFjjMfKmbnSgZsAD1Qhi NfPMaX212TEAE+GCUMbMZzPNN2RE8tbaHxUrPf3IFKeCJjkLxWgqVkQs6vLnIqHxJ7de XXSw== 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 i25-20020a0565123e1900b00448391a7e7bsi63709lfv.6.2022.03.16.00.26.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 16 Mar 2022 00:26:21 -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 22G7Q7dt021517 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 16 Mar 2022 08:26:20 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v8 15/15] sbuild: Fix debsrc_download for packages dependencies Date: Wed, 16 Mar 2022 08:26:07 +0100 Message-Id: <20220316072607.20518-16-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20220316072607.20518-1-ubely@ilbers.de> References: <20220316072607.20518-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: ORTLdVmYYloc 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