From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7075595997826514944 X-Received: by 2002:a05:651c:1506:b0:250:6459:d6d4 with SMTP id e6-20020a05651c150600b002506459d6d4mr9860856ljf.271.1651761600442; Thu, 05 May 2022 07:40:00 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:651c:198d:b0:24f:4fa4:38da with SMTP id bx13-20020a05651c198d00b0024f4fa438dals1115623ljb.4.gmail; Thu, 05 May 2022 07:39:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzA/KhjqGtEhf9u7NQCsH8pyReVUkPUwX8xsr36RM9dF7pV+dVm4mVume+XsOZFYAkxMJhc X-Received: by 2002:a2e:902:0:b0:250:814f:fc1b with SMTP id 2-20020a2e0902000000b00250814ffc1bmr5545379ljj.72.1651761599344; Thu, 05 May 2022 07:39:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651761599; cv=none; d=google.com; s=arc-20160816; b=arIUMwKE1doTnW/9weH3KJC3zZ1anROdjZCDzBtUmk3o7RYJiWQXpg6bho57HTWzDw szHU6LRHXQ8NlB+W8/3F/8e1iGYYdXMWgUCp+aB/Ynj4/72Xj+lkGZg7w3jR8qtthzWi sTWjafGeaLBlpCXqiBFejpnvU1hON1MPksG1rfB+AO1d3b84cho0ghEFsCkOu8A1kwHW IHYNcyp3MpaoiVXe9trje0AetnuIWHl87Xl/eHX6JGmHzAJVSx5Au92HqNY4NAkn66qD x2jYpcILsJ7a3Apk0TlIzwVuM5dzti6yNwuUu9mu18v0MHHrkr4QU968hTn+cfSO828x 3WYw== 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=r/WBCU4tnjHW5FhuLCnv31eNOxmySjR2QnC+8oEUfvk=; b=L/QmBw6oVlxd6nuW0x4hSoDqAyK7kmkXBJrOGVVBdFkennWHN/TgPX/hJ8eAeq16zt sY5ovHloC3d5GTSaczvYBtl25ZiVgly8keD44DvLw5lmPMvHizopbGh7y9f2OSk0Nx0Q mSl+Qo9ijRs8eTDGEFibUW4mMgxyxB+cnX6+RMqZIJkHcaNi5Pp1WBP2hiVv2C80uTBr xojCDymz3dWanVRaHuHFgs4ItNJeBFd9P4Syo5rEnVR8usf03p5zv9U2m7tEQAnmg+jY aKYy/YG6WjOsVkXy52yC1YDZkEYkIFKzHGJABIciS1FqO5UOzJ6u7b8pZm9i635I6kD2 hEpQ== 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 h13-20020a2e900d000000b0024da01a8c6dsi81139ljg.1.2022.05.05.07.39.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 05 May 2022 07:39:59 -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-0-74-214-37.mgts.dynamic.pppoe.byfly.by [37.214.74.0] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 245Edf7h014026 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 5 May 2022 16:39:58 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: adriaan.schmidt@siemens.com, Uladzimir Bely Subject: [PATCH v10 15/19] sbuild: Fix debsrc_download for packages dependencies Date: Thu, 5 May 2022 17:39:30 +0300 Message-Id: <20220505143934.16096-16-amikan@ilbers.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220505143934.16096-1-amikan@ilbers.de> References: <20220505143934.16096-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: kRc8VrhH6OR6 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 eace510..b74018f 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 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